Skip to content

Helm chart for Kubernetes deployment#66

Merged
vnvo merged 1 commit intomainfrom
helm-chart
Apr 2, 2026
Merged

Helm chart for Kubernetes deployment#66
vnvo merged 1 commit intomainfrom
helm-chart

Conversation

@vnvo
Copy link
Copy Markdown
Owner

@vnvo vnvo commented Apr 2, 2026

What

Helm chart at deploy/helm/deltaforge/ for deploying DeltaForge on Kubernetes. Deployment guide at docs/src/deployment.md.

Chart features:

  • StatefulSet with stable pod identity for checkpoint persistence
  • Pipeline config via ConfigMap (inline or existing)
  • Secrets for credentials only - user/password expanded via ${VAR} in DSN at startup
  • PVC for SQLite checkpoints + DLQ (persistent across restarts)
  • PostgreSQL storage backend recommended for production
  • Liveness (/health) and readiness (/ready) probes
  • Prometheus metrics port (9000) with optional ServiceMonitor
  • PodDisruptionBudget for multi-replica
  • terminationGracePeriodSeconds: 30 for graceful checkpoint flush
  • Configurable resources, security context, scheduling

Docs:

  • docs/src/deployment.md: Docker, Docker Compose, Kubernetes/Helm deployment guide
  • README: "Deploy on Kubernetes" section, Helm chart link
  • Landing page: "Kubernetes Ready" feature card
  • Changelog updated

Tested on k3d: chart installs, pod starts, config loads, retry logic works. Validated with helm lint + helm template for all value combinations.

Why

Helm chart is the biggest adoption friction reducer for Kubernetes users and the foundation for the future operator (PipelineTemplate, PipelinePool, auto-scaling for 300+ source clusters).

Testing

  • helm lint deploy/helm/deltaforge - 0 failures
  • helm template verified for: default values, ServiceMonitor, Secret creation, postgres backend, existingConfigMap, multi-replica PDB
  • Deployed to k3d cluster - pod starts, config mounts, DeltaForge boots, retry logic exercises
  • mdbook build docs/ - builds

Checklist

  • Tests pass (cargo test)
  • Code formatted (cargo fmt)
  • Helm lint passes
  • Deployed to k3d and verified
  • Docs updated (deployment guide, README, landing page, changelog)

StatefulSet-based deployment with:
- Pipeline config via ConfigMap (inline or existing)
- Secrets for credentials only (user/password) — expanded via ${VAR}
  in pipeline config at startup
- PVC for SQLite checkpoints + DLQ (persistent across restarts)
- Liveness (/health) and readiness (/ready) probes
- Prometheus metrics port (9000) with optional ServiceMonitor
- Configurable resources, security context, scheduling
- PodDisruptionBudget for multi-replica
- `terminationGracePeriodSeconds: 30` for graceful checkpoint flush

Located at deploy/helm/deltaforge/ following CNCF convention.

Usage:
  helm install deltaforge ./deploy/helm/deltaforge \
    --set secrets.create=true \
    --set secrets.data.MYSQL_USER=cdc_user \
    --set secrets.data.MYSQL_PASSWORD=s3cret

Verified: helm lint (0 failures), helm template (all variants render).
@vnvo vnvo merged commit 3408f65 into main Apr 2, 2026
3 checks passed
@vnvo vnvo deleted the helm-chart branch April 2, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant