#helmfile (2019-08)

https://github.com/roboll/helmfile

Questions and discussion around helmfile https://github.com/roboll/helmfile and https://github.com/cloudposse/helmfiles Archive: https://archive.sweetops.com/helmfile/

2019-08-29

Robert avatar
Robert
07:18:54 PM

@Robert has joined the channel

2019-08-28

Daniel Johansson avatar
Daniel Johansson

Hi, I have a set of helmfiles in helmfiles.d and a values.gotmpl created by other people. I get an error complaining about .Values.clusterRegion not being set, even though it looks to me that it should be set. Is there a way to render the .gotmpl-file to see that that is ok and/or see what helmfile thinks should be in the .Values variable ?

mumoshu avatar
mumoshu

@Daniel Johansson Hey! Unfortunately helmfile doesn’t have support for that today.

I can help debuggging tho
even though it looks to me that it should be set.

Would you mind sharing the snippet of your values.gotmpl or relevant files so that I can explain why it should/not work?

Daniel Johansson avatar
Daniel Johansson

I’ve tried with: helmfile –log-level debug template and also adding a dummy parameter with {{ .Values | toYaml }} But nothing showed presumed contents of the .gotmpl

2019-08-27

2019-08-26

devoperandi avatar
devoperandi

Hello, anyone around to answer a question?

Shiva Gopal avatar
Shiva Gopal

@Erik Osterman (Cloud Posse) / @mumoshu / others with terraform experience. Has anyone studied the pros/cons of using terraform helm provider vs helmfile? I am obviously biased towards helmfile (don’t have much experience with the tf helm provider though) and would like to present any known items of one vs the other. Thanks

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

First, helmfile was born long before the terraform-helm-provider existed. Before that time, terraform wasn’t really an option.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Since then, the terraform-helm-provider came out. It was tempting at first, until we considered all that we would lose. In terraform 0.11, the templating was just not robust enough. It just handled simple replacement of variables. When working with values.yaml, it’s important to be able to deal with more complicated maps/lists, etc. Sometimes an entire section should be conditionally disabled.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Then terraform 0.12 came out. The gap closed. Now robust templating is possible in templates. It’s an appealing alternative, especially when everything else is in terraform. For example, many of our helm releases have AWS backing services. It would be nice to deploy the RDS database with terraform and then the helm chart immediately there after.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

This is possible today.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

However, doing so would give up the helm diff functionality. That’s a deal breaker in my book.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Basically, without helm diff, you have zero clue what’s going to happen.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

There’s an option issue for this on terraform-helm-provider

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
Show the diff manifest in plan. · Issue #79 · terraform-providers/terraform-provider-helm

Unless I'm wrong, this provider will not detect changes if neither the chart version, nor the values changed. However, one can have made manual changes using the k8s api (update or delete objec…

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

(someone even suggested making it work more like helmfile! Props to @ausov.)

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

The issue has been open for over 1 year now with no movement. Not holding my breath.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Also, while I have the stage, want to call out a project @mumoshu is working on

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
mumoshu/helmfile-operator

Kubernetes operator that continuously syncs any set of Chart/Kustomize/Manifest fetched from S3/Git/GCS to your cluster - mumoshu/helmfile-operator

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
Kubedex/terraform-helmfile

Run Helmfile from Terraform. Contribute to Kubedex/terraform-helmfile development by creating an account on GitHub.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Not sure how I feel about that implementation though. We run terraform in a container, and this expects to run helmfile in a container, which causes a catch-22

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

@Shiva Gopal was this helpful? anything else you’re curious about…

Shiva Gopal avatar
Shiva Gopal

@Erik Osterman (Cloud Posse) - this was super helpful. Let me digest the above and come back with any questions that I have.

:--1:1
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

(I jumping on a call but will get back to you today)

Shiva Gopal avatar
Shiva Gopal

Thanks @Erik Osterman (Cloud Posse)

Shiva Gopal avatar
Shiva Gopal

@devoperandi - welcome , loved your blog and still using git2consul

devoperandi avatar
devoperandi

