Automatically turn Kubernetes failures into actionable issues and AI-assisted fixes.
Court reduces the time between failure detection and fix delivery by catching runtime signals, structuring them as incidents, and routing them directly to your codebase.
When something fails in your cluster, Court:
- captures context from
kubectl describeand logs - build a structured
IncidentReport - routes it to the correct repository
- creates a ready-to-use issue in your VCS
- enables possibility to AI-assisted fixes (e.g. via GitHub Copilot or other agents)
From failure to fix in a single flow.
-
Create namespace
kubectl create namespace court
-
Create VCS token secret
Court creates issues in your GitHub repository.
You must provide a token with issues read/write permissions.
kubectl create secret generic vcs-tokens \ --from-literal=GITHUB_TOKEN=<github_pat_...> \ -n court
-
Helm
helm repo add court https://ghdrope.github.io/court helm repo update helm install court court/court --namespace court
For your first steps, use the official examples repository.
It is built around the following components:
- Officer -> detects problems inside the cluster
- Docket -> redis event bus
- Court -> processes incidents and drives resolution
- Archive -> postgreSQL persistence layer
Court turns runtime signals into:
- structured incidents
- tracked lifecycles (Suits)
- actionable VCS issues
Instead of manually debugging, copying logs, and opening issues, Court does it automatically.
Represents a failure detected in the cluster.
Built from:
- Pod metadata
- K8s events
- container logs, events, and signals
Tracks the lifecycle of an incident.
States:
openclosed
A Suit:
- references an Incident
- links to VCS issue
- reflects real system state
- A Pod fails
- Officer detects the failure
- Context is collected
- Incident Report is created and persisted
- Event is sent through Docket (redis)
- Court processes it
- A VCS issue is created
- Developers (or AI agents) act on it
- When resolved -> Suit and issue are closed
Court determines where to open an issue:
-
Pod annotation
court.dev/repository: https://github.com/org/repo
-
OCI image label
org.opencontainers.image.source=https://github.com/org/repo
If neither is present, the incident is ignored.
Feedback is welcome via Issues and Discussions.
This project is in an early stage ideas, experiments, and contributions can have a real impact.
Licensed under the Apache License 2.0.
Thank you ! 👩⚖️👨⚖️