Pythia Sentinel is self-hosted. You package your codebase once, deploy it into your cluster, and start submitting incidents. Nothing leaves your infrastructure.
The packager indexes your source code, architecture docs, and runbooks into a local vector store — so Pythia Sentinel understands your specific services. This runs once; re-run it after significant code changes.
# Copy and edit the example config cp setup.example.yaml setup.yaml # Set source_root, the LLM backend, and kubernetes.target_namespace python pythia_setup_cli.py --config setup.yaml
This produces a pythia-deploy/ directory containing the Docker image, Kubernetes manifests, and packaged knowledge base.
One script imports the image into your cluster, applies the manifests, and starts the server.
./redeploy.sh \ --tar ./pythia-deploy/pythia-server.tar \ --k8s-dir ./pythia-deploy/k8s
Pythia Sentinel is now running at http://localhost:30808 (or the NodePort you configured). The Swagger UI lives at /docs.
Send a raw error, an alert, a log line — or a plain-English symptom. Pythia Sentinel returns a session ID immediately and investigates in the background.
curl -X POST http://localhost:30808/api/v1/pipeline/submit \ -H "Content-Type: application/json" \ -d '{ "raw_error_text": "<paste your error, alert, or symptom here>", "incident_timestamp": "2026-01-15T14:30:00Z" }' # Returns: {"session_id": "..."}
Poll for the result. A complete investigation typically takes 2–5 minutes depending on the number of services in scope and your LLM backend.
curl http://localhost:30808/api/v1/pipeline/result/<session_id>
You get back the root-cause verdict, the fault category, a confidence score, and — when the fault is infrastructure — a safe, reversible workaround.
No code instrumentation required. Pythia Sentinel reads your existing Kubernetes manifests, pod logs, and cluster state — no SDK, no sidecars, no per-language agents. Curious what happens between submit and verdict? Follow an incident through all seven phases →