@Shiva Gopal Thanks man. I have utterly failed to blog over the last year. Need to get back to it.

:--1:2

2019-08-24

2019-08-23

sung kang avatar
sung kang

Hey ya’ll, I feel like I’m misunderstanding something about environments feature in helmfile and was hoping someone could point me in the right direction. Trying to do this but my environment values aren’t getting passed down to my sub helmfiles

environments:
   beta:
    values:
      - externaldns:
          installed: false
        namespaces:
          installed: false

helmfiles:
  - path: releases/external-dns
    values:
     - installed: {{ Environment.Values.externaldns.installed }}
  - path: releases/namespaces
    values:
     - installed: {{ Environments.Values.namespaces.installed }}
mumoshu avatar
mumoshu

@sung kang Hey! Could you try running it with debug logs like helmfile --log-level debug sync so that you can see how it is rendering your helmfile.yaml?

mumoshu avatar
mumoshu

Anyways, I think {{ Environment.Values.externaldns.installed }} should be {{ .Environment.Values.externaldns.installed }}. It needs . before Environment

mumoshu avatar
mumoshu

I can try to reproduce it if you could share the actual files you’re having the trouble

mumoshu avatar
mumoshu

At least for now, I don’t see any issue in the example you’ve shared. It should work

sung kang avatar
sung kang

Turns out the issue I was having had to do with boolean values

sung kang avatar
sung kang

When I use the default function it doesn’t handle it correctly, switching to {{ get “” “”}} function addressed my issue

sung kang avatar
sung kang

Am I missing something here entirely?

sung kang avatar
sung kang

I know environments aren’t shared down to sub-helmfiles but I’d thought I could expose them through the state this way

2019-08-22

Andrey Nazarov avatar
Andrey Nazarov

It’s too bad we cannot see the full history here. I wanted to recall something by checking out old messages, but got hit by this limitation.

nutellinoit avatar
nutellinoit

@Andrey Nazarov you can use https://archive.sweetops.com/helmfile/

helmfile

SweetOps is a collaborative DevOps community. We welcome engineers from around the world of all skill levels, backgrounds, and experience to join us! This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build sweet infrastructure.

:--1:1
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
Why I no longer use Terraform for Templating Kubernetes attachment image

One of the most important principles to being an engineer, is being able to admit when you are wrong. Well folks. I was wrong. Some of you…

4
helm4
:--1:4
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

by our very own @stobiewankenobi

2019-08-20

Shiva Gopal avatar
Shiva Gopal

#helmfile - I want to run https://github.com/helm/charts/tree/master/stable/grafana repeatedly, with the adminPassword set in values.yaml file

I have tried different combinations, the secret is getting generated each time. What am I doing wrong? Thanks @mumoshu

Shiva Gopal avatar
Shiva Gopal
mumoshu avatar
mumoshu

@Shiva Gopal Hey! You need it included in the grafana.yaml:

releases:
- name: grafana
  namespace: grafana
  chart: stable/grafana
  values:
  - rbac:
      create: false
  - ./grafana_values.yaml
mumoshu avatar
mumoshu
helmfiles:
- path: "../../modules/grafana/grafana.yaml"
  values:
  - "./grafana_values.yaml"

this isn’t valid as helmfiles[].values is for setting helmfile values, rather than release values.

Shiva Gopal avatar
Shiva Gopal

@mumoshu - got it. if I want env specific values, is there a way to put in say sites/infra/dev/grafana_values.yaml ?

Shiva Gopal avatar
Shiva Gopal

Read the docs and the above works! Thanks @mumoshu

:--1:1
mumoshu avatar
mumoshu

Yeah that’s one of the good ways! You may also use {{.Environment.Name}}

Shiva Gopal avatar
Shiva Gopal

one more thing… is there any way to the use the values file only if present? meaning if there is no additional config required, the users need not have the values file.

tgroth avatar
tgroth

you can set the missing file handler to be warning or even debug

tgroth avatar
tgroth

missingFileHandler parameter under releases. there’s a comment for it in the main README.md

Shiva Gopal avatar
Shiva Gopal

