#helmfile (2023-02)

https://github.com/helmfile/helmfile

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

Archive: https://archive.sweetops.com/helmfile/

2023-02-15

Jim avatar

Moving towards helmfile v1.0 the --args parameter is going to be removed: https://github.com/helmfile/helmfile/blob/main/docs/proposals/towards-1.0.md Does that mean it’ll be removed from all commands (and for my use case specifically the helmfile template command)? In one of our pipelines we do the following to render one specific template in our Helm chart:

CONFIG_FILES=$(helmfile -l name=heweb template --skip-deps --args '--show-only templates/config-files.yaml')

Then later it extracts files from the expanded template and performs some tests against them (such as linting). There doesn’t seem to be an equivalent --show-only flag for the helmfile template command.

2023-02-17

gajanandsingh1612 avatar
gajanandsingh1612

Any source from where I can learn and understand, how to write a good helm charts!?

Andrey Taranik avatar
Andrey Taranik
General Conventions

General conventions for charts.

2023-02-24

Viacheslav avatar
Viacheslav

Hi guys, I am trying to install kubeflow “pipeline” component distributed as Kustomization, like it mentioned in “Advanced features” of helmfile. But as mentioned in kubeflow prerequisites , kustomize 4.5.7 renders manifests in different order than 3.2.0, so I got an error that CRDs should be installed first (I compared outputs of helmfile template and kustomize build - there are really difference in ordering of resources) Is there any way to pass kustomize build --reorder legacy flag in helmfile, when I install kustomizations in helmfile.yaml? Maybe there are any other option to control order or kustomized resources? I am using helmfile v0.149.0 Thanks

yxxhero avatar
yxxhero

Hi. Thanks for your question. I think that it’s a feature request. Would you mind post a issue in helmfile repo. Thanks very much.

Greg Golin avatar
Greg Golin

So I think I am breaking helmfile in an unexpected way? Trying to release 20-25 charts and getting a timeout error E0225 0050.984329 541 round_tripper.go:63] CancelRequest not implemented by *cli.retryingRoundTripper E0225 0050.984398 541 memcache.go:238] couldn’t get current server API group list: Get “https://rancher-cluster/k8s/clusters/foo-bar/api?timeout=32s”: net/http: request canceled (Client.Timeout exceeded while awaiting headers) Error: UPGRADE FAILED: could not get apiVersions from Kubernetes: could not get apiVersions from Kubernetes: Get “https://rancher-cluster/k8s/clusters/foo-bar/api?timeout=32s”: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

voron avatar

it may be that your k8s API cannot handle all the amount of requests generated by helmfile/helm

Greg Golin avatar
Greg Golin

thats an interesting suggestion, checking if we have any limits on the API request bursts

Greg Golin avatar
Greg Golin

You were right, @voron.

Greg Golin avatar
Greg Golin

thank you for the hint!

1
Greg Golin avatar
Greg Golin

yeah if i reduce the number of releases in the top level helmfile the job succeeds. interesting.

2023-02-25

Greg Golin avatar
Greg Golin

it seems to be caused by latency. i am running helmfile in north america against a k8s cluster in europe.

2023-02-26

Brandon avatar
Brandon

I am having trouble getting the exec function to work. I am trying to set the value from a yaml file into a values.yaml.gotmpl.

the yaml file:

image:
  registry: some.registry.com
  repository: some-repo
  tag: "0.1.1"
  pullPolicy: "Always"
  pullSecrets:
    - "my-secret"

my current gotmpl attempt:

image: |
  {{ exec  "cat some-file.yaml | yq '.image'" }}

The goal is for the resulting gotmpl will be identical to the yaml file.

It fails with the error

error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type map[string]interface {}

Which likely isn’t a helpful error, as I believe that is coming from helmfile templating the chart after the exec command succeeded. But I can’t get helmfile to show me the yaml it generated.

Brandon avatar
Brandon

I have seen that the exec function takes a list of args, if that is why you are linking me. So I have tried chaining exec commands together with no luck either. Is there something in the docs I am missing?

yxxhero avatar
yxxhero

I think you can use sh -c or bash -c

1
yxxhero avatar
yxxhero

@Brandon

Brandon avatar
Brandon

Good idea, I’ll look into that

yxxhero avatar
yxxhero

in the future. you can create a new issue in helmfile/helmfile repo. Thanks. @Brandon

1
yxxhero avatar
yxxhero

I will solve your issue.

Brandon avatar
Brandon

Haha! If I end up still having problems after more testing, I will create the issue there

2023-02-27

yxxhero avatar
yxxhero
Announcing Docker Hub OCI Artifacts Support | Dockerattachment image

We’ve officially brought OCI artifact support to Docker Hub! Learn how you can both store and distribute any artifact using Docker’s powerful registry.

2023-02-28

Marcus Ramberg avatar
Marcus Ramberg

hmm, seems like kustomize 4 detection isn’t working with the nix package for kustomize. Probably because they are passing some flagst to set the git-commit somehow

yxxhero avatar
yxxhero

Please show some logs.

Marcus Ramberg avatar
Marcus Ramberg

{Version:4.5.4 GitCommit:kustomize/v4.5.4 BuildDate:1970-01-01T00:00:00Z GoOs:linux GoArch:arm64}

    keyboard_arrow_up