Change Impact Radar for Kubernetes
"Stop wasting hours asking 'which deploy broke this?'"
It's 3am. Latency is spiking. Five teams deployed in the last hour. Your monitoring tells you something is broken - error rates are up, p95 is through the roof - but it can't tell you which change caused it.
You open Grafana, cross-reference deploy times from ArgoCD, check the CI pipeline history, compare metrics before and after each deploy... manually. For every single change.
Existing tools tell you what is broken. Nobody tells you which change broke it.
Valiant watches your cluster and automatically correlates changes with metric shifts:
- Watches Kubernetes - Deployment rollouts, ConfigMap/Secret changes, captured the moment they go live
- Correlates with Prometheus - Compares baseline metrics (before change) vs impact metrics (after change) using your existing Prometheus data
- Scores deterministically - No ML, no black boxes. Weighted scoring across error rate, latency, RPS, CPU, and memory. Every score is explainable.
- Ranks concurrent changes - When 5 deploys happened in the same hour, Valiant ranks them by likelihood of being the cause
Filter by service, namespace, and change type. Search events. See analysis status at a glance.
Impact scores, metric shifts (baseline vs impact), confidence scoring, and orphan detection for each change event.
Define business-specific PromQL queries in config.yaml (e.g., orders/min, payment failures). Toggle visibility per service.

Instantly navigate from a change event to its origin in external systems like Git repositories, CI/CD pipelines etc.
Configurable templates use event metadata to generate clickable links, providing immediate context and accelerating incident investigation.
- Kubernetes native - Watches Deployments, ConfigMaps, Secrets with annotation-based filtering
- CI/CD webhooks - Ingest events from any pipeline via REST API
- Intent-execution linking - Links CI builds to K8s rollouts via Git SHA or image tag
- Deterministic scoring - Weighted impact score (0-1) with NONE/LOW/MEDIUM/HIGH classification
- Custom metrics - Define additional PromQL queries in config, collected alongside core metrics
- Incident investigation - Rank concurrent changes by likelihood of causing degradation
- Automatic analysis - Background worker triggers analysis when impact windows close
- Configurable retention - Automatic event cleanup (default 90 days)
- Immutable snapshots - Analysis results are frozen in time, never retroactively altered
- REST API - Full programmatic access to events, analysis, rankings, and preferences
graph TD
%% Actors & External Systems
User[π€ User]
K8s[βΈοΈ Kubernetes API]
CICD[CI/CD Pipeline]
%% Valiant Core Components
subgraph Valiant_System
FE[/Frontend - Next.js/]
BE[Backend - Go API & Correlator]
Collectors[Collectors]
end
%% Dependencies
subgraph Data_Stores
DB[(PostgreSQL)]
Prom[Prometheus]
end
%% Connections
User -->|Browser| FE
FE -->|REST API Calls: Fetch Data, Trigger Analysis| BE
K8s -->|Watches Rollouts| Collectors
CICD -->|Webhook| Collectors
Collectors -->|ChangeEvents| BE
BE -->|SQL Read/Write| DB
BE -->|PromQL Queries| Prom
Go backend + Next.js frontend + PostgreSQL + Prometheus (HTTP API). See Architecture for details.
Local development (Docker stack β quickest path):
| Requirement | Notes |
|---|---|
| Docker + Docker Compose v2+ | Runs backend, frontend, and PostgreSQL |
| Prometheus v2+ (external) | Valiant queries your existing Prometheus β it is not bundled in the Docker stack |
Production β Kubernetes:
| Requirement | Notes |
|---|---|
| Kubernetes 1.24+ | Valiant watches the K8s API for rollouts and config changes |
| Prometheus v2+ | Read-only β Valiant queries the HTTP API, never writes to it |
Production β OpenShift / OKD:
Prometheus ships with OpenShift out of the box β no separate Prometheus install required.
git clone https://github.com/BytePeaks/valiant.git
cd valiant
docker-compose up --build -d| Service | URL |
|---|---|
| Dashboard | http://localhost:3000 |
| Backend API | http://localhost:8080 |
| Health Check | http://localhost:8080/health |
Send a test event:
curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
"trigger_type": "CI",
"change_type": "build_success",
"affected_services": ["payment-service"],
"summary": "Build payment-service v1.0.0",
"timestamp": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'",
"metadata": {"git_commit_sha": "a1b2c3d4"}
}'See Getting Started for full setup, Kubernetes deployment, and connecting your apps.
| Document | Description |
|---|---|
| Getting Started | Installation, setup, first event, first analysis |
| How It Works | Core concepts, scoring engine, analysis model |
| Configuration | Full config reference, Prometheus queries, custom metrics |
| API Reference | All REST endpoints with examples |
| Architecture | Components, data flow, design trade-offs |
| Troubleshooting | Common errors, performance, security |
| Roadmap | Completed features, planned work |
| Traditional Monitoring | AIOps Platforms | Valiant | |
|---|---|---|---|
| Answers | "What is broken?" | "What might be the cause?" | "Which change caused this?" |
| Method | Threshold alerts | ML-based correlation | Deterministic rule-based scoring |
| Explainability | High (simple thresholds) | Low (black box) | High (every score is traceable) |
| Setup | Requires alert rules | Requires training data | Watches your existing K8s + Prometheus |
See Roadmap for the full list.
We welcome contributions! Quick local setup:
# Provide Prometheus before start in order to not generate 100+ warnings/errors :)
# Start dependencies
docker-compose up -d See CONTRIBUTING.md for code style, testing requirements, and PR guidelines. Found a bug or have a feature request? Open an issue.
AGPL-3.0 β free to use and self-host. If you modify Valiant and deploy it as a network service, you must open-source your changes.