Thanks @tgroth

:--1:1
Shiva Gopal avatar
Shiva Gopal

Also is there a way to say use the directory from where the program was launched and use that as a parameter? It will save me from setting one ENV var

tgroth avatar
tgroth

referencing PWD might do it

tgroth avatar
tgroth

i haven’t tried it but it sounds like it might work

tgroth avatar
tgroth

{{ requiredEnv "PLATFORM_ENV" }} syntax

Shiva Gopal avatar
Shiva Gopal
tgroth avatar
tgroth

no it’s a standard env var that already has your current directory

tgroth avatar
tgroth

requiredEnv should get it (i think that’s a sprig or gotemplate function)

Shiva Gopal avatar
Shiva Gopal

@tgroth - thanks it was user error Used PWD directly instead of “PWD”

2019-08-16

Shiva Gopal avatar
Shiva Gopal

#helmfile I am thinking of the following structure

*modules*   readme.md sites

./modules:
postgresql prometheus

./modules/postgresql:
postgresql.yaml

./modules/prometheus:
prometheus.yaml

./sites:
minikube

./sites/minikube/local:
helmfile.yaml          postgresql_values.yaml prometheus_values.yaml
./sites/infra/dev:
helmfile.yaml
./sites/infra/staging:

Where the sites folder would have the components that needs to be installed in an environment, and the modules holding the common modules. I saw the helmfiles.d/ and values/ separation, here it would give us better view on what is going on per site. What are the problems with the above structure? Since nothing much has been actually done, it would be very easy to change at this point. Thanks

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

@Shiva Gopal I don’t see any use of “environments”

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

just want to make sure that’s on your radar

Shiva Gopal avatar
Shiva Gopal

@Erik Osterman (Cloud Posse) - the structure is ./sites/customer/{env,namespace} - At least that’s the idea

2019-08-15

2019-08-14

Erik Forsberg avatar
Erik Forsberg

I have a chart, namely prometheus-msteams that reads in a file via Files.Get. I’d like to override the contents of that file, i.e what’s in card.tmp. Is there some way of doing so when installing the chart via helmfile?

I can of course modify the chart so that it has the option to specify what configmap to use, but if I don’t have to because helmfile already can do this for me, I will be eternally happy

https://github.com/bzon/prometheus-msteams/tree/master/chart/prometheus-msteams

bzon/prometheus-msteams

A lightweight Go Server that sends Prometheus Alert Manager notifications to Microsoft Teams - bzon/prometheus-msteams

mumoshu avatar
mumoshu

You have an interesting use-case! Unfortunately Helmfile doesn’t have a feature that helps it today, but worth a feature request to helmfile and helm-x

bzon/prometheus-msteams

A lightweight Go Server that sends Prometheus Alert Manager notifications to Microsoft Teams - bzon/prometheus-msteams

mumoshu avatar
mumoshu

