Skip to content

Add Helmcharts for Kubernetes deployment#10

Merged
oechsler merged 4 commits into
oechsler:mainfrom
emehd:main
May 3, 2026
Merged

Add Helmcharts for Kubernetes deployment#10
oechsler merged 4 commits into
oechsler:mainfrom
emehd:main

Conversation

@emehd
Copy link
Copy Markdown
Contributor

@emehd emehd commented Apr 26, 2026

The Helm chart in helm/dash deploys the Dash application and (optionally) an internal PostgreSQL, wiring configuration via Kubernetes resources.

  • Core resources: a Dash Deployment + Service (see deployment.yaml and service.yaml); optional Ingress in ingress.yaml.
  • Database: when postgres.enabled=true, it also deploys a Postgres StatefulSet + Service (see postgres-statefulset.yaml and postgres-service.yaml).
  • Secrets model (important): Dash and internal Postgres use one shared Secret (configured via dash.secrets.name). Postgres reads POSTGRES_PASSWORD from that Secret, and Dash builds DATABASE_URL from POSTGRES_PASSWORD plus the chart’s Postgres host/user/db settings to avoid credential drift.
  • External DB mode: when postgres.enabled=false, the chart does not deploy Postgres and Dash expects DATABASE_URL to be provided in the shared Secret.
  • Optional helpers: it can render placeholder Secret manifests (“blueprints”) in secret-blueprint.yaml and can render an ExternalSecret for syncing the shared Secret from an external store in externalsecret.yaml.
  • Values entrypoint: configuration defaults and knobs are in values.yaml; naming helpers are in _helpers.tpl.

oechsler pushed a commit that referenced this pull request Apr 27, 2026
@oechsler
Copy link
Copy Markdown
Owner

Hey, welcome and thanks for your contribution of the Helm charts!
Really glad to see you interested in the project; it means a lot.

I'll take a proper look at your changes over the next few days and get back to you with feedback.

Comment thread helm/dash/values.yaml Outdated
Comment on lines +125 to +130
# Secrets for internal Postgres are intentionally shared with Dash to avoid drift.
# NOTE: This section is deprecated and must match dash.secrets.* when postgres.enabled=true.
secrets:
name: "dash-secrets"
keys:
password: POSTGRES_PASSWORD
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, small question, since this is the first time we're adding Helm charts, I'm wondering why there's already a deprecated section (postgres.secrets.keys in values.yaml). Can you shed some light on that? Everything else looks good to me!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was a note to myself, just for the sake of completeness. At first, I had set it up so that there was one secret for the dashboard and one for Postgres, but this sometimes led to a mismatch because the two secrets weren’t in sync.

In fact, this part can even be removed since postgres.secrets.keys.* is no longer routed through the Helm chart and has thus become obsolete. The note was only meant to explain where the secret for Postgres is now, but I think that’s actually more confusing.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added another commit to the PR and removed the confusing part.

	modified:   helm/dash/templates/NOTES.txt
	modified:   helm/dash/templates/_validate.tpl
	modified:   helm/dash/templates/externalsecret.yaml
	modified:   helm/dash/templates/secret-blueprint.yaml
	modified:   helm/dash/values.yaml

Deleted "deprecated" part of the values.yaml. This section is no longer necessary because the dashboard and Postgres now use a shared secret.
@oechsler
Copy link
Copy Markdown
Owner

oechsler commented May 3, 2026

LGTM, will merge it.

@oechsler oechsler merged commit ef4f013 into oechsler:main May 3, 2026
2 checks passed
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.

2 participants