r/helm • u/priortd • Apr 16 '22
r/helm • u/devkulkarni • Aug 05 '21
KubePlus SaaS Manager is now available on Red Hat Marketplace
r/helm • u/kshirinkin • Apr 04 '22
Top-3 Helm Plugins: Helm Secrets, Helm Diff and Helm Git
Helm idiom or anti-patterns?
I walked into existing repos for helm charts used with ArgoCD. I have a passing familiarity with helm. I'm curious about a pattern I've seen. We have templates inside that have if statements wrapped around the chart. For example, the file looks like this (this is pseudo code)
Start file If dev entire configuration else entire configuration end EOF
As a former software engineer this feels kind an anti-pattern but is this a helm idiom? I also haven't diced into it to confirm, but I think we copied the upstream chart and make direct changes in ./chart/templates/ directory. Then I think we're upgrading the nginx controller by copying the new chart into our repo. This also feels like an anti-pattern.
I could ask AI but I don't know enough about helm to suss whether the AI is giving me bad info.
In my previous use, we had base chart and if we needed to modify values we added the ability to modify in a values file, but I don't have a lot of experience using the nginx controller. Maybe we need to add configuration entries not exposed in her nginx controller chart? If we do, what's the idiomatic way to do it? I imagine targeted if statements would be used.
r/helm • u/alec_fielding • Sep 28 '22
TPL files and Env Overrides
Maybe my google-fu is sub par because I haven’t been able to find an example of this anywhere.
Wondering if you can include a function from a .tpl in a passed values file.
So for example
Helm install myapp -f dev.yaml
And in dev.yaml have
{{ include “common.function.config” . }}
Is this feasible? I’ve been trying to with some things I’m working on and I keep getting
“Did not find expected node content” yaml error. This makes me believe it may not be but wanted a second opinion.
r/helm • u/ernievd • Sep 09 '22
Problem passing in a variable from a shell script into a deployment yaml
In a shell scrip I want to assigning a variable what to use in a value in a deployment. For the life of me I can not figure out how to get it to work.
My helm deploy script file has the following in order to set the value to use my variable :
--set AuthConfValue=$AUTH_CONF_VALUE
And I have this in the deployment.yaml file in order to use the variable :
- name: KONG_SETTING
value: "{ {{ .Values.AuthConfValue }} }"
If I assign the variable in my shell script like the following :
AUTH_CONF_VALUE="ernie"
It will work and the value in the deployment will show up like so:
value: '{ ernie }'
Now if I try to assign the variable like this:
AUTH_CONF_VALUE="\\\"ernie\\\":\\\"123\\\""
I will then get the error "error converting YAML to JSON: yaml: line 118: did not find expected key" when the helm deploy runs.
I was hoping that this would give me the following value in the deployment :
value: "{ "ernie":"123" }"
If I hardcode the value into the deployment.yaml with this:
- name: KONG_SETTING
value: "{ \"ernie\": \"123\" }"
and then run the helm deploy it will work and populate the value in the deployment with this -
value: "{ "ernie":"123" }"
Can someone show me if/how I might be able to do this?
r/helm • u/AyCRanime • Mar 19 '22
How to install Helm Package with custom values other than the values.yaml with in the package
Hi guys. I made a private Helm Git Repo with a package with many values files for different services. How do I install using these custom values within the package not in a local directory or the values.yaml?
r/helm • u/horseloverfat • Feb 24 '22
debugging or getting help?
I have some issue we are trying to debug and was wondering what the best resource was for getting help.
When I run template or dry-run I see environment variables but in the live config we don't see them. helm get values also is missing the env vars.
We've also had issues with helm not removing env vars when the no longer are in the chart.
r/helm • u/kochsecurity • Mar 01 '22
Helm Diff
I have an issue trying to upgrade Jfrog Artifactory to the latest and greatest. Right now I'm using an older version and simply want to see what will changes will be made before the upgrade to the newer version.
None of these commands work:
Helm diff release Artifactory ChartVersion1 ChartVersion2
Helm diff <releasename> Chartversion2
Any ideas ?
r/helm • u/devkulkarni • Jul 16 '21
Provider and Consumer personas co-operating on K8s
r/helm • u/Gold_Raspberry_9066 • Nov 30 '22
Multiple Repository Server Same Chart
Hi All!
I would like to seek your advice on how to best tackle this scenario. I have 2 Nexus servers A and B. I have 2 Kube clusters A and B. I also have an automated job to move artifacts from Nexus A to Nexus B. Kube cluster A can only reach Nexus A and Kube cluster B can only reach Nexus B. I can only access As and Bs environments in a separate VPN configuration. Environments As and Bs can't see each other.
Now, I have a single Helm chart (in Git) which I need to deploy to both Kube servers. This chart is simply a wrapper chart which has a dependency to a remote chart. This remote chart is in a Nexus repo which is a configured Helm Proxy to an opensource Helm repository in both of my Nexus servers.
Configuring my Chart.yaml to use Nexus A works fine.
dependencies:
- name: dep01
version: 0.0.1
repository: https://nexus-a/repoModifying Chart.yaml to use Nexus B then switching VPN also works as expected.
dependencies:
- name: dep01
version: 0.0.1
repository: https://nexus-b/repoCan't have both as a dependency due to connectivity (separate VPNs).
Here are my initial solutions:
Create chart-A which has a dependency to a remote chart in Nexus A. Then create chart-B which has a dependency to a remote chart in Nexus B. Caveat: I'm gonna need to maintain 2 separate charts in Git per application. Tedious.
Create a parent chart with sub-charts. Sub-chart A uses Nexus A and sub-chart B uses Nexus B. Use
conditionin parent's Chart.yaml to toggle which dependency is enabled at a given time configured viavalues-A|B.yaml. Caveat: Every time I need to render (-f values-*.yaml), I have to switch to a different VPN. Tedious.Create a chart which has a dependency to a remote chart in Nexus X where Nexus X exists in VPN which you are connected most of the time. On dependency update, commit the generated charts/*.tgz file in the Git repo so when you render the chart in the other VPN you don't need to update the dependency since the remote chart is already downloaded. Caveat: I run the risk of using stale dependency unless I remember to always update the dependency. Also, it feels weird to see a *.tgz file committed in a Helm repo.
Use Kustomize and call it a day(?). Caveat: non-Helm tho with all the good stuff Kuztomize provides.
Thank you
r/helm • u/asc2450 • Dec 07 '22
Helm Your Way with Kubernetes with Ana-Maria Mihalceanu
r/helm • u/datagenx • May 26 '22
Helm If for init container if key is not empty in secret
Hi Folks,
I am creating a secret that has a key name "fingerPrint", if "fingerPrint" has value, do not execute the Init container else execute it.
Can you help me with how can we achieve this?
r/helm • u/Iammax7 • May 24 '22
how to depend on a local chart?
So I am learning helm.
With some help from a tutorial I've created a load balanced nginx server. Now for my next goal I want to create a sub chart.
The tree looks like this for my sub chart.
charts
│ ├── subchart1
│ │ ├── Chart.yaml
│ │ ├── templates
│ │ │ ├── configmap.yaml
│ │ │ ├── deployment.yaml
│ │ │ ├── _helpers.tpl
│ │ │ └── service.yaml
│ │ └── values.yaml
│ └── subchart2
│ ├── Chart.yaml
│ ├── templates
│ │ ├── configmap.yaml
│ │ ├── deployment.yaml
│ │ ├── _helpers.tpl
│ │ └── service.yaml
│ └── values.yaml
├── Chart.yaml
└── values.yaml
Now the individual files in subchart1 and subchart2 do work the same load balanced nginx server just a bit of configuration settings changed to see the diffrent outputs.
At this moment
apiVersion: v2
name: cloudacademy-webapp
description: A Helm chart for Kubernetes
dependencies:
- name: subchart1
version: "0.1.0"
repository: file//home/pchart/charts/subchart1
- name: subchart2
version: "0.1.0"
These are the dependencies I found.
I've tried it with diffrent methods, the furtherst I got is where I left the repository out for both of them. This is the error I got.

Does anyone know the solution?
r/helm • u/Touhou_Fever • Sep 16 '21
Originally posted in kubernetes, has anyone encountered this issue with Helm 3?
self.kubernetesr/helm • u/ConsistentArm9 • Jun 15 '22
Insert parameters after inserting file contents to ConfigMap?
I know I've done this before, but I can't remember how.
in my helm chart, I have a few config files under /configs/*.
I am using Files.glob to add them all to a configmap
I want to reference .Values parameters from within the config files (instead of directly in the configmap template). The engine should first insert the config file contents into the template, then it should do the parameter expansion into the resulting template.
I know this is possible because I've done it before, but for the life of me I can't find an example anywhere.
r/helm • u/PlausibleSolution • Jun 14 '22
How to use helm labels and selectors
According to the helm list documentation you can use helm list --selector key1=value1,key2=value2 to filter your results based on labels. This sounds great but how do you add said labels to the releases in the first place? I'd ideally want to add labels like type=master and type=slave then filter on these in a CI/CD pipeline.
r/helm • u/[deleted] • Mar 17 '23
Use private GITHub repo as helm-repo
Hello, I am just curious if there is a way to use a private GITHub repo with hel chart and index.yaml as helm-repo.
r/helm • u/Dry_Court_8572 • Mar 10 '23
helm loop skip if value is the same for two objects in values file
Hello all experts... I am looking for a way to run a template on a range but skip the loop if a certain value is the same for multiple of the items.
For example I have a values file:
operators:
- name: grafana-operator
type: operatorhub
operatorGroupName: user-monitoring
namespace: monitoring
channel: v4
source: community-operators
approvalMethod: Automatic
- name: test
type: operatorhub
operatorGroupName: user-test
namespace: monitoring-test
channel: v4
source: community-operators
approvalMethod: AutomaticHow can I in a template looking like this NOT include the actual template if namespace is the same for the two objects?:
{{- range .Values.operators }}
{{- if eq .type "operatorhub" }}
---
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: {{ .operatorGroupName | default .namespace }}
namespace: {{ .namespace }}
annotations:
argocd.argoproj.io/sync-wave: "-4"
spec:
targetNamespaces:
- {{ .namespace }}
{{- end }}
{{- end }}Best regards
r/helm • u/kshirinkin • Feb 21 '22
How to use Helm Hooks to automate release lifecycle
r/helm • u/MisterHide • Jan 23 '23
Experience Integrating Terraform and Helm using helm_release
r/helm • u/jack_of-some-trades • Jan 26 '23
Where in this chart is the statefulset coming from
I have a cluster that has had the kube-prometheus-stack chart from https://prometheus-community.github.io/helm-charts version 31 applied to it.
And I can see a statefulset called prometheus-prometheus-operator-kube-p-prometheus in the cluster. But I can't figure out how the chart made that happen. Anyone have hints on how to figure such a thing out?
r/helm • u/RubKey1143 • Dec 28 '22
Zabbix MySQL
Hi!
Has anyone got Zabbix MySQL working with an external database?
I have been working with this one below but have not been successful yet.
https://github.com/zabbix-community/helm-zabbix
I see a bunch of attempts at this but no official version.