Official Helm charts for Stategraph - a modern Terraform/OpenTofu state management solution.
Add the Stategraph Helm repository:
helm repo add stategraph https://stategraph.github.io/helm-charts
helm repo updateDeploy Stategraph with bundled PostgreSQL database.
helm install my-stategraph stategraph/stategraph \
--namespace stategraph \
--create-namespaceTo deploy only the Stategraph application containers and connect to a database
you manage yourself, set postgresql.enabled=false. This skips the bundled
PostgreSQL Deployment, Service, and PersistentVolumeClaim, and points the app at
the host given by postgresql.host.
First, store the database password in a Secret (recommended for production):
kubectl create secret generic stategraph-db \
--namespace stategraph \
--from-literal=db-password='YOUR_DB_PASSWORD'Then install, referencing that Secret:
helm install my-stategraph stategraph/stategraph \
--namespace stategraph \
--create-namespace \
--set postgresql.enabled=false \
--set postgresql.host=my-postgres.example.com \
--set postgresql.port=5432 \
--set postgresql.auth.username=stategraph \
--set postgresql.auth.database=stategraph \
--set postgresql.auth.existingSecret=stategraph-db \
--set postgresql.auth.existingSecretKey=db-passwordNotes:
- The external database, user, and database name must already exist and be
reachable from the cluster at
host:port. - The app runs its own schema migrations on first boot, so the database user needs schema/DDL privileges.
- Alternatively, pass the password inline with
--set postgresql.auth.password=YOUR_DB_PASSWORDinstead of using a Secret. Do not leave it empty whenpostgresql.enabled=false— the chart would auto-generate a random password that won't match your external database.
See the chart README for detailed configuration options.
# Lint the chart
helm lint charts/stategraph
# Template the chart
helm template my-stategraph charts/stategraph
# Install from local directory
helm install my-stategraph ./charts/stategraph \
--namespace stategraph \
--create-namespace \
--dry-run --debugCharts are automatically released to GitHub Pages when changes are pushed to the main branch under charts/**. The GitHub Action uses chart-releaser to:
- Package the chart
- Create a GitHub release
- Update the Helm repository index
- Publish to GitHub Pages
To release a new version:
- Update the
versionfield incharts/stategraph/Chart.yaml - Update the
CHANGELOG.md(if applicable) - Commit and push to
main
The GitHub Action will automatically create a release and update the Helm repository.
- Documentation: https://stategraph.com/docs
- Issues: https://github.com/stategraph/releases/issues
- Chart Issues: https://github.com/stategraph/helm-charts/issues
Apache License 2.0