With Kubernetes 1.10.* we can use binaryData:
with ConfigMap
and I am trying to combine it with Helm
:
apiVersion: v1
kind: ConfigMap
metadata:
name: some_config_map
data:
text_data: |-
{{ .Files.Get "truststores/simple_text_file.txt" }}
binaryData:
trustore.jks: |-
{{ .Files.Get "truststores/trustore.jks" | b64enc }}
I am not sure about the last line - regardless of syntax:
{{ "truststores/trustore.jks" | b64enc }}
{{ "truststores/trustore.jks" }}
the trustore.jks
is empty when I deploy it.
So how can I use binaryData:
?
Your syntax looks fine and everything should work properly. Files in the field binaryData
must be encoded with base64, so, {{ .Files.Get "truststores/trustore.jks" | b64enc }}
is correct.
Try to apply the configuration with debug key and investigate what went wrong, possibly there is no such file or there are some problems with encoding.
This might be too late, but maybe it will help someone.
You need to add indentation to your base64 encoded string.
{{ .Files.Get "truststores/trustore.jks" | b64enc | indent 4}}
This is also applies to your text file:
{{ .Files.Get "truststores/simple_text_file.txt" | indent 4}}
This should add 4 spaces to each line from the file
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With