Agent skill
local:testing
Test Kagenti platform locally using Kind. Scripts for deploy, test, and access.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/local-testing
SKILL.md
Local Testing Skill
This skill helps you test Kagenti platform locally using Kind (Kubernetes in Docker).
Overview
The local-testing/ directory contains scripts that mirror the GitHub Actions CI workflow, allowing you to:
- Deploy the full Kagenti platform locally
- Run E2E tests with Ollama LLM integration
- Access the Kagenti UI and services
- Debug agent and tool deployments
Prerequisites
Ensure you have:
- Docker Desktop/Rancher Desktop/Podman (12GB RAM, 4 cores minimum)
- Kind, kubectl, helm installed
- Python 3.11+ with uv
- jq for JSON parsing
Available Scripts
1. Cleanup Cluster
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.
2. Deploy Platform
Deploys the full Kagenti platform (takes ~15-20 minutes):
./local-testing/deploy-platform.sh
This script:
- Creates Kind cluster via Ansible installer
- Deploys all platform components (Keycloak, PostgreSQL, Istio, SPIRE)
- Installs Ollama and pulls qwen2.5:0.5b model
- Deploys weather agent and tool
3. Run E2E Tests
Runs the E2E test suite:
./local-testing/run-e2e-tests.sh
Validates:
- Platform deployment health
- Agent conversation via A2A protocol
- Ollama LLM integration
- MCP tool invocation
4. Access UI
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
Typical Workflow
Full Redeploy and Test
# 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
Quick Test Iteration
If platform is already deployed and you just want to rerun tests:
./local-testing/run-e2e-tests.sh
Development Cycle
- Make code changes
- Run
./local-testing/deploy-platform.shto redeploy - Run
./local-testing/run-e2e-tests.shto validate - Use
./local-testing/access-ui.shto get UI access
Debugging Commands
View Logs
# 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
Check Pod Status
# All pods
kubectl get pods -A
# Specific namespace
kubectl get all -n team1
kubectl get all -n kagenti-system
View Events
# 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
Ollama Status
# Check if running
ps aux | grep ollama
# Check models
ollama list
# Test directly
curl http://localhost:11434/api/tags
Troubleshooting
Platform Not Ready
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
Test Failures
If E2E tests fail:
- Check agent logs:
kubectl logs -n team1 deployment/weather-service --tail=100 - Check tool logs:
kubectl logs -n team1 deployment/weather-tool --tail=100 - Verify Ollama is running:
ps aux | grep ollama - Check Ollama has model:
ollama list | grep qwen2.5
UI Access Issues
If UI doesn't load:
- Verify pod is running:
kubectl get pods -n kagenti-system -l app=kagenti-ui - Check Istio gateway:
kubectl get pods -n kagenti-system -l app=http-istio - Restart port-forward:
kubectl port-forward -n kagenti-system svc/http-istio 8080:80
Notes
- These scripts are for local development only (not committed to repo)
- Scripts are in
.gitignoreto avoid accidental commits - Deployment uses same Ansible installer as CI
- Cluster name is
kagenti(matches CI workflow) - Secrets used are test values (not production)
Files Location
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 documentation
Related Skills
local:full-test- Complete test workflows for Kind and HyperShiftkind:cluster- Create/destroy Kind clusterskagenti:deploy- Deploy platform
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?