Getting Started

Up and running in
four steps

Pythia Sentinel is self-hosted. You package your codebase once, deploy it into your cluster, and start submitting incidents. Nothing leaves your infrastructure.

Before you begin

1

Package your codebase

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.

bash
# 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.

2

Deploy to your cluster

One script imports the image into your cluster, applies the manifests, and starts the server.

bash
./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.

3

Submit an incident

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.

bash
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": "..."}
4

Get the verdict

Poll for the result. A complete investigation typically takes 2–5 minutes depending on the number of services in scope and your LLM backend.

bash
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 →

Ready to try it on your cluster?