Skip to content

papagala/argo-kagent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Kagent GitOps Demo with ArgoCD

Production-Ready GitOps Demo 🎪 Complete Kubernetes + ArgoCD workflow for AI agent platform deployment

🎬 Watch the Demo

Deploy AI Agents with GitOps in Under 8 Minutes (Complete End-to-End Demo)

YouTube Demo

Kubernetes ArgoCD Helm OpenAI

🎯 What This Demo Shows

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!

🌟 Quick Start

# 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

📋 Prerequisites

Required Tools

# macOS (using Homebrew)
brew install kubectl argocd helm kind podman

Required Configuration

  1. OpenAI API Key (Required)

  2. CA Bundle (Optional, for corporate environments)

    • Set CA_BUNDLE_PATH in .env if you need custom certificates

📁 Repository Structure

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

🔧 Configuration

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"

🌍 Access Points

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 -d

📊 Available Commands

make 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

🆘 Troubleshooting

Common Issues

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

Debug Commands

# Check status
make status

# Check applications
kubectl get applications -n argocd
kubectl get pods -n kagent

# Force sync
argocd app sync kagent --force

🌟 Key Benefits

  • 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

📚 Learning Resources


Made with ❤️ for the Kubernetes and GitOps community

Perfect for learning, demos, and production deployments! 🎪

About

This repository is aimed at deployment of Kagent via ArgoCD to show the true K8s native capabilities of Kagent.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors