[Helm] Publish the chart to a public Helm repository #22572
mhorcajada
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Problem
The Helm chart at
packages/twenty-docker/helm/twentycan only be installed by cloning the monorepo and pointinghelm installat the local path. This causes a few practical issues for self-hosters:helm repo add, so it is left out of GitOps tools that rely onHelmRepositorysources (Flux). The choice is either to fork and re-package the chart on your own infrastructure, or to fall back to manualhelm installoutside of GitOps, which breaks fleet uniformity.Chart.yamlappVersionis not bumped on release. It currently points tov1.14.0while the product is onv2.16.x, so anyone who does not overrideimage.tagin theirvalues.yamlends up running a very outdated image without noticing.The community chart at
AMecea/helm-twentycrmis the workaround some users take today. It is not affiliated with TwentyHQ, which fragments the ecosystem and puts the maintenance burden on an unrelated contributor.We believe lowering the friction of self-hosting on Kubernetes would meaningfully increase k8s adoption of Twenty. Today the cluster-based installation path is significantly less polished than the Docker Compose one, which leaves a part of the technical audience (the segment most likely to dogfood AI-native CRMs) on the sidelines.
Proposed solution
Publish the chart on each tagged release through a classic Helm repository hosted on GitHub Pages at
https://twentyhq.github.io/charts/. Same approach as cert-manager, ingress-nginx, longhorn, and many other widely adopted CNCF projects.End user experience would be the standard one:
The setup is essentially a GitHub Action that runs on tagged releases and pushes the packaged chart plus an updated
index.yamlto agh-pagesbranch.helm/chart-releaser-actiondoes this out of the box and is the de facto standard for this workflow.To follow the recommended practices for Helm chart publishing, each release should also ship:
versionfield inChart.yamlfollowing SemVer for the chart itself (independent from the product version, as cert-manager and ingress-nginx do).artifacthub.io/changesannotation inChart.yaml, or aCHANGELOG.mdnext to the chart, so the per-version changelog is rendered automatically by Artifact Hub and byhelm/chart-releaser-actionGitHub Releases.artifacthub.io/category,home,icon, andmaintainersblock inChart.yamlso the chart is discoverable on Artifact Hub.Bonus: align Chart.yaml
appVersionwith the release tagUpdate
appVersioninpackages/twenty-docker/helm/twenty/Chart.yamlas part of the release process so the defaultimage.tagmatches the released product version. This avoids the silent regression where new users end up runningv1.14.0.All reactions