with one click
local-testing
// Test Kagenti platform locally using Kind. Scripts for deploy, test, and access.
// Test Kagenti platform locally using Kind. Scripts for deploy, test, and access.
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).
Manage Kind clusters for local Kagenti testing. Create, destroy, deploy platform, and run E2E tests.
| name | local:testing |
| description | Test Kagenti platform locally using Kind. Scripts for deploy, test, and access. |
This skill helps you test Kagenti platform locally using Kind (Kubernetes in Docker).
The local-testing/ directory contains scripts that mirror the GitHub Actions CI workflow, allowing you to:
Ensure you have:
Wipes the existing Kind cluster completely:
./local-testing/cleanup-cluster.sh
Use this when you want a fresh start or cluster is in a bad state.
Deploys the full Kagenti platform (takes ~15-20 minutes):
./local-testing/deploy-platform.sh
This script:
Runs the E2E test suite:
./local-testing/run-e2e-tests.sh
Validates:
Shows access information and port-forward commands:
./local-testing/access-ui.sh
Then run the suggested command:
kubectl port-forward -n kagenti-system svc/http-istio 8080:80
Visit: http://kagenti-ui.localtest.me:8080
# 1. Clean up existing cluster
./local-testing/cleanup-cluster.sh
# 2. Deploy platform (wait ~15-20 minutes)
./local-testing/deploy-platform.sh
# 3. Run E2E tests
./local-testing/run-e2e-tests.sh
# 4. Access UI
./local-testing/access-ui.sh
If platform is already deployed and you just want to rerun tests:
./local-testing/run-e2e-tests.sh
./local-testing/deploy-platform.sh to redeploy./local-testing/run-e2e-tests.sh to validate./local-testing/access-ui.sh to get UI access# 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
# All pods
kubectl get pods -A
# Specific namespace
kubectl get all -n team1
kubectl get all -n kagenti-system
# Recent events in team1 namespace
kubectl get events -n team1 --sort-by='.lastTimestamp' | tail -30
# All events
kubectl get events -A --sort-by='.lastTimestamp' | tail -50
# Check if running
ps aux | grep ollama
# Check models
ollama list
# Test directly
curl http://localhost:11434/api/tags
If deployment times out or components aren't ready:
# Check pod status
kubectl get pods -A
# Check recent events
kubectl get events -A --sort-by='.lastTimestamp' | tail -50
# Retry deployment
./local-testing/cleanup-cluster.sh
./local-testing/deploy-platform.sh
If E2E tests fail:
kubectl logs -n team1 deployment/weather-service --tail=100kubectl logs -n team1 deployment/weather-tool --tail=100ps aux | grep ollamaollama list | grep qwen2.5If UI doesn't load:
kubectl get pods -n kagenti-system -l app=kagenti-uikubectl get pods -n kagenti-system -l app=http-istiokubectl port-forward -n kagenti-system svc/http-istio 8080:80.gitignore to avoid accidental commitskagenti (matches CI workflow)All scripts are in: local-testing/
cleanup-cluster.sh - Wipe clusterdeploy-platform.sh - Deploy platformrun-e2e-tests.sh - Run testsaccess-ui.sh - Access informationREADME.md - Full documentationlocal:full-test - Complete test workflows for Kind and HyperShiftkind:cluster - Create/destroy Kind clusterskagenti:deploy - Deploy platform