one of featuers of helm-x is to add adhoc changes to the chart before installing it(like patches resources

so enhancing it to replace chart files (perhaps like helm x upgrade --install --replace-chart-file card.tmpl=yourown.card.tmpl?

and exposing the helm-x option to helmfile.yaml makes sense(perhaps with replaceFiles: {"card.tmpl": "yourown.card.tmpl }?

tgroth avatar
tgroth

@mumoshu do you know when you’re anticipating a new helmfile release?

mumoshu avatar
mumoshu

i’ve just released v0.81.0 12 minutes ago

1
tgroth avatar
tgroth

oh. hah

1
1
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

(I believe a new release is cut pretty much for every merge to master)

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

…or it used to be

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

I see 0.81.0 is composed of multiple PRs

mumoshu avatar
mumoshu

basically yes

mumoshu avatar
mumoshu

i thought it would be better to cut a single version containing 3 prs from @tgroth this time

:--1:2
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Yea, I think the main intent is just to keep releases flowing regularly so features (even if unintentionally broken and not fully baked) are readily available for testing.

:--1:1
:100:1
tgroth avatar
tgroth

definitely

tgroth avatar
tgroth

there was a bit of a joke at work last week that @mumoshu might be dead since it had been a week since the last release

rofl1
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

haha, thank god not! @mumoshu get some time off finally?

mumoshu avatar
mumoshu

not really i was just busy handling reviews, questions and writing a few complementary go libraries for helmfile!

hopefully i can take some time off after the upcoming helm summit

1
Andrey Nazarov avatar
Andrey Nazarov

@mumoshu are you going to attend Helm Summit, btw?

mumoshu avatar
mumoshu

@Andrey Nazarov yes will you?

Andrey Nazarov avatar
Andrey Nazarov

I would like to go, but don’t know yet. It contradicts my other plans and commitments. It’s too bad, there will be no talk about helmfile. At least I haven’t seen anything related to it in the schedule.

Andrey Nazarov avatar
Andrey Nazarov

Oh, shame on me, just double-checked and found your talk).

1
Andrey Nazarov avatar
Andrey Nazarov

At the same time with you))

party_parrot1

2019-08-10

Nelson Jeppesen avatar
Nelson Jeppesen

When running helmfile deps, how to scope it to a single release?

Nelson Jeppesen avatar
Nelson Jeppesen

I tried helmfile --selector name=my-app-1 deps, but that removes everything except my-app-1 from helmfile.lock

mumoshu avatar
mumoshu

Hey! There seems no way to scope deps to a single release without breaking helmfile.lock currently

Just curious, why you need to do so?

Nelson Jeppesen avatar
Nelson Jeppesen

Pretty simple, I have an observe namespace with grafana, elasticsearch, prometheus etc etc etc. Maybe 20 or so charts. Upgrading everything at once is considerable change, particularly with complex ones like jenkins or prometheus

:--1:1
mumoshu avatar
mumoshu

I think it worth a feature request to add helmfile an optional argument for which chart to receive updates

mumoshu avatar
mumoshu

like helmfile deps one_of_your_chart_name_here

Nelson Jeppesen avatar
Nelson Jeppesen

That’d be lovely

Nelson Jeppesen avatar
Nelson Jeppesen

I can put that in tomorrow

mumoshu avatar
mumoshu

thanks!

Nelson Jeppesen avatar
Nelson Jeppesen

no, thank you!

2019-08-07

Shikhar Goel avatar
Shikhar Goel

Thanks….Hi is it possible to read the values in gotmpl file from the configmap in k8s?

mumoshu avatar
mumoshu

interesting idea! but not possible now.

it would worth a dedicated feature request. would you mind writing one?

maybe we can enhance the syntax being discussed/proposed in https://github.com/roboll/helmfile/issues/745#issuecomment-510737741 to also accept k8s secrets as sources.

SSM (or generic secrets plugin) support with Environment Variables · Issue #745 · roboll/helmfile

I'd love to have the functionality of #662 but I wanted to throw my use-case in here while it's topical as what i'm suggesting is probably closer to #705. We're deploying a bunch of…

mumoshu avatar
mumoshu

in the meantime, use {{ exec "sh" (list "-c", "kubectl get secret .....") }} as a workaround

tgroth avatar
tgroth

@mumoshu so i have https://github.com/roboll/helmfile/pull/790 open but looking at the environmentSecrets, i’m thinking a package scoped cache might be better so that exec contexts don’t need to be threaded everywhere

Cache secrets and concurrent decryption by travisgroth · Pull Request #790 · roboll/helmfile

Related to #782 and #444 Allows concurrent decryption of different secrets files Caches decrypted secrets by original file path and returns decrypted results from memory Secrets being run through …

mumoshu avatar
mumoshu

package scoped cache sounds like a good starting point! i do think that we’ll eventually need per-HelmState(or something nearby) cache but it isn’t needed as long as we don’t use helmfile as a go library

Cache secrets and concurrent decryption by travisgroth · Pull Request #790 · roboll/helmfile

Related to #782 and #444 Allows concurrent decryption of different secrets files Caches decrypted secrets by original file path and returns decrypted results from memory Secrets being run through …

mumoshu avatar
mumoshu

and thanks for the pr i’ll take a look soon

tgroth avatar
tgroth

hm yeah. i’ll see if moving the cache up the stack makes more sense

tgroth avatar
tgroth

LMK thoughts on that approach. i think its an easy evolution of that patch.

1

2019-08-06

Shikhar Goel avatar
Shikhar Goel

Hi….Is ordering possible in helmfile for single helmfile.yaml….say i have 10 helm charts in a single helmfile and i want to run run them in the order they are defined is it possible?

mumoshu avatar
mumoshu

Unforunately, no.

But we have a feature request to add a declarative way to manage ordering https://github.com/roboll/helmfile/issues/715 Pls feel free to +1 if you think it helps your use-case!

feat: "dependsOn" for release dependencies · Issue #715 · roboll/helmfile

I know Helmfile can already do release dependencies by ordering releases manually via naming conventions for helmfiles or limiting concurrency. Ability to explicitly declare dependencies would be a…

Shikhar Goel avatar
Shikhar Goel

Without labels it is working with –concurrency=1 but with labels it is not

ag avatar

use helmfiles:

ag avatar

is how im doing it

Shikhar Goel avatar
Shikhar Goel

what you are specifying in helmfile

Shikhar Goel avatar
Shikhar Goel

can you give example

ag avatar
helmfiles:
- path: releases/external-dns/helmfile.yaml.gotmpl
  values:
  - versions.yaml
- path: releases/prometheus-operator/helmfile.yaml.gotmpl
  values:
  - versions.yaml
- path: releases/prometheus-pushgateway/helmfile.yaml.gotmpl
  values:
  - versions.yaml
ag avatar

will deploy them in that order

Shikhar Goel avatar
Shikhar Goel

but i want to use only one helmfile i dont want to use multiple helmfiles….ok if this i do is it possible to have helmfile specific to envvironment

Shikhar Goel avatar
Shikhar Goel

like i have three environments i want each corresponding helmfile for them

ag avatar

not sure with a single helmfile

Shikhar Goel avatar
Shikhar Goel

i want that the helmfile with –environment set should work

Shikhar Goel avatar
Shikhar Goel

can i have helmfile per environment

2019-08-05

Nelson Jeppesen avatar
Nelson Jeppesen

If I do the following:

  1. deploy a chart (deployment) with helmfile
  2. edit that deployment with kubectl

should a helmfile diff show a change?

Nelson Jeppesen avatar
Nelson Jeppesen

Because when I run helmfile diff with a manual edited deployment, it shows no changes. This is with helmfile 0.80.2 and tested with helm 2.13.1, 2.14.1 and 2.14.3

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

yes, it should, however helmfile just calls out to helm-diff https://github.com/databus23/helm-diff

databus23/helm-diff

A helm plugin that shows a diff explaing what a helm upgrade would change - databus23/helm-diff

mumoshu avatar
mumoshu

as far as i understand, helm diff doesn’t show diff for actual k8s resources

mumoshu avatar
mumoshu

helm persists the desired state of k8s manifests per each helm release in a release configmap/secret in tiller namespace

mumoshu avatar
mumoshu

helm-diff shows diffs from that, not from the current state of your cluster

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

aha, wow, didn’t know that.

mumoshu avatar
mumoshu

so the downside of helm-diff is that you cant use it to detect “skews” due to manual changes

mumoshu avatar
mumoshu
databus23/helm-diff

A helm plugin that shows a diff explaing what a helm upgrade would change - databus23/helm-diff

mumoshu avatar
mumoshu

i wonder if kubectl diff is useful in that case though

maybe it can be used like this:

helm get $YOUR_RELEASE_NAME --template {{.Release.Manifest}} | kubectl diff -f -
Jeremy Grodberg avatar
Jeremy Grodberg

Yes, I recently encountered this behavior. helm diff diffs the new desired state against the old desired state. It is blind to manual changes in the state. I didn’t even know kubectl diff existed.

Nelson Jeppesen avatar
Nelson Jeppesen

Thank ya’ll, that’s very helpful. I was not aware of kubectl diff either.

Nelson Jeppesen avatar
Nelson Jeppesen

Guess I need to keep some hands out of the kubectl pot in the future

Nelson Jeppesen avatar
Nelson Jeppesen

darn, can’t use kubectl diff with k8s 1.11 it seems

2019-08-02

Yevhenii Demchenko avatar
Yevhenii Demchenko

Hi guys, I’m having troubles with installing chart via helmfile. helfile

repositories:
- name: stable
  url: <https://kubernetes-charts.storage.googleapis.com>
- name: helm
  url: <utl>
  username: <username>
  password: <password>

helmDefaults:
  tillerNamespace: kube-system
  verify: true
  wait: true
  timeout: 600
  recreatePods: true
  force: true
  tls: false


\# The desired states of Helm releases.

\#

\# Helmfile runs various helm commands to converge the current state in the live cluster to the desired state defined here.
releases:
  - name: consul
    namespace: default
    chart: helm/consul
    version: 0.8.1
    values:
    - charts/chart-consul/values.yaml

I’m getting an error Error: failed to download "helm/consul" (hint: running helm repo update may help) If I try to install via helm, everything works fine. When tracing, I found out that helm tries to download tgz.pov chart file, while in index.yaml there is only tgz one. Any ideas?

mumoshu avatar
mumoshu

Interesting. How a successful helm command look like? Can you compare it with the helm command being run by Helmfile if you run helmfile --log-level=debug?

Yevhenii Demchenko avatar
Yevhenii Demchenko

will try to run same command as helmfile now

Yevhenii Demchenko avatar
Yevhenii Demchenko

Okay, have the same problems. Seems like a bug in the helm, will check. Thanks for the direction

:--1:1

2019-08-01

ag avatar

are you only able to pull .Environment.Values into a values.yaml.gotmpl?

ag avatar

like something like this doesnt work

ag avatar
      "[service.beta.kubernetes.io/aws-load-balancer-ssl-cert](http://service.beta.kubernetes.io/aws-load-balancer-ssl-cert)": {{  .Values.cert.arn }} 
ag avatar

if my values: is setup like

ag avatar
    values:
    - ../../values/kube2iam/values.yaml.gotmpl
    - ../../values/kube2iam/{{ .Environment.Name }}.values.yaml
ag avatar

values.yaml.gotmpl contains the .Values.cert.arn and environment.values.yaml has an entry like

ag avatar
cert.arn: "fdjklfsj"
ag avatar

there is no way to reference that value from another values template

ag avatar

or would i need to do some {{ readFile }} magic

mumoshu avatar
mumoshu

@ag Hey! Yeah, you need readFile magic, or leverage sub-helmfiles like https://github.com/roboll/helmfile/issues/756#issuecomment-514013382

Helmfile values and chart(release) values are completely different things

doc: Templating tips and tricks · Issue #756 · roboll/helmfile

Let’s gather all the tips and tricks worth included in the documentation, by linking from various questions answered in this repo.

:--1:1
mumoshu avatar
mumoshu

@ag We’re discussing about setting values from a template rendered in a custom context(=.Values)

https://github.com/roboll/helmfile/issues/745#issuecomment-510737741

releases:
- name: myapp`
  chart: my-chart
  valuesFrom:
  - templateFile:
      path: values/values-file.yaml.gotmpl
      valuesFrom:
      # Instead of implicitly passing helmfile's Values to the values-file.yaml.gotmpl
      # Overrides it with `releaseName: myapp`
      - inlineTemplate:
          releaseName: `{{.Release.Name}}` #<- you'll need {{` `}} to defer rendering until the evaluation time of inlineTemplate. otherwise this fails due to that .Release.Name isn't available at loading-time of your helmfile.yaml :)
SSM (or generic secrets plugin) support with Environment Variables · Issue #745 · roboll/helmfile

I&#39;d love to have the functionality of #662 but I wanted to throw my use-case in here while it&#39;s topical as what i&#39;m suggesting is probably closer to #705. We&#39;re deploying a bunch of…

    keyboard_arrow_up