Uh oh!
There was an error while loading. Please reload this page.
Notifications You must be signed in to change notification settings
Fork 0
Star 3
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
224 Commits
224 Commits
.github
.github
api/v1alpha1
api/v1alpha1
bundle
bundle
catalog
catalog
charts/agentic-sre
charts/agentic-sre
cmd
cmd
demo
demo
docs
docs
examples
examples
internal
internal
pkg
pkg
runs
runs
scripts
scripts
tools/promqllint
tools/promqllint
.dockerignore
.dockerignore
.gitignore
.gitignore
.golangci.yml
.golangci.yml
.goreleaser.yaml
.goreleaser.yaml
.mcp.json
.mcp.json
CHANGELOG.md
CHANGELOG.md
CONTRIBUTING.md
CONTRIBUTING.md
Dockerfile
Dockerfile
LICENSE
LICENSE
LICENSE-VERIFIED-LIBRARY.md
LICENSE-VERIFIED-LIBRARY.md
Makefile
Makefile
README.md
README.md
RELEASING.md
RELEASING.md
ROADMAP.md
ROADMAP.md
SECURITY.md
SECURITY.md
STATUS.md
STATUS.md
bundle.Dockerfile
bundle.Dockerfile
go.mod
go.mod
go.sum
go.sum
Repository files navigation
Your cluster breaks at 3 AM. Srenix finds the fault, applies a policy-bounded fix, re-verifies, and posts one report to Slack — no dashboard, no pager, no 30 MB of YAML archaeology.
One ~30 MB Go binary on a distroless base. 16 Kubernetes probes · 14 read-only analyzers · 30 cloud probes (AWS / GCP / Azure) · 5 auto-fixers — every fix policy-bounded, GitOps-aware, and re-verified after it runs. Apache-2.0.
Try it in 30 seconds (no cluster, no install, no RBAC)
git clone https://github.com/srenix-ai/agentic-sre.git cd agentic-sre go run ./cmd/srenix diagnose --snapshot examples/sample-cluster
• Ceph Storage: 🟢 HEALTHY 1 cluster(s): rook-ceph@rook-ceph OK (11.5% used) • Cluster Nodes: 🟢 HEALTHY All 4 nodes ready • PostgreSQL: 🟢 HEALTHY 1 CNPG cluster(s): main@data (3/3 ready, primary=main-1) • Storage Claims: 🟢 HEALTHY All 3 PVCs bound
Diagnostics (3):
🔎 Secret billing/billing-svc-secrets missing key STRIPE_API_KEY (referenced by
Deployment/billing-svc in ns billing). Owning ExternalSecret: billing/billing-svc-secrets
— add data/template entry exposing STRIPE_API_KEY, or remove the env reference if unused.
🔎 ExternalSecret billing/billing-svc-secrets not Ready: error processing spec.data[0]
(key: shared/billing/config), err: cannot find secret data for key: "stripe_api_key".
🔎 ExternalSecret billing/old-payment-gateway not Ready: error processing spec.data[0]
(key: shared/legacy/payments), err: vault path not found.
That's the headline: a precise diagnosis — which Secret, which key, which Deployment, which Vault path — from a read-only snapshot, on your laptop.
Then run it against your own cluster:
srenix snapshot capture --out ./my-cluster # read-only; never modifies state srenix diagnose --snapshot ./my-cluster # diagnose offline srenix diagnose --live # or straight against the live cluster
How it works
flowchart LR A[🔍 Detect 16 K8s probes 30 cloud probes] --> B[🧠 Diagnose 14 analyzers root cause + hint] B --> C{Recognized & policy-allowed?} C -->|yes| D[🔧 Remediate 5 policy-bounded fixers GitOps-aware] C -->|no| E[📋 Precise remediation hint for a human] D --> F[✅ Re-verify probe again, prove the fix] F --> G[📣 Report Slack / Alertmanager / OpenProject ticket] E --> G
Loading
Two ways to run it:
Zero-trust offline mode — point it at a captured kubectl get … -o json snapshot. No install, no RBAC, no write permissions.
In-cluster live mode — Helm-installed CronJob with two narrowly-scoped ClusterRoles (read-only + tightly-bounded write); posts to Slack on a schedule. Optional operator (AgenticSRE CRD) manages the whole deployment.
helm repo add srenix https://srenix-ai.github.io/agentic-sre helm repo update helm install srenix srenix/agentic-sre \ --namespace agentic-sre --create-namespace \ --set slackWebhookSecretName=srenix-slack-webhook
Why it's safe to let it fix things
Most "auto-remediation" tools ask you to trust an LLM with kubectl. Srenix doesn't:
The hot path is LLM-free and deterministic. Detection, diagnosis, and fixing are pure Go — same input, same output, every time.
Fixers only touch a closed catalog of known-safe patterns (stale Error pods, stuck Jobs on renamed Secret keys, stale-revision RS pods, terminal CertificateRequests, TLS secret mismatch). Never auto-applied: edits to Secrets, ConfigMaps, or generic CRDs.
GitOps-aware: fixers skip anything managed by Argo/Flux/Helm rather than fight a reconcile loop; paused/suspended workloads are respected.
Every fix is re-verified by re-running the probe, and reported either way.
Narrow RBAC by construction: two ClusterRoles you can read in one sitting; the container is distroless (nonroot, no shell, no package manager).
Full catalog — every probe, analyzer, and fixer with symptom, root cause, and why the fix is safe: docs/FAILURE_MODES.md.
What's in the box
Layer Coverage
K8s probes (16) Ceph, PostgreSQL (CNPG + Zalando), critical workloads, nodes, PVCs, external endpoints, node pressure, system DaemonSets, pending pods, CrashLoopBackOff, etcd, failed mounts, Kong, HPA, ArgoCD sync, Velero backups
Analyzers (14) Secret/key/ExternalSecret/image-pull/cert/TLS classes + drift: GitOps, workload-state, RBAC, config, capacity, security
Cloud probes (30) 10 each for AWS / GCP / Azure — RDS, EBS, EKS, IAM, ALB, ACM, KMS, S3, VPC and equivalents. Off by default, opt-in per provider, per-probe toggles
Fixers (5) Policy-bounded, GitOps-aware, re-verified. Opt-in for anything that mutates routing
Investigator On CRITICAL findings, a read-only Layer-2 deep-dive (DNS, HTTP, TLS, describe, events) attaches a one-line root cause to the alert
Sinks Slack (3-channel routing, per-severity repeat intervals), Alertmanager, OpenProject tickets via MCP, 6 Grafana dashboards
Current version and the full shipped/planned matrix: STATUS.md · What's next: ROADMAP.md
OSS vs Enterprise
Everything above is Apache-2.0 and works standalone — probes, analyzers, fixers, cloud probes, deterministic investigator, Helm chart, operator.
Srenix Enterprise (commercial binary) adds the AI layer on the same safety contract: an LLM-backed Investigator, T0 narration → T1 fix proposals → T2 multi-step planning → T3 dual-approval break-glass runbooks — every action policy-bounded, Ed25519-signed, hash-chain audited — plus a curated Verified Signature Library regression-tested monthly. Details: docs/SRENIX_OVERVIEW.md · Contact: srenix.ai/contact or [email protected].
Docs
Start here Deep dives
SRENIX_OVERVIEW.md — the two-pager FAILURE_MODES.md — full fix catalog
SETUP_GUIDE.md — install, Helm values, RBAC AI_TIERS.md — Layer-2 + T0–T3 spec
DEMO_GUIDE.md — storyboarded failure scenarios DASHBOARDS.md — 6 Grafana dashboards
AI_USAGE.md — why the hot path is LLM-free
Why I built this
Srenix came out of the same on-call loop I kept living: a 3 AM page, twenty minutes of kubectl archaeology, and a root cause that was almost always mundane — a stale Secret key, a stuck ExternalSecret, a cert that didn't renew. I wanted something that did that triage for me deterministically — with a fix catalog narrow enough that I'd actually trust it to run unattended — and posted one honest report instead of paging a human. That's Srenix. If it catches something for you, I'd genuinely like to hear about it in Discussions.
— Salil, maintainer
Community
Questions, war stories, and "it flagged something weird" reports: GitHub Discussions. Bugs and feature requests: Issues. If Srenix saved you a page, a ⭐ helps other on-call engineers find it.
License & security
Apache License 2.0 for the engine and default signature library. The Verified Signature Library ships separately under a commercial license. To report a vulnerability: [email protected] (SECURITY.md).
About
Self-healing layer for Kubernetes in a 30 MB binary — detect, fix, re-verify, report. Apache-2.0.
srenix.ai
Topics
kubernetes
golang
devops
mcp
incident-response
site-reliability-engineering
k8s
cloud-native
sre
observability
self-healing
auto-remediation
aiops
gitops
llm
Resources
Readme
License
Apache-2.0, Unknown licenses found
Apache-2.0
LICENSE
Unknown
LICENSE-VERIFIED-LIBRARY.md
Contributing
Contributing
Security policy
Security policy
Uh oh!
There was an error while loading. Please reload this page.
Activity
Custom properties
Stars
3 stars
Watchers
0 watching
Forks
0 forks
Report repository
Releases 138
agentic-sre-0.1.0-alpha.1
Latest
Jun 26, 2026
+ 137 releases
Packages 0
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Go 97.8%
Shell 1.2%
Other 1.0%