#helmfile (2019-01)
Questions and discussion around helmfile https://github.com/roboll/helmfile and https://github.com/cloudposse/helmfiles
Archive: https://archive.sweetops.com/helmfile/
2019-01-08
@daveyu has joined the channel
I’m trying to set container args so the spec in the deployment manifest looks like this:
spec:
containers:
- args:
- -endpoint
- $(ES_ENDPOINT)
However, when using the monochart and specifying like this:
deployment:
pod:
args:
- -endpoint
- $(ES_ENDPOINT)
This is the manifest that gets generated:
spec:
containers:
- args:
- -endpoint $(ES_ENDPOINT)
Any ideas?
I think there was a recent bug with this
@Andriy Knysh (Cloud Posse) was that fixed?
@Igor Rodionov
(btw, a bunch of open PRs against monochart https://github.com/cloudposse/charts/pulls)
The “Cloud Posse” Distribution of Kubernetes Applications - cloudposse/charts
what Add container.command to monochart's cronjob, daemonset, deployment, job and statefulset why To be able to override ENTRYPOINT from containers' Docker images Need to override ENTRYP…
hmm… i did not see those issues, maybe from some recent additions
looks like we only support args as a string
The “Cloud Posse” Distribution of Kubernetes Applications - cloudposse/charts
are you running the latest release?
0.9.0
we always supported args
as strings, but after the latest addition from @Igor Rodionov I think it could be yaml now https://github.com/cloudposse/charts/blob/master/incubator/monochart/templates/deployment.yaml#L56
this is with 0.8.0
update to 0.9.0
and test with yaml
will do. thanks
so.. i can’t figure out how it should be as yaml
sec
My guess is this should look something like
args:
{{ toYaml .Values.deployment.pod.args | indent 10 }}
basically, put it on a new line
2019-01-16
Use any guy repo with Helmfile https://github.com/aslafy-z/helm-git
Helm plugin to get charts from Git, even if non-packaged. - aslafy-z/helm-git
@Igor Rodionov
@Daren
Nice, looks like a better implementation.
yea, uses git protocol scheme so it’s compatible with all helm tools
Yep helm-git seems GREAT. I’m even considering to include it in helmfile’s docker image https://github.com/roboll/helmfile/issues/436
How about adding a “mixins” to helmfile? I need your feedback(s)! https://github.com/roboll/helmfile/issues/428#issuecomment-455055033
I've written a helmfile containing abut 40 releases and I'm having to repeat myself a lot: Example: - name: heapster namespace: kube-system chart: stable/heapster version: 0.3.2 values: - &…
Not something that immediately jumps out at me.
I've written a helmfile containing abut 40 releases and I'm having to repeat myself a lot: Example: - name: heapster namespace: kube-system chart: stable/heapster version: 0.3.2 values: - &…
@Igor Rodionov @alebabai @joshmyers @Andriy Knysh (Cloud Posse) any opinion?
And also a gomplate integration for sourcing helm chart values from vault (and more in the future https://github.com/roboll/helmfile/issues/392#issuecomment-455061273
Currently there are many users that want to integrate Vault with Kubernetes, but there are no high level tools for this. The current Kubernetes AuthMethod for Vault is too complex and coupled to th…
Have you ever wanted to write {{ readFile "whatever" | tpl . }}
in your helmfile templates?
https://github.com/roboll/helmfile/issues/420
Hi! Helm can render a file template with tpl function, helmfile has readFile option, but it reads file "as is". It would be nice to have tpl alternative here. Maybe you can: render files …
It sounds cool, but I haven’t specifically needed it
Hi! Helm can render a file template with tpl function, helmfile has readFile option, but it reads file "as is". It would be nice to have tpl alternative here. Maybe you can: render files …
however… I think @alebabai has wanted it
hi @alebabai do you have any use-case regarding this feature?
@zadkiel has joined the channel
2019-01-17
Hi guys, i’m struguling trying to make helmfile (helm diff) work with my git plugin
it looks like the HELM_HOME isn’t set and as the plugin uses helm cmd it fails
Error: Couldn't load repositories file (repository/repositories.yaml).
You might need to run `helm init` (or `helm init --client-only` if tiller is already installed)
Error: found in requirements.yaml, but missing in charts/ directory: webhook
within my git downloader plugin called by helm diff
I fixed it by setting up a temporary helm home in a temp file:
HELM_HOME=$(mktemp -d)
trap 'rm -rf "$HELM_HOME"' EXIT
helm init --client-only --home "$HELM_HOME"
export HELM_HOME
Still, I can’t access to the existing repositories.
What is the error you are getting now?
No more error now, but the plugins resolves dependencies for plugin (with helm dependency update) without using the existing user repositories as I had to setup a temporary helm home
Now I hit something else,
hooks:
- events: ['prepare']
command: 'kubectl'
args: ['{{if eq .HelmfileCommand "delete"}}delete{{else}}apply{{end}}', '-f', '<https://gist.githubusercontent.com/aslafy-z/8725d10394b6f434ce0da65accfc994b/raw/fb32e659e97da5bd9a8a91dcd7e0de6d2a891b81/cert-manager-0.5.2-crd.yaml>']
gives me
error during helmfile.yaml parsing: template: stringTemplate:27:22: executing "stringTemplate" at <.HelmfileCommand>: can't evaluate field HelmfileCommand in type tmpl.TemplateData
There should be at least one more hook who triggers on a release delete
I should be able to use this kind of templating right?
@Erik Osterman (Cloud Posse) any clue?
(we are not using hooks yet…)
but i like what you’re trying to do
we could use that too…e.g. with kiam
to annotate a namespce
@Igor Rodionov
I saw helmfile hooks just today
@zadkiel rather than use kubectl
, have you considered using the raw
chart?
Curated applications for Kubernetes. Contribute to helm/charts development by creating an account on GitHub.
Also, check out our monochart: https://github.com/cloudposse/charts/tree/master/incubator/monochart
The “Cloud Posse” Distribution of Kubernetes Applications - cloudposse/charts
We can deploy nearly any service without writing a helm chart
2019-01-18
Waw that’s cool! Fits perfectly helmfile
Wouldn’t it be somewhat bloated to use a full chart just to deploy a crd? Should I add the base chart (cert-manager) and his crd as realease in a single helmfile? And then depend on this helmfile within another one?
Any idea why the templating line I send doesn’t work?
Wouldn’t it be somewhat bloated to use a full chart just to deploy a crd?
my preference is consistency
with helm, we get a history of releases/changes
we treat it like an OS package manager
prefer apk add something
over tar -zvxf something.tar.gz && make -C something all install
so to say
2019-01-19
Sure, will try it! Still, any idea about the templating issue ? :/
2019-01-20
@zadkiel Hey! I guess you need to defer template execution.
Raw template exprs like ` {{ .Foo.Bar }} ` are executed at parsing helmfile.yaml
. What you need there is defer the execution of {{ .Helmfile.Command ... }}
until each release is processed(which is where the hook happens).
Try using golang template comments for that.
More concretely,
{{if eq .HelmfileCommand "delete"}}delete{{else}}apply{{end}}
should be rewritte to:
"{{`{{if eq .HelmfileCommand "delete"}}delete{{else}}apply{{end}}`}}"
2019-01-21
Gathering feedbacks on helmfile values
https://github.com/roboll/helmfile/issues/430
This is a feature request. This is entirely for debugging purposes and should include secrets - maybe with a –secrets flag - and should also take into consideration environments. I conjured up thi…
And the upcoming Release Template feature https://github.com/roboll/helmfile/pull/439
This feature is supposed to help advanced use-cases like Conventional Directory Structure explained in several issues like #428. Newly added configuration keys templates, missingFileHandler, and th…
@Igor Rodionov any opinions?
Hi guys! I finished helm-git
refactor to make it more modulable and robust. It’s still pending as a PR, feel free to give an eye and throw your opinion / review: https://github.com/aslafy-z/helm-git/pull/1. Thanks!
Fully refactored Change syntax to: git+[repo]@[ref]/[path] Accepts direct path to Chart (with Chart.yaml) Fixed lot of bugs Still fully POSIX sh compliant Add tests Setup CI
Added a comment
Awesome work! Just added comments as well.
Thanks @mumoshu - good point
Deploy Kubernetes Helm Charts. Contribute to roboll/helmfile development by creating an account on GitHub.
@Igor Rodionov @joshmyers @Andriy Knysh (Cloud Posse)
layering is supported
super!
2019-01-22
Still working on helm-git
, switching from ‘@’ to ‘//’ broke helm fetch repo/chart
calls. Had to revert
I’m still blocked to deploy cert-manager. I need to deploy it’s CRDs before deploying it, and apply configured CRDs resources after all.
One way simple to do that would be to accept concurrency
field within helmfile.yaml
so I could have a helmfile dedicated to cert-manager and apply my resources one by one
repositories: - name: coreos url: https://s3-eu-west-1.amazonaws.com/coreos-charts/stable/ releases: - name: prometheus-operator namespace: monitoring chart: coreos/prometheus-operator values: - pr…
makes sense.
but a better way would be to use sub-helmfiles for ordering?
repositories: - name: coreos url: https://s3-eu-west-1.amazonaws.com/coreos-charts/stable/ releases: - name: prometheus-operator namespace: monitoring chart: coreos/prometheus-operator values: - pr…
yaml
helmfiles:
- cert-manager.yaml
- apps.yaml
then helmfile apply
runs basically helmfile -f cert-manager.yaml apply
followed by helmfile -f apps.yaml apply
I’m looking for a tool that takes a yaml k8s resources file and convert it into a compatible value file for incubator/raw. Any idea?
Haven’t seen a tool for that
However, have you seen yq
?
Cloud Posse installer and distribution of native apps, binaries and alpine packages - cloudposse/packages
Since you’re a total scripting ninja, you could probably munge the YAML with this tool
2019-01-23
anyone uses requirements.yaml
and requirements.lock
with helmfile? welcoming your opinion on https://github.com/roboll/helmfile/issues/415#issuecomment-457097079
I think that helm dependency update is meant to be used to explicitly update the lockfile, while helm dependency build is meant to be used to get your charts directory in a state coherent with the …
2019-01-24
interested in adding a helm-tiller integration to helmfile? come to leave your comment! https://github.com/roboll/helmfile/issues/449
Proposal: helm tiller plugin integration Motivation Provide a clean solution to run tillerless kubernetes using helmfile. See #381 Problems Using helm tiller with helmfile requires separate setup o…
Ohhhhh that’s a neat idea!
@coreygale has joined the channel
2019-01-27
@aqua has joined the channel
2019-01-30
I’m overdue on a PR to helmfile - https://github.com/roboll/helmfile/pull/459
Thanks @Shane
We’ve wanted to do this. As a stop-gap, we’re using a namespace
label in all of our releases.
Comprehensive Distribution of Helmfiles. Works with helmfile.d
- cloudposse/helmfiles