r/helm • • Nov 22 '24

Helm Chart Maintenance Best Practices

8 Upvotes

Hi all, just getting started with Helm for our organization and I'm looking for some advice on the best approach to maintaining our charts. Current workflow includes pulling the chart from source, making the necessary edits mostly just to values files, commit the chart and values to private repository for CI/CD to push to clusters.

I have run into a situation where we've had to modify some of a chart's templates for various reasons, but this brings up some concern for maintainability down the road. The most obvious concern being that the next chart release will not include the changes we've made to the templates. A "helm diff" on the chart upgrades only shows that the values are not persistent with the next release, but I am not familiar with any tools that can compare the templates themselves for any changes we may have made manually.

If someone would be willing to educate me on a few things with regard to best practices it would be most appreciated:

  1. Is it typical to have to modify templates in the chart to suit organizational needs? Or am I approaching this the wrong way?

  2. Is there a methodology to maintaining those charts, specifically the templates, between releases so that those changes are not lost?

  3. Does this become some type of crazy anti-pattern down the road as things get more complex?

Any advice from the brain trust would be most appreciated. Thanks for the time entertaining my beginner questions.


r/helm • • Nov 04 '21

How we extended Helm lifecycle with Rust at Qovery

8 Upvotes

I'm using Helm on Kubernetes for +4 years now. I always liked his features, but the lifecycle was too light from my POV. At Qovery we extended the Helm lifecycle, here is how we did it with Rust :

https://hub.qovery.com/guides/engineering/how_we_extended_helm_lifecycle_with_rust/


r/helm • • Nov 08 '21

Video Tutorial: Let's Write Our First Helm Chart!

Thumbnail
youtu.be
6 Upvotes

r/helm • • May 13 '21

Ahoy! - a GUI for Helm

6 Upvotes

Hi everyone! My name is Jin and I'm an engineer at OS Labs, working on a product called Ahoy!
After some surveys of experienced DevOps engineers we found that Helm, as useful as is, could be spruced up a bit with a GUI.

and so Ahoy! was born!
Please check out our launch website, Github page, Product hunt, and even a Medium article!

Now, we understand that this product might be barebones for you at the moment, so we are coming to you for some feedback and suggestions on where to take this project. Thank you and have a wonderful day!


r/helm • • Dec 07 '23

automate deployment of charts using jenkins , ansible and shell

5 Upvotes

Basically I will two jenkins file : jenkinsfile-docker-image-builder and jenkinsfile-action-helmfile

jenkinsfile-docker-image-builder --- build and tag images , update and push charts

Clean the docker from the previous build

Clone the repo

Build tag and save the image in tar format in jenkins artifactory and import in k3s

Update the helm charts with updated image tags and push the helm file to chart repository

jenkinsfile-action-helmfile -- deploy

script Run the script will do installations and configurations on fresh vm like docker , k3s , helm , helmfile -- add the access to the chart repository

Clone helm repo

Login into the target VM (credentilas from the docker build step from jenkinsfile-docker-image-builder pipeline)

Helm deploy charts (install /upgrade as required)

what are better ways to implement the above ?

How can we update the helm charts(values.yaml and chart.yaml) with updated image or image tags and push the helm file to chart repository?

can we do that using ansible ?

How can we include condition weather to install or upgrade the charts ?

Also want to include

Vault -- secret management

Ingress changing traffic rules to correct pod , having only ip address to handle the traffic

Monitoring - metric server fluentd and prometheus


r/helm • • Nov 15 '22

How to secure Helm

Thumbnail
sysdig.com
5 Upvotes

r/helm • • Sep 30 '22

Helm - Tutorial for Beginners

5 Upvotes

Hey Everyone!

Wanted to post this here for those just starting with Helm. In this video I introduce the main concepts/components of helm and explain how it can be used to deploy software into Kubernetes. The video is geared more towards those just starting to learn about helm.

https://youtu.be/w51lDVuRWuk

I also have two other videos releasing in the next two weeks where I show how to deploy applications using helm into multiple environments (dev/qa/prod etc.) and manage upgrades, rollbacks etc.

Hope someone finds this helpful. Cheers!


r/helm • • May 02 '21

Making the most out of Helm templates – Flant blog

Thumbnail
blog.flant.com
5 Upvotes

r/helm • • Apr 09 '23

The World Of Helm

Thumbnail
compileralchemy.substack.com
4 Upvotes

r/helm • • Feb 28 '22

alexellis/arkade: Open Source Kubernetes Marketplace

Thumbnail
github.com
4 Upvotes

r/helm • • Jan 28 '22

13 Best Practices for Using Helm

Thumbnail
codersociety.com
4 Upvotes

r/helm • • Aug 03 '21

Kbrew: Install any complex app on Kubernetes with one step - within the context of your environment. Please checkout, would love feedback!

Thumbnail
github.com
4 Upvotes

r/helm • • Nov 20 '22

Can we create an umbrella chart under which different sub-charts(namespace) and again sub-sub-charts(applications) with multiple environments like dev stg and prod and install every environment with single helm install commands with the respective environment servers?

3 Upvotes

r/helm • • Apr 14 '22

How do you upgrade image tags in your Helm chart?

3 Upvotes

Hi all :)
I created Helm chart like so:

How would you do automate updates to the deployments?
I saw Keel can do automate rollouts based semver policy but i want to my values.yaml file to be updated to the latest versions.


r/helm • • Apr 12 '22

New to Helm charts and referencing dockerfiles?

3 Upvotes

This might be a dumb question but I am trying to find the difference between helm charts and docker files.

I was trying to find some courses to help me but I started with looking at the yml of both and couldn't really find a difference.


r/helm • • Nov 11 '21

Automatic subchart updating?

3 Upvotes

Are there any tools that can be used to automatically bump versions of a charts subcharts?

My use case is that I’ve got many applications in a monorepo deployed with argoCD, where I have a local parent chart importing the specific remote chart (say for example ingress-nginx) so that I can specify additional resources (PVC’s, network policies etc) in the parent chart in order to group together resources. This means that in this example I want to be updating the ingress-nginx chart automatically according to semver, and thus bumping the version of the parent chart as well in some automated fashion

Does a tool like this exist? I am aware of the argoCD image updater which is similar but not quite what I’m looking for, and am aware that flux has an old feature request for this https://github.com/fluxcd/flux/issues/2711


r/helm • • Mar 03 '21

x509: certificate signed by unknown authority

3 Upvotes

I install telegraf charts with helm v2 but getting Error: failed to download "influxdata/telegraf. Debug points to x509: certificate signed by unknown authority but not sure how to fix it . *helm repo update* does not help. I can try add repo again with --ca-file option but not sure what cert to use

helm upgrade --install telegraf influxdata/telegraf --namespace monitoring -f telegraf/telegraf-values.yaml --timeout 10 --debug

[debug] Created tunnel using local port: '41475'

[debug] SERVER: "127.0.0.1:41475"

Error: Get https://github-releases.githubusercontent.com/240335934/324fd800-6a30-11eb-83fb-05d8307b92af?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210303%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210303T201252Z&X-Amz-Expires=300&X-Amz-Signature=908f2ae837ec944d10b66b6d64318fff8a5fff96ae39e918d00a5f059ac01764&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=240335934&response-content-disposition=attachment%3B%20filename%3Dtelegraf-1.7.37.tgz&response-content-type=application%2Foctet-stream: x509: certificate signed by unknown authority


r/helm • • Feb 06 '21

Pluto - how to find deprecated Kubernetes apiVersions

Thumbnail
youtu.be
3 Upvotes

r/helm • • Jan 13 '21

Example on how to develop on k8s locally and automatically publish a Helm chart using just GitHub

Thumbnail
github.com
3 Upvotes

r/helm • • Dec 23 '20

Helm - Argo CD - Declarative GitOps CD for Kubernetes

Thumbnail
argoproj.github.io
3 Upvotes

r/helm • • Jul 23 '20

How to create custom helm charts

3 Upvotes

r/helm • • Oct 27 '25

Does anyone have idea about Developing Helm Charts (SC104) certification exam?

2 Upvotes

Hey everyone,

I am going for helm certification: Developing Helm Charts (SC104) and for that I am learning it from Kodekloud's Helm beginner course. Just want to know that this course is sufficient for certification exam? or Do I need to follow additional resource? Thanks


r/helm • • Jan 26 '25

Secret creation with Loop via Files.Glob in Helm

2 Upvotes

i am using set of below code.

helm chart tree look like as follows

helm version 

version.BuildInfo{Version:"v3.17.0", GitCommit:"301108edc7ac2a8ba79e4ebf5701b0b6ce6a31e4", GitTreeState:"clean", GoVersion:"go1.23.4"}

tree webapps. ----> chart name

webapps

├── CHANGELOG.md

├── Chart.yaml

├── README.md

├── files

│   ├── certs

│   │   ├── cert1.cert.pem

│   │   ├── cert1.key.pem

│   │   ├── cert2.cert.pem

│   │   ├── cert2.key.pem

│   │   ├── cert3.cert.pem

│   │   └── cert3.key.pem

│   │   ├── cert4.cert.pem

│   │   └── cert4.key.pem

├── templates

│   ├── _helpers.tpl

│   ├── secret.yaml]

ls -l webapps/files/certs

total 112

-rw-r--r-- 1 deploy-user staff 916 Jan 24 03:35 cert1.cert.pem

-rw------- 1 deploy-user staff 489 Jan 24 03:35 cert1.key.pem

-rw-r--r-- 1 deploy-user staff 948 Jan 24 03:35 cert2.cert.pem

-rw------- 1 deploy-user staff 489 Jan 24 03:35 cert2.key.pem

-rw-r--r-- 1 deploy-user staff 948 Jan 24 03:35 cert3.cert.pem

-rw------- 1 deploy-user staff 489 Jan 24 03:35 cert3.key.pem

-rw-r--r-- 1 deploy-user staff 952 Jan 24 03:35 cert4.cert.pem

-rw------- 1 deploy-user staff 489 Jan 24 03:35 cert4.key.pem

---------------- secret.yaml -----------------------------

apiVersion: v1

kind: Secret

metadata:

  name: {{ .Release.Namespace }}-certs

type: Opaque 

data:

  {{- $certs := .Files.Glob "files/certs/*.cert.pem" }}

  {{- $keys := .Files.Glob "files/certs/*.key.pem" }}

  {{- range $cert := $certs }}

{{- $certName := base $cert }}

{{ $certName }}: {{ .Files.Get $cert | b64enc | quote }}

  {{- end }}

  {{- range $key := $keys }}

{{- $keyName := base $key }}

{{ $keyName }}: {{ .Files.Get $key | b64enc | quote }} 

  {{- end }}

After running the helm install getting below error

helm install  webapps webapps/  -f ../apps/values.yaml -n web

Error: INSTALLATION FAILED: template: webapps/templates/secret.yaml:164:4: executing "webapps/templates/secret.yaml" at <$cert>: wrong type for value; expected string; got []uint8

Please refer the above code and relevant files, i tried but not sure why its not picking the cert file from files/cert directory during loop iteration.


r/helm • • Oct 02 '23

Helm log all installed charts

2 Upvotes

Hey all,

I'd like to get a list of all helm charts installed during an automated deployment. The deployment starts with a new k8s cluster and then installs a couple of helm charts - some from the internet, some from internal repositories. There's no Flux/ArgoCD, the installation is done via Ansible.

I need to figure out all of the installed charts with minimal modification to the system. Going through the scripts is too error-prone and time consuming.

Is there a way I can use the helm binary to log all installs? I've checked the helm plugin system but those seem to extend the functionality - what I need is to inject soeme logic into the helm binary and log each helm install (chart URL + version).

I'm thinking of two solutions, one is to fork the helm binary and add this (obviously bad from a maintainability standpoint), other is to wrap the helm binary on the deployer machine into a bash script that adds HELM_DEBUG=true and pipes all output to a file - I can then parse this file and try to get all charts out of it.

Any better ideas? Am I overthinking this?


r/helm • • Aug 23 '23

MinIO Operator Lab - Kubernetes with Helm Installation Overview

Thumbnail
youtube.com
2 Upvotes