roboll / helmfile

Deploy Kubernetes Helm Charts
MIT License
4.05k stars 564 forks source link

[helm-v3] `verify: true` Fails the Deployment #1176

Open Xtigyro opened 4 years ago

Xtigyro commented 4 years ago

When Helm v3 is used, having verify: true errors out helmfile with, e.g.:

FAILED RELEASES:
NAME
metrics-server
metallb
ingress
in ./helmfile.yaml: 3 errors:
err 0: failed processing release metrics-server: helm exited with status 1:
  Error: failed to download "stable/metrics-server" (hint: running `helm repo update` may help)
err 1: failed processing release metallb: helm exited with status 1:
  Error: failed to download "stable/metallb" (hint: running `helm repo update` may help)
err 2: failed processing release ingress: helm exited with status 1:
  Error: failed to download "stable/nginx-ingress" (hint: running `helm repo update` may help)
mumoshu commented 4 years ago

@Xtigyro Hey! Thanks - But I think this is possibly an upstream(helm or the official chart) issue.

Does helm fetch --verify stable/metrics-server work for you? For me it's not:

 helm3 fetch --verify stable/metrics-server
Error: failed to fetch provenance "https://kubernetes-charts.storage.googleapis.com/metrics-server-2.10.1.tgz.prov"
Xtigyro commented 4 years ago

fetch --verify stable/metrics-server

Hey @mumoshu - you're absolutely right, man.

~ # helm version
version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}

~ # helm fetch --verify stable/metrics-server
Error: failed to fetch provenance "https://kubernetes-charts.storage.googleapis.com/metrics-server-2.10.1.tgz.prov"

Is it worth ignoring that when we have force: true?

mumoshu commented 4 years ago

Not sure if we should change the meaning of force. You can set force: false in your release so that it disables the verification today.

mumoshu commented 4 years ago

You can set force: false in your release so that it disables the verification today.

Sry I had a typo in the above. I meant verify: false.

Xtigyro commented 4 years ago

You can set force: false in your release so that it disables the verification today.

Sry I had a typo in the above. I meant verify: false.

No worries - I understood you. Thanks!

sshishov commented 4 years ago

I have similar problems. I have helmfile with stable, incubator etc repos. I removed repos using helm repo remove <repo> and now have empty list. When I run helmfile repos, nothing happens. When I run helmfile deps I see only these errors:

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.

What can be the reason here? I can manually do helm repo add ... but I want it to be automatically by Helmfile. Something is broken here.

UPDATE: Okay, nevermind, I managed to understand and fix the issue. The problem was that EVERY helmfile should have repositories inside. And we had repositories only in MAIN helmfile which was referencing other helmfiles. And the same should be applied for environments etc