Skip to content

Prerequisites

ComponentDescription
API ServiceLong-running Kubernetes Deployment
Executor PoolAutoscaling workers for workflow execution
CockroachDBInternal distributed database (optional, can use external)
RedisJob queue and cache
  • S3-compatible storage — AWS S3, Cloudflare R2, Google Cloud Storage, MinIO, etc.
Terminal window
# macOS
brew install k3d kubectl helm docker
# Linux
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
# Install kubectl and helm separately
  • kubectl — Kubernetes CLI
  • helm — Package manager for Kubernetes

k3d creates everything you need automatically:

Terminal window
cd apps/backend/kubernetes
./scripts/k3d-setup.sh
  • Any Kubernetes distribution (EKS, GKE, AKS, k3s, etc.)
  • Default StorageClass (for persistent volumes)
  • Network access to your S3 endpoint

For stronger isolation, the executor can use Kata containers via RuntimeClass. Your cluster must have Kata installed and configured.

  • Endpoint URL
  • Region
  • Access key ID
  • Secret access key
  • Bucket names (meta + content)

If not using internal CockroachDB:

  • PostgreSQL/CockroachDB connection string