Search code examples
kuberneteskubernetes-helm

In Helm, is there a purpose to a repository if the application isn't being distributed?


When using Helm with Kubernetes, is there a use-case for creating a remote helm repository if you're not intending to distribute your application outside of your organization?

ie. you have my-python-app, with a directory structure like:

app.py
chart.yaml
templates/
   - my-app-deployment.yml
   - my-app-service.yml
values.yml

You plan to deploy this application on your CI server by checking out the deployable commit hash, running docker build and docker push, and helm upgrade -i.

Does pushing charts to a private helm repository for this app provide any benefit?


Solution

  • It always depends on your use cases.

    But if you have different developers in your organization they may benefit of a remote repository for developing and local testing. Say that I'm developing application A, and I need application B running locally to test something. I could clone the repository where application B lives and install the helm chart on that repo. But if the chart was published in a remote repository, I don't even need to clone the application's repository in the first place, because I can just run helm install. The Helm repository also stores different versions for applications, so it gives the opportunity to easily install different versions of the application B.

    In summary, I'd say it's worth it if you find yourselves locally installing charts, often needing specific application versions.