Import files into objects using helm

helm ConfigMap Secret file

2 min read | by Jordi Prats

When writing helm charts being able to specify the files to use for ConfigMap or a Secret objects is way more convenient than having the object already rendered. Using .Files.Glob we can tell help to import a set of files into the object

ConfigMap

If we want to push a file into a ConfigMap we can specify to .Files.Glob the files we want to import (we can use a wildcard for that) and then we can use AsConfig to it's result to be able to push it to a ConfigMap object, for example:

apiVersion: v1 kind: ConfigMap metadata:  name: cm-demo data: {{ (.Files.Glob "foo/*").AsConfig | indent 2 }} 

Secret

For Secret it works the same way it does for ConfigMap, we just need to use AsSecrets instead:

apiVersion: v1 kind: Secret metadata:  name: secret-demo type: Opaque data: {{ (.Files.Glob "bar/*").AsSecrets | indent 2 }} 

These functions are available starting Helm 2.0.2


Posted on 08/07/2022