#helmfile (2021-08)
Questions and discussion around helmfile https://github.com/roboll/helmfile and https://github.com/cloudposse/helmfiles
Archive: https://archive.sweetops.com/helmfile/
2021-08-03
![Tim Birkett avatar](https://avatars.slack-edge.com/2020-06-17/1195943326852_93709badec7475544cf0_72.jpg)
Has anyone used helmfile and helm-x together had problems with crds (the helm release trying to create/take ownership of them, they already exist from non helm-x install)?
2021-08-05
![Balazs Varga avatar](https://secure.gravatar.com/avatar/944e59f1543dc43935bda4d7b9be7f85.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png)
could somebody please share a transformers example for deployment where set spec/strategy ? Thanks
![rei avatar](https://secure.gravatar.com/avatar/707f916d5733af8f0ce7938695a8da03.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png)
Hello, I am having difficulties loading remote values files from a private GitLab repository using this proposed syntax: https://github.com/roboll/helmfile/tree/v0.140.0#loading-remote-environment-values-files
I try to use the following URLs:
<https://gitlab.com/><company>/<project>/<repo_name>/-/raw/{{ env "CI_COMMIT_SHA" | default "-" }}/config/config.yaml?private_token={{ env "CI_JOB_TOKEN" }}
git::<https://gitlab.com/><company>/<project>/<repo_name>.git@config/config.yaml?ref={{ env "CI_COMMIT_SHA" | default "-" }}
Interestingly when calling directly
go-getter "<https://gitlab.com/><company>/<project>/<repo_name>/-/raw/<CI_COMMIT_SHA>/config/config.yaml?private_token=<SECRET>" ./foo
it works.
Any ideas?
![rei avatar](https://secure.gravatar.com/avatar/707f916d5733af8f0ce7938695a8da03.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png)
The solution was in the test code here:
Use an @
to separate the path from the GIT url…
![rei avatar](https://secure.gravatar.com/avatar/707f916d5733af8f0ce7938695a8da03.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png)
The following syntax using an @
worked for me:
environments:
cluster-azure-us-west:
values:
- git::<https://gitlab.com/org/repository-name.git@/config/config.test.yaml?ref=main> # Public Gilab Repo
cluster-gcp-europe-west:
values:
- git::<https://ci>:{{ env "CI_JOB_TOKEN" }}@gitlab.com/org/repository-name.git@/config.dev.yaml?ref={{ env "APP_COMMIT_SHA" }} # Private Gitlab Repo
![Rinat Ishmukhametov avatar](https://avatars.slack-edge.com/2022-08-02/3879581810581_4b96f1dd5d2a52f872b9_72.jpg)
@rei hi! by any chance, can you please share the syntax that you used in the end? I mean an example with an actual Gitlab instance
![Rinat Ishmukhametov avatar](https://avatars.slack-edge.com/2022-08-02/3879581810581_4b96f1dd5d2a52f872b9_72.jpg)
been trying to solve the same problem for hours(
![rei avatar](https://secure.gravatar.com/avatar/707f916d5733af8f0ce7938695a8da03.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png)
This are actual working examples.
git::<https://ci:[email protected]/company/mycode.git@/config.dev.yaml?ref=aaaabbbbccccddddd>
I used this very same strings like documented and just replaced the private stuff with example strings
![Rinat Ishmukhametov avatar](https://avatars.slack-edge.com/2022-08-02/3879581810581_4b96f1dd5d2a52f872b9_72.jpg)
![Rinat Ishmukhametov avatar](https://avatars.slack-edge.com/2022-08-02/3879581810581_4b96f1dd5d2a52f872b9_72.jpg)
2021-08-06
![batistein avatar](https://secure.gravatar.com/avatar/0181682d3b6a0197dd5e4d4c5d443c04.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0009-72.png)
I have the following values:
service:
- servicea:
db:
enabled: true
- serviceb:
something:
another: "hello"
servicegroup:
group1:
callerservice:
db:
enabled: true
group2:
db:
enabled: false
something:
another: "hi"
Now I need to range over these values and find only the keys with “db”. Later the value of the key db should be passed to a template
This is what I have so far.
{{- range $db:= .Values }}
{{ printf "%s" $db }}
{{- if hasKey $db "db" }}
{{ printf "success: %s" $db }}
{{- end }}
{{- if not (kindIs "string" $db) }}
{{- range $db2:= $db }}
{{ printf "%s" $db2 }}
{{- if hasKey $db2 "db" }}
{{ printf "success: %s" $db2 }}
{{- end }}
{{- if not (kindIs "string" $db2) }}
{{- range $db3:= $db2 }}
{{ printf "%s" $db3 }}
{{- if hasKey $db3 "db" }}
{{ printf "success: %s" $db3 }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
the problem i have is that i have arrays and they cause the following error: executing “stringTemplate” at <$db>: wrong type for value; expected map[string]interface {}; got string
besides, it doesn’t look very nice either, if that could be solved recursively somehow I would be very grateful.
2021-08-09
![rms1000watt avatar](https://avatars.slack-edge.com/2023-12-08/6318001875107_13986079d7f8cfbeeec7_72.jpg)
Does anyone have any recommendations for diff
‘ing helm chart changes against live helm charts?
helm-diff
is nice, but I’m convinced it runs everything synchronously rather than concurrently? :sob:
(even tho this line is here) (ah, this for loop might be the synchronous part.. hmm)
I have 41 releases at the moment that takes about 2m 30s to complete with helm-diff
, which is really slow
I usually run it like helmfile -f stuff.yaml diff
![toast-gear avatar](https://secure.gravatar.com/avatar/0681ca91e7d60b8650c64f127d3e253c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png)
could you just use background tasks to run multiple diffs at once?
2021-08-10
2021-08-19
![Mark juan avatar](https://avatars.slack-edge.com/2021-07-13/2292339365024_c57ea0f8a407b5e03f33_72.jpg)
Do anyone know how to add cloudwatch as data source in grafana using this helm chart https://github.com/prometheus-community/helm-charts?
Prometheus community Helm charts. Contribute to prometheus-community/helm-charts development by creating an account on GitHub.
![Mark juan avatar](https://avatars.slack-edge.com/2021-07-13/2292339365024_c57ea0f8a407b5e03f33_72.jpg)
Tried with this but didnt worked out ,
grafana:additionalDataSources:
- name: Cloudwatch
type: cloudwatch
jsonData:
authType: arn
assumeRoleArn: "${ASSUME_ROLE_ARN}"
defaultRegion: "${CLUSTER_REGION}"
2021-08-21
![Andrew White avatar](https://avatars.slack-edge.com/2021-08-21/2399374689430_5c47be389e607f0fd5b1_72.jpg)
Hi – I feel like I’m missing something simple here, hoping someone can help me out.
If I define an ingress in a paperless_values.yml.gotmpl
file like so:
ingress:
main: # see: <https://github.com/k8s-at-home/charts/blob/master/charts/stable/paperless/values.yaml#L39>
enabled: true
<SNIP>
env:
PAPERLESS_TIME_ZONE: America/Los_Angeles
And reference from my helmfile:
- name: paperless
namespace: {{ .Values.paperless.namespace }}
chart: k8s-at-home/paperless
version: 7.0.0
values:
- paperless_values.yml.gotmpl
Everything works swimmingly. But if I move the ingress
key inline into the helmfile as follows, helmfile-diff
tells me there’s no longer an ingress for that release.
- name: paperless
namespace: {{ .Values.paperless.namespace }}
chart: k8s-at-home/paperless
version: 7.0.0
values:
- paperless_values.yml.gotmpl
- ingress:
main: # see: <https://github.com/k8s-at-home/charts/blob/master/charts/stable/paperless/values.yaml#L39>
enabled: true
<SNIP>
What am I missing here?
2021-08-31
![bradym avatar](https://avatars.slack-edge.com/2023-06-21/5464816405572_dd21bed1bf537acb6539_72.jpg)
Running into an issue with the bitnami/redis
chart.
My release:
- name: redis
version: 15.0.4
atomic: false
cleanupOnFail: false
chart: bitnami/redis
labels:
app: "{{`{{ .Release.Name }}`}}"
namespace: default
missingFileHandler: Error
dependencies:
- chart: bitnami/common
version: 1.8.0
alias: common
values:
- values-infra/redis.values.yaml.gotmpl
redis.values.yaml.gotmpl
is the default values file with a couple tweaks, and I’m getting this error:
in helmfiles/local-infra.yaml: [failed to render values files "values-infra/redis.values.yaml.gotmpl": failed to render [values-infra/redis.values.yaml.gotmpl], because of template: stringTemplate:1220:47: executing "stringTemplate" at <{{template "common.names.fullname" .}}>: template "common.names.fullname" not defined]
If I don’t try to include a values file it works fine. Any ideas?