Part of the FluidifyAI open-source suite
Unlimited alert noise reduction and incidents, unlimited on-call schedules, and unlimited AI postmortems and handoff digests with 1-click Import from Grafana Oncall/Pagerduty
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- AI incident summaries, Post-mortem, Handoffs Summaries with Slack/Teams synch (BYO key — OpenAI/Anthropic/Ollama)
![]() |
![]() |
![]() |
![]() |
| Category | Tools |
|---|---|
| Alert ingestion | Prometheus Alertmanager · Grafana · AWS CloudWatch · Generic webhook |
| Chat | Slack · Microsoft Teams · Telegram |
| AI | OpenAI · Anthropic · Ollama (BYO key — local or cloud) |
| Auth | SAML 2.0 — Okta · Azure AD · Google Workspace · any compliant IdP |
| Migration | Grafana OnCall · PagerDuty |
| Deploy | Docker Compose · Kubernetes Helm · bare metal |
| Regen | PagerDuty | incident.io | Grafana OnCall | |
|---|---|---|---|---|
| Price | Free | $21–50/user/mo | $30+/user/mo | Archived |
| Self-hosted | ✅ | ❌ | ❌ | ✅ (archived) |
| Open source | AGPLv3 | ❌ | ❌ | Apache 2.0 |
| SSO | ✅ Free | 💰 Paid | 💰 Paid | ✅ Free |
| BYO AI | ✅ | ❌ | ❌ | ❌ |
| Agent-native | ✅ | ❌ | ❌ | ❌ |
| Alert + incident + on-call in one | ✅ | 💰💰💰 Paid | 💰💰💰 Paid | 💰💰💰 Paid |
| 1-Click imports | ✅ | ❌ | ❌ | ❌ |
docker pull ghcr.io/fluidifyai/regen:latestFor detailed installation guides, see:
| Scenario | Result |
|---|---|
| Webhook ingestion p99 | < 10 ms (target: < 200 ms) |
| Webhook sustained p50 / p95 | 1.55 ms / 2.82 ms |
| API reads p95 (list / detail) | 4.42 ms / 2.83 ms |
| Peak throughput (burst test) | 3,917 RPS — 0 × 5xx |
| PostgreSQL failover RTO | 11 s (Patroni + HAProxy, target: < 60 s) |
| Redis failover RTO | 5 s (Sentinel 3-node quorum) |
| In-flight requests lost on rolling deploy | 0 |
Production numbers will be higher — these were captured on a single-machine local HA stack. Reproduce yourself:
make load-testandmake chaos-db. Full methodology in docs/RELIABILITY.md.
- Zero-downtime deploys — rolling restarts drain in-flight requests before pod shutdown (SIGTERM → 30 s drain → exit)
- PostgreSQL HA — Patroni manages automatic primary election; HAProxy re-routes to the new primary within one health-check interval (3 s). No app restart, no config change.
- Redis Sentinel — 3-node quorum detects primary loss; workers reconnect to new master automatically
- Kubernetes-native — HPA, health-gated rolling deploys, resource limits out of the box
- Webhook flood protection — rate limiter returns 429 before the DB sees load spikes; validated at 3,917 RPS with zero OOM events
- Full observability —
/metrics(Prometheus) + pre-built Grafana dashboard indeploy/grafana/
curl -X POST http://localhost:8080/api/v1/webhooks/prometheus \
-H "Content-Type: application/json" \
-d '{
"receiver": "fluidify-regen",
"status": "firing",
"alerts": [{
"status": "firing",
"labels": {"alertname": "TestAlert", "severity": "critical"},
"annotations": {"summary": "Test alert from curl"},
"startsAt": "2024-01-01T00:00:00Z"
}]
}'An incident is created automatically. If Slack is configured, a dedicated channel appears within seconds.
- Authentication: bcrypt (cost 12), timing-safe comparison, 5-attempt account lockout, HTTP-only SameSite=Strict session cookies
- No SQL injection surface: All database access uses GORM parameterized queries — no raw string interpolation
- Webhook verification: Slack (HMAC-SHA256 + replay protection), Teams (RSA/OIDC), CloudWatch (RSA + SSRF-safe cert validation)
- Rate limiting: Redis Lua script enforcing three tiers — 10/min on auth endpoints, 120/min unauthenticated, 600/min authenticated
- Security headers: CSP, HSTS (2 years), X-Frame-Options, X-Content-Type-Options, Permissions-Policy on every response
- Container hardening: non-root UID 1001, read-only filesystem, all Linux capabilities dropped
- CORS: explicit allowlist via
CORS_ALLOWED_ORIGINS; dev-only fallback to localhost - Frontend: no
dangerouslySetInnerHTML, no secrets in bundle, session token never accessible to JavaScript
Review the Production Security Checklist — TLS, PostgreSQL password, Redis auth, and CORS origins for prerequisiste checklist.
Full security architecture: SECURITY.md
We love contributions big and small. This is how you join us:
# Start backend + dependencies
docker-compose up -d db redis
# Run backend with hot reload
cd backend && go run ./cmd/regen/... serve
# Run frontend with hot reload
cd frontend && npm install && npm run devRead for raising a PR:
- Read the setup & workflow in CONTRIBUTING.md
- Discover all developer commands with
make help - Have a big idea? Let’s discuss it first
If you find Regen useful, consider supporting us by:
- Star this repo - It helps others discover Regen
- Guide us - Every issue you raise goes into building
AGPLv3 — free forever, including SSO.
Built by FluidifyAI · your incident data belongs to you












