with one click
kind-cluster
// Manage Kind clusters for local Kagenti testing. Create, destroy, deploy platform, and run E2E tests.
// Manage Kind clusters for local Kagenti testing. Create, destroy, deploy platform, and run E2E tests.
Full release lifecycle for Kagenti — alpha, RC iteration loop, GA, and patch releases with multi-repo coordination
TDD iteration loop across 4 environments (local Kind, custom HyperShift, CI Kind, CI HyperShift) with test matrix tracking and log analysis
Create and manage git worktrees for parallel development and testing
Deploy and manage Kagenti operator, agents, and tools on Kubernetes. Handles installer, CRDs, pipelines, and demo deployments.
Deploy the weather agent and MCP tool demo via CLI (no UI required). Uses pre-built ghcr.io images, deploys to team1. Optimized for speed (~15s).
Run full end-to-end test workflows for Kagenti. Supports Kind and HyperShift clusters with automated setup and testing.
| name | kind:cluster |
| description | Manage Kind clusters for local Kagenti testing. Create, destroy, deploy platform, and run E2E tests. |
Manage Kind (Kubernetes in Docker) clusters for local Kagenti development and testing.
# Full workflow: create cluster -> deploy platform -> run tests
./.github/scripts/local-setup/kind-full-test.sh
# Create with default name (kagenti)
./.github/scripts/kind/create-cluster.sh
# Create with custom name
./.github/scripts/kind/create-cluster.sh my-cluster
# Or with environment variable
CLUSTER_NAME=my-cluster ./.github/scripts/kind/create-cluster.sh
# Destroy cluster by name
./.github/scripts/kind/destroy-cluster.sh
# Destroy specific cluster
./.github/scripts/kind/destroy-cluster.sh my-cluster
# Deploy full Kagenti platform to existing cluster
./.github/scripts/kind/deploy-platform.sh
This deploys:
# Run E2E tests against deployed platform
./.github/scripts/kind/run-e2e-tests.sh
Tests include:
# Show access information and port-forward commands
./.github/scripts/kind/access-ui.sh
Then run the suggested command and visit:
# Full test: create -> deploy -> test (keeps cluster)
./.github/scripts/local-setup/kind-full-test.sh
# Destroy cluster after test
./.github/scripts/local-setup/kind-full-test.sh --include-cluster-destroy
# 1. Create cluster
./.github/scripts/kind/create-cluster.sh
# 2. Deploy platform (~15-20 minutes)
./.github/scripts/kind/deploy-platform.sh
# 3. Run tests
./.github/scripts/kind/run-e2e-tests.sh
# 4. Access UI
./.github/scripts/kind/access-ui.sh
brew install kindbrew install kubectlbrew install helmDefault Kind config: scripts/kind/kind-config-registry.yaml
Custom config:
KIND_CONFIG=/path/to/config.yaml ./.github/scripts/kind/create-cluster.sh
| Variable | Default | Description |
|---|---|---|
CLUSTER_NAME | kagenti | Kind cluster name |
KIND_CONFIG | kind-config-registry.yaml | Kind configuration file |
SKIP_OLLAMA | false | Skip Ollama installation |
SKIP_AGENTS | false | Skip agent deployment |
# List clusters
kind get clusters
# Check nodes
kubectl get nodes
# Check all pods
kubectl get pods -A
# Agent logs
kubectl logs -n team1 deployment/weather-service --tail=100 -f
# Tool logs
kubectl logs -n team1 deployment/weather-tool --tail=100 -f
# Platform operator
kubectl logs -n kagenti-system deployment/kagenti-platform-operator --tail=100 -f
kubectl get events -A --sort-by='.lastTimestamp' | tail -50
# Check if running
ps aux | grep ollama
# List models
ollama list
# Test API
curl http://localhost:11434/api/tags
# Check Docker resources
docker info | grep -E "CPUs|Total Memory"
# Increase Docker Desktop resources to 12GB+ RAM, 4+ CPUs
# Check pod status
kubectl get pods -A | grep -v Running
# Check events
kubectl get events -A --sort-by='.lastTimestamp' | tail -30
# Retry
./.github/scripts/kind/destroy-cluster.sh
./.github/scripts/kind/create-cluster.sh
./.github/scripts/kind/deploy-platform.sh
# Check agent health
kubectl get pods -n team1
# View agent logs
kubectl logs -n team1 deployment/weather-service --tail=100
# Check Ollama
ollama list | grep qwen
# Check gateway pod
kubectl get pods -n kagenti-system -l app=http-istio
# Restart port-forward
kubectl port-forward -n kagenti-system svc/http-istio 8080:80
.github/scripts/local-setup/README.md - Local setup documentationdeployments/README.md - Deployment guide