Production-Ready GitOps Demo 🎪 Complete Kubernetes + ArgoCD workflow for AI agent platform deployment
Deploy AI Agents with GitOps in Under 8 Minutes (Complete End-to-End Demo)
This repository demonstrates a complete GitOps workflow for deploying an AI agent platform using:
- Kind - Local Kubernetes cluster for development
- ArgoCD - GitOps continuous delivery
- Helm - Kubernetes package management
- Kagent - AI Agent platform with OpenAI integration
- Model Context Protocol (MCP) - AI tool integration framework
Perfect for learning GitOps principles, Kubernetes deployments, and AI agent architectures!
# 1. Install prerequisites
make install-tools
# 2. Create Kind cluster
make create-cluster
# 3. Configure environment
make env-template
# Edit .env file with your OPENAI_API_KEY
# 4. Deploy everything
make setup
# 5. Access the services
# ArgoCD: https://localhost:8080
# Kagent UI: http://localhost:8090# macOS (using Homebrew)
brew install kubectl argocd helm kind podman-
OpenAI API Key (Required)
- Get from: https://platform.openai.com/api-keys
- Add to
.envfile asOPENAI_API_KEY=sk-...
-
CA Bundle (Optional, for corporate environments)
- Set
CA_BUNDLE_PATHin.envif you need custom certificates
- Set
argo-kagent/
├── 📄 Makefile # Build automation
├── 🚀 setup-kagent.sh # Main setup script
├── 📝 .env.template # Environment configuration
├── 📂 argocd/ # ArgoCD application definitions
├── 📂 kagent-crds/ # Kagent Custom Resource Definitions
└── 📂 kagent/ # Main Kagent Helm chart
Environment Variables (.env file):
# Required: OpenAI API Key for AI functionality
OPENAI_API_KEY="sk-proj-your-openai-api-key-here"
# Optional: Kind cluster name (default: kagent-demo)
KIND_CLUSTER_NAME="kagent-demo"
# Optional: Custom CA certificate bundle path
# CA_BUNDLE_PATH="/path/to/your/ca-bundle.crt"After successful setup:
| Service | URL | Purpose | Credentials |
|---|---|---|---|
| 🏗️ ArgoCD | https://localhost:8080 | GitOps Dashboard | admin / auto-generated |
| 🤖 Kagent UI | http://localhost:8090 | AI Agent Interface | No authentication |
Get ArgoCD password:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -dmake help # Show all available commands
make install-tools # Install required tools (macOS)
make create-cluster # Create Kind cluster
make setup # Deploy Kagent with ArgoCD
make status # Check service status
make teardown # Remove Kagent (keep cluster)
make clean # Clean up and delete cluster| Issue | Solution |
|---|---|
| 🔴 ArgoCD not ready | Wait longer, check kubectl get pods -n argocd |
| 🔴 OpenAI API errors | Verify OPENAI_API_KEY in .env file |
| 🔴 Certificate errors | Set CA_BUNDLE_PATH and use ./setup-kagent.sh --initial |
| 🔴 Port conflicts | Run make clean to kill existing port-forwards |
# Check status
make status
# Check applications
kubectl get applications -n argocd
kubectl get pods -n kagent
# Force sync
argocd app sync kagent --force- ✅ GitOps Best Practices - Infrastructure as Code
- ✅ Kubernetes Native - Custom Resources and Operators
- ✅ AI Integration - OpenAI-powered agents with MCP
- ✅ Production Ready - Helm charts, proper RBAC, health checks
- ✅ Developer Friendly - One-command setup
- ArgoCD Documentation
- Kubernetes Documentation
- Helm Documentation
- Kind Documentation
- GitOps Principles
Made with ❤️ for the Kubernetes and GitOps community
Perfect for learning, demos, and production deployments! 🎪