Prerequisites
What You’re Installing
Section titled “What You’re Installing”| Component | Description |
|---|---|
| API Service | Long-running Kubernetes Deployment |
| Executor Pool | Autoscaling workers for workflow execution |
| CockroachDB | Internal distributed database (optional, can use external) |
| Redis | Job queue and cache |
Required External Service
Section titled “Required External Service”- S3-compatible storage — AWS S3, Cloudflare R2, Google Cloud Storage, MinIO, etc.
Required Tools
Section titled “Required Tools”For Local Development (k3d)
Section titled “For Local Development (k3d)”# macOSbrew install k3d kubectl helm docker
# Linuxcurl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash# Install kubectl and helm separatelyFor Production
Section titled “For Production”kubectl— Kubernetes CLIhelm— Package manager for Kubernetes
Cluster Requirements
Section titled “Cluster Requirements”Local Development
Section titled “Local Development”k3d creates everything you need automatically:
cd apps/backend/kubernetes./scripts/k3d-setup.shProduction Cluster
Section titled “Production Cluster”- Any Kubernetes distribution (EKS, GKE, AKS, k3s, etc.)
- Default
StorageClass(for persistent volumes) - Network access to your S3 endpoint
Optional: Kata Containers
Section titled “Optional: Kata Containers”For stronger isolation, the executor can use Kata containers via RuntimeClass. Your cluster must have Kata installed and configured.
Credentials You Need
Section titled “Credentials You Need”S3 Storage (required)
Section titled “S3 Storage (required)”- Endpoint URL
- Region
- Access key ID
- Secret access key
- Bucket names (meta + content)
External Database (optional)
Section titled “External Database (optional)”If not using internal CockroachDB:
- PostgreSQL/CockroachDB connection string