Skip to content

Add Helm chart for Kubernetes deployment #15

@treblereel

Description

@treblereel

Context

Part of epic #1 — Build production-ready REST microservice with k8s deployment on top of casehub-engine. Helm chart simplifies deployment, configuration management, and upgrades across different environments (dev, staging, production).

What

Create Helm chart for casehub-flow deployment:

  • Chart structure with templates for Deployment, Service, ConfigMap, Secret, Ingress
  • Values files for different environments (dev, prod)
  • Parameterized configuration (replicas, resources, database settings, image tag)
  • PostgreSQL dependency (bitnami/postgresql subchart)
  • Installation and upgrade documentation

Acceptance Criteria

  • Helm chart structure created in helm/casehub-flow/ directory
  • Templates: Deployment, Service, ConfigMap, Secret, Ingress (optional)
  • values.yaml with sensible defaults (replicas: 2, resource limits, health check settings)
  • values-dev.yaml and values-prod.yaml for environment-specific overrides
  • Image tag, repository, and pull policy configurable via values
  • PostgreSQL subchart dependency declared in Chart.yaml (bitnami/postgresql)
  • Database connection auto-configured from PostgreSQL subchart values
  • ConfigMap template uses environment variables from issue Add production configuration profile with environment variables #9
  • Health probe paths configurable (default: /q/health/live, /q/health/ready)
  • Chart installs successfully: helm install casehub-flow ./helm/casehub-flow
  • Chart upgrades work without downtime (rolling update strategy)
  • README with installation instructions and configuration examples

Notes

  • Use Helm 3 (no Tiller dependency)
  • PostgreSQL dependency using bitnami/postgresql chart (required, not optional)
  • Database credentials auto-generated by PostgreSQL subchart or overridable in values
  • Consider adding NOTES.txt with post-installation instructions
  • Ingress template should be optional (enabled: false by default)
  • Chart version should track application version
  • File paths: helm/casehub-flow/Chart.yaml, helm/casehub-flow/values.yaml, helm/casehub-flow/templates/*

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions