What is Srevox?

Srevox is a self-hosted, telemetry-free Kubernetes pod crash alerting platform. It monitors your containers 24/7 using lightweight HTTP persistent event streams and delivers structured diagnostics to email, chat endpoints, and webhooks instantly.

SRE + VOX — The voice of your site reliability. Srevox operates completely inside your secure network with local databases.

Key Features

Instant Detection
Sub-5 second alerting via persistent K8s Watch API streams.
🔔
Multi-channel Alerts
Structured payloads sent to Email (SMTP), Teams, Slack, and WhatsApp.
🤖
AI Diagnostics
On-demand error diagnostics and YAML config patches using Groq, OpenAI, or Ollama.
🛡️
Noise Filtering
Cooldown block timers, namespace exclusions, and minimum crash count threshold filters.
☁️
Universal Watching
Works with EKS, GKE, AKS, bare-metal clusters, or local minikube nodes.
🔒
100% Private
No remote databases, usage tracking, telemetry, or external cloud storage dependencies.

How It Works

Srevox interfaces directly with the Kubernetes API server using a persistent connection. The cluster agent pushes event streams the moment they register.

1
Go Watcher Connects
The srevox-agent establishes a persistent Watch socket on the Kubernetes Pod API, listening for container restarts.
2
Event Dispatched to Redis
Upon detecting OOMKilled or CrashLoopBackOff states, the agent serializes a JSON payload and publishes it to Redis.
3
Alert Worker Processes
A lightweight alert daemon listens to Redis, filters out warning namespaces, validates cooldowns, and executes notifications.
4
Diagnostics Stored
Incidents are cataloged in Postgres. Administrators can examine logs, run AI analysis, or mark them resolved.

Architecture Overview

Srevox uses a decoupled microservices architecture designed for ultra-low memory footprint and high resilience in production environments.

All services communicate locally over internal Docker/Kubernetes bridge networks.

Quick Start & Deployment

Deploy Srevox using our single-line bash command, or run via Docker Compose.

Option 1: One-Line Automatic Setup

curl -fsSL https://raw.githubusercontent.com/Akshatsainiaks/srevox-setup/main/setup.sh | bash

Option 3: Kubernetes Helm Chart Deployment (v0.1.28)

Deploy, upgrade, or rollback Srevox directly on any Kubernetes cluster (EKS, GKE, AKS, minikube, k3s) using our official Helm repository:

# 1. Add Helm Repository & Install (No clone needed):
helm repo add srevox https://raw.githubusercontent.com/Akshatsainiaks/srevox-setup/main/charts && helm repo update && helm install srevox srevox/srevox --namespace srevox --create-namespace --set postgres.password="MySecurePassword123!"
# 2. Zero-Downtime Upgrade:
helm upgrade srevox srevox/srevox --namespace srevox --reuse-values
# 3. 1-Click Rollback:
helm rollback srevox 1 --namespace srevox

Default Administrator Credentials

Email: admin@srevox.local
Password: admin123

Production docker-compose.yml

Use the full production manifest below to boot Srevox services: API, Frontend, Worker, AI Gateway, Activity service, PostgreSQL, and Redis.

services:
  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: srevox
      POSTGRES_USER: srevox
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
  redis:
    image: redis:7-alpine
    restart: unless-stopped
  api:
    image: akshatsaini08/srevox-api:v0.1.23
    ports:
      - "4000:4000"
  frontend:
    image: akshatsaini08/srevox-frontend:v0.1.23
    ports:
      - "3000:3000"

Connecting a Kubernetes Cluster

Srevox supports two primary methods for cluster integration: direct Service Account API Token connection (Agentless) or in-cluster Watcher Daemon (Agent).

Agent Installation

Deploy the srevox-agent binary or container inside your cluster to monitor pod status events outbound.

kubectl apply -f https://raw.githubusercontent.com/Akshatsainiaks/srevox/main/srevox-agent.yaml

srevox-agent.yaml Manifest

Full Kubernetes ServiceAccount, ClusterRole, ClusterRoleBinding, and Deployment manifest for cluster watching.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: srevox-agent
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: srevox-agent-role
rules:
- apiGroups: [""]
  resources: ["pods", "pods/log", "events", "nodes"]
  verbs: ["get", "list", "watch"]

Kubeconfig Connection Method

For remote EKS or GKE clusters, upload a sanitized Kubeconfig YAML file directly in the Clusters settings menu.

RBAC & Service Account Security

Srevox requires read-only (get, list, watch) permissions on Pods and Events.

Alert Channels — Email / Gmail (SMTP)

Configure SMTP credentials to receive structured HTML crash reports directly in your engineering team inbox.

Alert Channels — Microsoft Teams

Send rich Adaptive Cards into Microsoft Teams channels with single-click direct links to pod stacktraces.

Alert Channels — WhatsApp Integration

Route urgent P1 CrashLoopBackOff alerts directly to on-call engineer WhatsApp numbers via Twilio API.

Alert Channels — Webhooks & Slack

Incoming Webhooks trigger custom HTTP POST payloads to Slack or custom automation endpoints.

Creating Custom Alert Rules

Set minimum crash counts, target specific Kubernetes namespaces, and define custom alert triggers.

Noise Control & Global Muting

Use cooldown block timers to prevent alert storms when a pod continuously enters CrashLoopBackOff.

Recognized Crash Reasons

Srevox automatically categorizes OOMKilled (Exit 137), SIGSEGV (Exit 139), LivenessProbe failures, and ImagePullBackOff.

AI Incident Diagnostics Overview

Click "Diagnose with AI" on any incident page to generate an instant root-cause breakdown and YAML fix recommendation.

Supported AI Providers

Choose between Groq (ultra-fast inference), OpenAI (GPT-4o), Anthropic (Claude 3.5), or local GPU Ollama containers.

Local & Offline Ollama AI Setup

Connect local GPU-enabled Ollama containers (running models like Llama 3 or CodeLlama) for 100% private, zero-egress diagnostics.

API Authentication & Bearer Tokens

Authenticate REST API calls using Bearer Tokens generated in Administrator Settings.

curl -H 'Authorization: Bearer <TOKEN>' http://localhost:4000/api/v1/incidents

API Endpoints — Incidents

Query, filter, or resolve active cluster incidents programmatically via REST API endpoints.

API Endpoints — Clusters

Register new Kubernetes clusters, update API bearer tokens, or query node health metrics.

Testing Alert Pipeline via Redis

Publish test incident payloads directly to Redis pub/sub channel to verify alerting rules without crashing real pods.

Simulating Pod Crashes

Verify Srevox alerts by deploying a test container that exits with code 139 or OOMKilled states.

kubectl run test-crash --image=busybox --restart=Never -- sh -c 'exit 1'

Running the Go Watcher Service

Run the srevox-agent Go binary directly from source code during local development.

Full Multi-Cluster Production Setup

Complete guide for deploying Srevox across production EKS, GKE, and bare-metal Kubernetes environments.

Was this page helpful?

Help us improve the Srevox documentation.