Summary
I've built a Helm chart to deploy nao on Kubernetes and would like to propose it as a PR (already opened, but auto-closed pending approval: #1100).
What's included
- Full chart structure: Deployment, Service, ConfigMap, Secret, ServiceAccount, PVC, HPA, PDB, and a
helm test connection test
- Support for all three nao context modes via
config.contextSource:
local — mount a pre-populated PVC containing the nao project
git — clone the project from a Git repo at pod startup, with optional scheduled refresh
- Optional bundled PostgreSQL via the
bitnami/postgresql subchart, or connect to an external Postgres/SQLite instance via secrets.dbUri
- Configurable autoscaling (HPA) and PodDisruptionBudget
- Full values reference and installation/upgrade/rollback documentation
Installation example
```bash
helm repo add bitnami https://charts.bitnami.com/bitnami
helm dependency update ./helm
helm install nao ./helm
--namespace nao --create-namespace
--set secrets.betterAuthSecret="$(openssl rand -base64 32)"
```
Motivation
This makes it straightforward to run nao in production Kubernetes environments with proper scaling, persistence, and secret management, rather than requiring manual manifests.
Related PR: #1100
Happy to adjust based on maintainer feedback before opening/reopening the PR.
Summary
I've built a Helm chart to deploy nao on Kubernetes and would like to propose it as a PR (already opened, but auto-closed pending approval: #1100).
What's included
helm testconnection testconfig.contextSource:local— mount a pre-populated PVC containing the nao projectgit— clone the project from a Git repo at pod startup, with optional scheduled refreshbitnami/postgresqlsubchart, or connect to an external Postgres/SQLite instance viasecrets.dbUriInstallation example
```bash
helm repo add bitnami https://charts.bitnami.com/bitnami
helm dependency update ./helm
helm install nao ./helm
--namespace nao --create-namespace
--set secrets.betterAuthSecret="$(openssl rand -base64 32)"
```
Motivation
This makes it straightforward to run nao in production Kubernetes environments with proper scaling, persistence, and secret management, rather than requiring manual manifests.
Related PR: #1100
Happy to adjust based on maintainer feedback before opening/reopening the PR.