#helmfile - October 2022

October 2022
Alexander Taran
Alexander Taranabout 4 years ago
Hi gents
How can I pass variable to helmfile from cli?
helmfile apply --state-values-set gateway.grpcJsonTranscoder.protoBinContent=$(cat ${PROTOBIN_ARTIFACT} | base64)
This command doesn’t pass anything to the targeted helm chart
Alexander Taran
Alexander Taranabout 4 years ago
One more question from my side.

I have a file(less than 1Mb) and I need to pass a content of the file to a variable in my helm chart. This is not static file.
Usage of configmaps, secrets and etc is not an option.
helmfile apply --set gateway.grpcJsonTranscoder.protoBinContent=$(cat ${PROTOBIN_ARTIFACT} | base64)
This command seems to work in zsh but in bash I only get first string of the encoded file
I tried to use base64 -w 0 but I’m getting another error that string I’m passing is too long

Have some faced with a similar task? Maybe alternative way of passing large vars.
Georg Grauberger
Georg Graubergerabout 4 years ago
Hi everybody,

quick question. Does the environments config work only in the case of using templates in the release config?
Let's say with something like this.

# helmfile
environments:
  default:
    values:
      - path/to/values.yaml
  local:
    values:
      - path/to/values-local.yaml

releases:
  - chart: some/path/to/local/chart
    name: fooBar
    devel: false

I'd assume that helmfile would use the values from values-local.yaml It does completely ignore them though when I call

helmfile --environment local sync
Georg Grauberger
Georg Graubergerabout 4 years ago(edited)
So do I understand correctly that in order to use the environments feature I have to use a values.yaml.gotmpl ?
Ihor Urazov
Ihor Urazovabout 4 years ago(edited)
@yxxhero @mumoshu Question about https://github.com/helmfile/helmfile/blob/main/docs/proposals/towards-1.0.md, specifically about Point 2.

How is this transition planned? I hope that this won’t be a hard cutoff when helmfile.yaml works with one version and next version strictly requires to helmfile.yaml.gotmpl.

I have multiple teams that manage their own helm charts and deployments using helmfile. I need them to enable smooth transition from old to new file during the course of several months. Like accept helmfile.yaml and emit a warning that user has to switch to new file extension, or provide a CLI arg and/or env var to control this behaviour. Otherwise it’s an organization level challenge to make everyone switch to new file format simultaneously. Worst case scenario, we’ll just stick to old helmfile version indefinitely.
ltomas
ltomasabout 4 years ago(edited)
Hi everyone,

Quick question: I have helmfile 0.147.0 installed (and helm 3.10.1), and whenever I run 'helmfile deps' it can't generate the helmfile.lock file. The chart is local and really simple (empty for now, only a helmfile.yaml, values.yaml, Chart.yaml). Kindly find below a snip of the helmfile.yaml as well as the error message. I don't get why it says that the 'repositories' block is not defined while it is, am I missing something obvious ? I checked all the open issues and can't find anything. The setup is similar to the example given by @itscaro here https://github.com/roboll/helmfile/issues/2074. @mumoshu says that is fixed while it is not ? Not sure that is the same issue though as the example repo in the link I shared is not available.

repositories:
  - name: jetstack
    url: <https://charts.jetstack.io>

releases:
  - name: mychart
    chart: .
    namespace: mychart
    values:
      - ./values.yaml
    installed: true
    dependencies:
      - version: v1.10.0
        chart: jetstack/cert-manager

Adding repo jetstack <https://charts.jetstack.io>
"jetstack" has been added to your repositories

Updating dependency /var/folders/3r/_xtmgjd569d_lzyb3cvtmt_r0000gn/T/chartify1157961185/mychart/mychart
There are no repositories defined in your helmfile.yaml.
This means helmfile cannot update your dependencies or create a lock file.
See <https://github.com/roboll/helmfile/issues/878> for more information.

A side note: if I move the dependency block in Chart.yaml, 'helm dep up' works fine and generates the Chart.lock file.