Skip to content

Requirements

Before deploying CdsCTF, you need the following components. Version suggestions align with the Compose examples in Quick Start and Docker + K3s.

Required

ComponentPurposeSuggested version
PostgreSQLPrimary database, accessed via SeaORM18+ (e.g. postgres:18-alpine)
Valkey / RedisCache and sessions, accessed via fred.rsValkey 9 or Redis 6–compatible
NATSMessage queue between components; JetStream requiredNATS 2 (e.g. nats:2-alpine with --js --sd=/data)
KubernetesOrchestration for dynamic challenge environmentsK3s recommended; see Quick Start

Optional

ComponentPurpose
OpenTelemetry CollectorReceives OTLP data (metrics, traces, logs) from CdsCTF; see Observability. Not provided with Compose or the Helm Chart; deploy it yourself.

By deployment type

  • Docker + K3s: Host needs Docker CE and Docker Compose; K3s can run on the same or another machine to provide challenge environments.
  • K3s only: Only a K3s cluster (single-node is fine); deploy CdsCTF and dependencies via the official Helm Chart; see K3s Only.

Runtime configuration (database, cache, queue, cluster, etc.) is documented in Configuration.