On this page
Getting started
Aqweth runs in a dedicated namespace on your existing Kubernetes cluster. It never touches production workloads directly and connects to observability systems via read-only credentials only.
Read-only
Queries logs, metrics, and traces. Never writes to production systems.
Own namespace
Isolated from your workloads by Kubernetes namespace boundaries.
Human-gated
Every suggested action requires explicit engineer approval.
Prerequisites
Track A · Cloud LLM
recommended- · kubectl configured against the target cluster
- · Helm 3.x
- · GitHub PAT with read:packages scope
Track B · Self-hosted LLM
- · Everything in Track A
- · GPU nodes — A10G (24 GB VRAM) minimum
- · Ollama or vLLM reachable from aqweth namespace
- · LiteLLM gateway fronting the inference server
Setup wizard
The interactive wizard validates every backend connection before writing aqweth.yaml and emits kubectl commands in next-steps.md.
# Install the CLI pip install aqweth-cli # Run the interactive wizard aqweth init # With a profile preset aqweth init --profile aws # or: --profile gcp / k8s / local # Re-validate without re-running the wizard aqweth validate --config aqweth.yaml
Configuration
All configuration lives in aqweth.yaml. Use ${ENV_VAR} notation for secrets — values are resolved from environment at startup and never stored in the config file.
Deployment
Aqweth ships as an OCI Helm chart on GHCR. Four steps to first investigation.
Create GHCR pull secret
kubectl create namespace aqweth kubectl create secret docker-registry ghcr-pull-secret \ --docker-server=ghcr.io \ --docker-username=YOUR_GITHUB_USERNAME \ --docker-password=YOUR_GHCR_PAT \ --namespace aqweth
Run aqweth init
See Setup wizard above — the wizard validates every backend before writing aqweth.yaml and emits kubectl commands in next-steps.md.
Helm install
helm install aqweth oci://ghcr.io/justjk/charts/aqweth \ --version 0.1.0 \ --namespace aqweth --create-namespace \ -f aqweth.yaml
Verify
kubectl get pods -n aqweth aqweth validate --config aqweth.yaml
Backend reference
Each category maps to one or more fetch nodes. Only one backend per category is active at a time — configured in aqweth.yaml.
LLM roles
Every agent role is independently configurable via llm.roles in aqweth.yaml. Mix self-hosted and cloud providers freely — one line per role.
llm:
gateway_url: http://litellm.internal:4000
api_key: ${LITELLM_API_KEY}
roles:
triage: qwen3-4b-instruct
primary: claude-sonnet-4-6
deep_rca: claude-opus-4-7
coder: qwen3-coder-next
embedder: bge-m3 Troubleshooting
RCA quality is low despite successful investigations.
Set agent.deployment_context in aqweth.yaml — a 200–500 token description of your services, stack, and known failure patterns. This is injected into every synthesiser prompt and has the highest impact on RCA quality.
fetch_runbooks and fetch_similar_rcas return empty results.
These nodes require Qdrant. Set QDRANT_URL in your aqweth-secrets Kubernetes secret. Without it, investigations still complete on live evidence — they just lack historical RCA context and runbook retrieval.
The Approve button in Slack does nothing.
JIRA_URL and JIRA_API_TOKEN must be set in aqweth-secrets. Without them, the human_review interrupt fires correctly but ticket creation is disabled.