Skip to content
Settings

Helm values

The deploy/helm/cyoda chart packages cyoda-go for Kubernetes. The chart’s own values.yaml enumerates every configurable key; this page covers the model that shapes how those values map to Kubernetes objects and how secrets are provisioned.

A standard deployment per release: a Deployment, a Service for HTTP

  • gRPC + admin ports, a ConfigMap materialising the .env-format configuration, and a Secret for credential material. An optional ServiceMonitor (Prometheus Operator) and HorizontalPodAutoscaler are wired off per-value flags.

Values split into two groups:

  • Configuration values — map one-to-one to the CYODA_* env vars documented in the binary. Changing them alters runtime behaviour but not Kubernetes shape. See cyoda help config for the list.
  • Deployment values — image tag, replica count, resource requests, service type, ingress glue. These shape the Kubernetes objects the chart renders; they never reach the binary.

Credentials follow the same _FILE pattern as bare-metal deployments. The chart mounts the Secret at a known path and sets CYODA_*_FILE env vars accordingly, so the binary reads each secret at startup. You never put raw credentials into the chart’s values.yaml in a production deployment — wire an existing Secret via existingSecret or equivalent.

  • cyoda help helm — Helm chart for Kubernetes deployment
    The chart at `deploy/helm/cyoda` deploys cyoda-go on Kubernetes as a StatefulSet backed by an external PostgreSQL database. The chart requires Kubernetes `>=1.31.0`. Chart version: `0.1.0`. App version: `0.1.0` (synchronized to the binary by the `bump-chart-appversion.yml` CI workflow).

See Run → Kubernetes for the deployment pattern and production-sizing guidance.