Control Plane

The Zentinel Control Plane is a fleet management system for Zentinel reverse proxies. It provides centralized configuration compilation, safe rollout orchestration, node lifecycle tracking, and comprehensive observability.

Overview

The control plane sits between operators and the Zentinel proxy fleet. It compiles KDL proxy configurations into immutable bundles, distributes them to nodes via a pull-based model, and orchestrates safe deployments with health-gated rollout strategies.

┌─────────────────────────────────────────────────────┐
│              Control Plane (Phoenix)                 │
│  ┌──────────┐  ┌──────────┐  ┌───────────────┐     │
│  │ LiveView │  │ REST API │  │ Rollout Engine │     │
│  │   UI     │  │ + GraphQL│  │    (Oban)      │     │
│  └────┬─────┘  └─────┬────┘  └───────┬───────┘     │
│       └───────────────┴───────────────┘             │
│           │                       │                 │
│    ┌──────┴────────┐    ┌────────┴────────┐         │
│    │  PostgreSQL   │    │   MinIO / S3    │         │
│    │  (SQLite dev) │    │ (Bundle Storage)│         │
│    └───────────────┘    └─────────────────┘         │
└──────────────────────┬──────────────────────────────┘
                       │
         ┌─────────────┴─────────────┐
         │     Zentinel Node Fleet    │
         │  ┌────┐ ┌────┐ ┌────┐     │
         │  │ N1 │ │ N2 │ │ N3 │ ... │
         │  └────┘ └────┘ └────┘     │
         └───────────────────────────┘

Key Capabilities

CapabilityDescription
Configuration ManagementDefine services, upstreams, TLS, middlewares, and auth policies via UI or API
Bundle CompilationValidate KDL config, assemble .tar.zst archives, sign with Ed25519, generate SBOMs
Rollout OrchestrationRolling, canary, blue-green, and all-at-once strategies with health gates
Node Fleet ManagementRegistration, heartbeats, drift detection, label-based grouping
WAF~60 OWASP CRS rules with per-policy overrides and anomaly detection
ObservabilitySLOs, alert rules, Prometheus metrics, OpenTelemetry tracing
IntegrationsGitOps webhooks, Slack/PagerDuty/Teams notifications, GraphQL API

Tech Stack

Built with Elixir/Phoenix, LiveView for real-time UI, Oban for background jobs, PostgreSQL (production) or SQLite (development), and S3-compatible storage for bundles.

In This Section

PageDescription
Getting StartedInstallation, default credentials, first project
ArchitectureSystem design, components, data flow
AuthenticationAPI keys, node auth, SSO, MFA
API ReferenceREST API endpoints with curl examples
Proxy RegistrationConnecting proxy instances to the control plane
ConfigurationServices, upstreams, TLS, env vars
DeploymentDocker setup, rollout strategies, health gates
SecurityWAF rules, auth policies, bundle signing
ObservabilityPrometheus, SLOs, alerts, tracing, notifications