Skip to content

Kubernetes

Production-ready Kubernetes deployment using Helm with built-in observability.

┌─────────────────────────────────────────────────────────────────────────────┐
│ Kubernetes Cluster │
├─────────────────────────────────────────────────────────────────────────────┤
│ Core Services (deployed by Helm): │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ CockroachDB │ │ Redis │ │ API Service │ │
│ │ (3 nodes) │ │ (job queue) │ │ (autoscaling) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ ┌─────────────────────┐ │
│ │ Executor Pool │ │
│ │ (autoscaling) │ │
│ └─────────────────────┘ │
├─────────────────────────────────────────────────────────────────────────────┤
│ Observability Stack (optional): │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Prometheus │ │ Grafana │ │ Tempo │ │
│ │ (metrics) │ │ (dashboards)│ │ (tracing) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
├─────────────────────────────────────────────────────────────────────────────┤
│ External (user provides): │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ S3-compatible Storage │ │
│ │ (AWS S3, Cloudflare R2, GCS, MinIO, etc.) │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
Terminal window
cd apps/backend/kubernetes
./scripts/k3d-setup.sh

Creates a complete local environment with monitoring in ~5 minutes.

Local Development Guide

Terminal window
helm install flow-like ./helm -n flow-like --create-namespace \
--set storage.external.endpoint='https://s3.example.com' \
--set storage.external.accessKeyId='YOUR_KEY' \
--set storage.external.secretAccessKey='YOUR_SECRET'

Production Installation Guide

ComponentDescription
CockroachDB3-node distributed SQL database
RedisJob queue and execution state
API ServiceFlow-Like API with autoscaling
Executor PoolReusable execution workers with autoscaling
DB Migration JobPrisma migrations on install/upgrade
ComponentDescription
PrometheusMetrics collection from all services
GrafanaPre-configured dashboards
TempoDistributed tracing with OpenTelemetry

Enable with --set monitoring.enabled=true (enabled by default).

Six pre-built dashboards for full visibility:

  • System Overview — Cluster-wide resource usage
  • API Service — Request rates, latencies, errors
  • Executor Pool — Job queue depth, execution metrics
  • CockroachDB — Query performance, replication
  • Redis — Commands/sec, memory usage
  • Tracing — Request traces via Tempo