You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Automated Load Testing Platform for Kubernetes + JMeter + AI
LoadPilot helps you find the optimal pod configuration for your Kubernetes workloads by testing different CPU/memory/replica combinations. It supports JMeter test plans and uses AI (Ollama) to provide intelligent recommendations.
Features
Feature
Description
Matrix Testing
Test all CPU/memory/replica combinations to find optimal K8s config
JMX Testing
Execute existing JMeter test plans (.jmx files)
AI Testing
Interactive tests with real-time AI-powered recommendations
Example 1: Find Optimal Kubernetes Config (Matrix Testing)
# Create a test that tries all combinations of CPU/RAM/replicas
curl -X POST http://localhost:8000/api/tests \
-H "Content-Type: application/json" \
-d '{ "name": "api-gateway", "cloud_provider": "aws", "region": "us-east-1", "resource_config": { "cpu_min": 250, "cpu_max": 2000, "cpu_step": 250, "memory_min": 256, "memory_max": 4096, "memory_step": 512 }, "replica_config": { "min": 1, "max": 5 } }'# Run the test
curl -X POST http://localhost:8000/api/tests/<TEST_ID>/run
# Get results
curl http://localhost:8000/api/tests/<TEST_ID>
Example 2: Run JMeter Test Plan (JMX Testing)
# Upload and run a JMeter .jmx file
curl -X POST http://localhost:8000/api/tests/jmx \
-F "name=api-load-test" \
-F "cloud_provider=aws" \
-F "threads=100" \
-F "ramp_up=30" \
-F "duration=120" \
-F "jmx_file=@/path/to/test.jmx"# Run the test
curl -X POST http://localhost:8000/api/tests/<TEST_ID>/run-jmx
# Get results
curl http://localhost:8000/api/tests/<TEST_ID>
Example 3: Interactive Test with AI (Ollama)
# Start Ollama (in separate terminal)
ollama serve
ollama pull llama3.2
# Check if Ollama is available
curl http://localhost:8000/api/ai/check
# Start an interactive load test
curl -X POST http://localhost:8000/api/load-test/start \
-F "name=interactive-test" \
-F "threads=50" \
-F "duration=300" \
-F "jmx_file=@/path/to/test.jmx"# Monitor status
curl http://localhost:8000/api/load-test/<TEST_ID>/status
# Increase load by 25%
curl -X POST http://localhost:8000/api/load-test/<TEST_ID>/increase
# Decrease load by 50%
curl -X POST http://localhost:8000/api/load-test/<TEST_ID>/decrease?percent=50
# Scale to specific threads
curl -X POST "http://localhost:8000/api/load-test/<TEST_ID>/scale?threads=200"# Get AI recommendation based on current results
curl -X POST http://localhost:8000/api/load-test/<TEST_ID>/ai-decide
# Pause the test
curl -X POST http://localhost:8000/api/load-test/<TEST_ID>/pause
# Resume the test
curl -X POST http://localhost:8000/api/load-test/<TEST_ID>/resume
# Stop the test
curl -X POST http://localhost:8000/api/load-test/<TEST_ID>/stop
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.ai/install.sh | sh
# Start Ollama
ollama serve
# Pull a model
ollama pull llama3.2
Example 4: Kubernetes Integration
# Connect to Kubernetes cluster (uses kubeconfig or in-cluster config)
curl -X POST "http://localhost:8000/api/k8s/connect?namespace=default"# Check connection status
curl http://localhost:8000/api/k8s/status
# Deploy test pods with specific configuration
curl -X POST "http://localhost:8000/api/k8s/deploy?name=load-test&cpu_millicores=500&memory_mb=512&replicas=2&image=nginx&namespace=default"# List all LoadPilot deployments
curl http://localhost:8000/api/k8s/deployments
# Scale a deployment (replace DEPLOYMENT_ID)
curl -X POST "http://localhost:8000/api/k8s/deployments/DEPLOYMENT_ID/scale?replicas=4"# Get cluster metrics
curl "http://localhost:8000/api/k8s/metrics?namespace=default"# Delete a deployment
curl -X DELETE "http://localhost:8000/api/k8s/deployments/DEPLOYMENT_ID"# Disconnect from cluster
curl -X POST http://localhost:8000/api/k8s/disconnect
# Default kubeconfig (~/.kube/config)
kubectl config get-contexts
# For specific cluster
kubectl config use-context my-cluster
Roadmap
Matrix testing (CPU/RAM/Replicas)
JMX file execution
AI recommendations (Ollama)
Test controls (stop/start/scale)
Real Kubernetes integration
CI/CD pipeline hooks
GitOps output (Helm/Kustomize)
Historical trend analysis
Slack/Teams notifications
License
MIT
About
LoadPilot helps you find the optimal pod configuration for your Kubernetes workloads by testing different CPU/memory/replica combinations. It supports JMeter test plans and uses AI (Ollama) to provide intelligent recommendations.