Skip to content

Add Helm chart for Kubernetes deployment #1101

Description

@mfournioux

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions