Skip to content

Choose a Cloud Profile

Cloud-native Caracal deployments should use the Helm chart with externalized state: managed Postgres, managed Redis, platform secrets, ingress, NetworkPolicy, and cluster observability.

For a concrete, copy-paste version of this profile — including External Secrets manifests, a production overlay, cert-manager TLS ingress, and a per-cloud (EKS/GKE/AKS) substitution table — see Deploy on Managed Kubernetes.

ProfileValues to adjust
Evaluationglobal.mode=rc, short retention, limited replicas, temporary secrets, no public ingress unless required.
Productionglobal.mode=stable, managed Postgres/Redis, TLS ingress, NetworkPolicy, PDB/HPA, ServiceMonitor, PrometheusRule.
Private clusterDisable public ingress; expose API/Gateway through internal load balancers or service mesh.
Regulated workloadEnforce external secret manager, immutable backups, audit export, restricted egress, and incident evidence retention.
DependencyRequirements
PostgresTLS-capable connection, migration role, durable backups, point-in-time recovery, sufficient connection capacity.
RedisStreams support, authentication, memory policy sized for audit/revocation/outbox traffic, persistence according to recovery goals.
SecretsRuntime Secret with database, Redis, admin, Coordinator, zone KEK, audit HMAC, stream HMAC, and Gateway-STS HMAC keys.
ObservabilityMetrics scraping for all services and alerts equivalent to the chart PrometheusRule.

The chart NetworkPolicy allows Caracal pod-to-pod traffic and storage egress. Add explicit DNS, HTTPS, identity provider, object store, and provider API egress only as needed.

networkPolicy:
enabled: true
allowOpenDns: false
allowOpenHttps: false
dnsEgress: []
extraEgress: []
extraIngress: []

Expose only the endpoints required by your environment:

EndpointWhen to expose
GatewayRequired for protected resource traffic through Caracal Gateway.
APIRequired for Console/Admin clients outside the cluster.
STSExpose only when token exchange clients cannot reach it privately.
Audit/Coordinator/ControlPrefer private access.

The chart currently has optional Ingress templates for Gateway and API.

  1. Render manifests with production values.
  2. Confirm no plaintext secrets are committed.
  3. Confirm NetworkPolicy egress covers required provider APIs and object stores.
  4. Confirm ServiceMonitor or equivalent metrics scraping is active.
  5. Confirm backup and restore evidence exists for Postgres and runtime secrets.

Use Deploy on Managed Kubernetes for a concrete External Secrets, cert-manager, managed Postgres, and managed Redis deployment.