Deployment Guide
Citadel supports two primary production-ready deployment methods: Kubernetes via Helm and Docker Compose.
Kubernetes (Helm)
The recommended way to deploy Citadel in production is using our Umbrella Helm Chart.
Prerequisites
- Kubernetes Cluster 1.28+
- CloudNativePG Operator
- SpiceDB Operator
- NATS Operator
Installation
- Add the citadel repository (once published):
helm repo add citadel https://gitlab.com/api/v4/projects/[PROJECT_ID]/packages/helm/stable - Update dependencies:
helm dependency update charts/citadel - Install the chart:
helm install citadel charts/citadel --set global.domain=citadel.local
Configuration
Centralized configuration is managed in the global.services block of values.yaml. This allows you to easily switch between internal provisioned infrastructure and external managed services.
Docker Compose (Production-Ready)
For simpler environments or evaluation, we provide a production-hardened Docker Compose setup.
Usage
- Verify
docker-compose.ymlis configured with your desired environment variables. - Start the stack:
docker compose up -d
Local Development
For local development, please refer to the devcontainer-example in the repository root which provides a pre-configured environment with all dependencies.
Configuration Reference
For a detailed list of configuration options for each service, please refer to the Helm Charts Reference.