AI-powered Kubernetes pod diagnostics using Spring AI + Claude/OpenRouter.
ops-insights/
├── src/ # Spring Boot app
└── frontend/ # React + Vite app
- Java 21+
- Node 20+
- kubectl configured (
~/.kube/config) - OpenRouter API key
cd backend
export OPENROUTER_API_KEY=your_key_here
./mvnw spring-boot:runcd frontend
npm install
npm run dev| Method | Path | Description |
|---|---|---|
| POST | /api/diagnose |
Run AI diagnosis |
| GET | /api/k8s/namespaces |
List namespaces |
| GET | /api/k8s/pods?namespace= |
List pods |
| GET | /api/k8s/containers?namespace=&podName= |
List containers |
| GET | /api/k8s/logs?namespace=&podName=&tailLines=&containerName= |
Fetch logs |
| GET | /api/k8s/events?namespace=&podName= |
Fetch events |
- AI diagnosis with tool calling (pod status, logs, events, deployment config)
- Log sanitization (redacts passwords, tokens, API keys, emails)
- Audit trail written to
logs/audit.log - Namespace → Pod → Container cascading dropdowns