Skip to main content

Self-Hosted Kubernetes

Self-Hosted Kubernetes

Run AIControls entirely inside your own cluster. Every audit event, policy decision, and token budget stays in your infrastructure — no data leaves your environment.

What self-hosted K8s mode is

The self-hosted deployment runs the AIControls binary as a Kubernetes Deployment, backed by a PVC-mounted SQLite database and configured via Helm. There is no dependency on the Nirmata SaaS platform — policy sources, audit storage, and identity validation are all cluster-local.

You get the same governance pipeline as the managed offering: MCP proxy, LLM proxy, CEL policies, HITL approval, token budgets, audit log, and the admin UI. The difference is operational: you own the infrastructure, control the upgrade cadence, and choose where data lives.

Architecture

┌──────────────────────────────────────────────────────────────────┐
│ Kubernetes Cluster │
│ │
│ ┌─────────────────────┐ admission webhook │
│ │ Kyverno │──────────────────-────┐ │
│ │ (optional) │ │ │
│ └─────────────────────┘ ▼ │
│ ┌────────────────────┐ │
│ ┌─────────────┐ MCP calls │ │ │
│ │ Agent Pod │─────────────────▶│ AIControls │ │
│ │ (Claude │ │ │ │
│ │ Code / │ LLM calls │ ┌──────────────┐ │ │
│ │ Cursor / │─────────────────▶│ │ CEL Policy │ │ │
│ │ custom) │ │ │ Engine │ │ │
│ └─────────────┘ │ └──────────────┘ │ │
│ │ ┌──────────────┐ │ │
│ │ │ Audit Log │ │ │
│ │ │ (SQLite) │ │ │
│ │ └──────────────┘ │ │
│ │ ┌──────────────┐ │ │
│ │ │ HITL Queue │ │ │
│ │ └──────────────┘ │ │
│ └────────┬───────────┘ │
│ │ │
│ ┌─────────────────────┼──────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌─────────────────┐ ┌──────┐ │
│ │ MCP Servers │ │ Upstream LLMs │ │ HITL │ │
│ │ (kubectl, │ │ (Anthropic, │ │ Chan.│ │
│ │ bash, │ │ OpenAI, │ │(Slack│ │
│ │ postgres…) │ │ Bedrock, │ │/mail)│ │
│ └──────────────┘ │ Ollama/vLLM) │ └──────┘ │
│ └─────────────────┘ │
└──────────────────────────────────────────────────────────────────┘

Ports:

PortProtocolPurpose
:8080HTTPMCP proxy (SSE + stdio) + OpenAI-compatible LLM proxy
:8081HTTPAdmin UI + REST API
warning

PostgreSQL backend is required for production HA installations. replicaCount > 1 is only safe with the PostgreSQL backend — with the default SQLite backend, two replicas will race on the same PVC. If you're staying on SQLite, keep replicaCount: 1 behind a load balancer that routes all traffic to a single pod.

Choose your path