Skip to content

[deploy/k8s] Kubernetes deployment via Helm: chart, values, secrets, autoscaling, CI #49

@mfittko

Description

@mfittko

Summary

Create a Kubernetes deployment using Helm, including a production-ready chart, values, secrets integration, autoscaling, and CI publishing. Ensure compatibility with in-cluster Redis or external Redis for the event bus. For AWS environments, optionally deploy the Helm chart via AWS CDK (TypeScript) to EKS.

Source: docs/issues/phase-6-kubernetes-helm.md

Motivation

  • Standardize K8s deployment with Helm (de facto tooling)
  • Simplify upgrades and configuration via values files
  • Enable IaC-driven EKS deployments with CDK on AWS

Scope

  • Helm chart in deploy/helm/llm-proxy
  • Support for server and optional dispatcher (as separate Deployment)
  • Redis: togglable (in-cluster chart dependency or external address)
  • Ingress, service, probes, HPA, secrets management
  • Optional: AWS CDK (TypeScript) to provision/import EKS and install Helm release

Tasks

  • Scaffold Helm chart structure (Chart.yaml, values.yaml, templates/*)
  • Templates: Deployment, Service, Ingress, HPA, ConfigMap, Secret
  • Values: image, resources, env, Redis settings, admin UI settings, securityContext, podDisruptionBudget
  • Secrets: reference from external secret store (optional) or k8s Secret; document both
  • Probes: /health, /ready, /live; wire to container ports
  • HPA: CPU/memory target tracking; optional custom metrics
  • Redis: chart dependency toggle (e.g., bitnami/redis) or external endpoint
  • Dispatcher: optional second deployment referencing same Redis bus
  • CI: lint chart (helm lint), template validation (helm template), optional chart release to OCI
  • Docs: install/upgrade commands, values examples, security notes

Optional (AWS CDK/EKS)

  • CDK: provision or import EKS cluster
  • CDK: cluster.addHelmChart to deploy this chart with values, namespace, timeouts
  • CDK: IRSA for controllers/pods needing AWS access; image/OCI/Helm registry auth if required
  • CI: synth/validate CDK; optional deploy to test environment

Acceptance Criteria

  • Helm chart installs and upgrades cleanly (helm install/upgrade)
  • Probes, HPA, and ingress configured; secrets handled securely
  • Optional dispatcher deployment supported
  • CI lint/template steps green; docs complete
  • If on AWS: CDK-based Helm deployment to EKS is demonstrated or documented

References

  • Doc: docs/issues/phase-6-kubernetes-helm.md
  • Observability: PR #41
  • Security: docs/security.md

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions