Closed estahn closed 4 years ago
thank you! working on it
I'm pretty sure this is Helm3 bug: https://github.com/helm/helm/issues/6870 . After running helm template
first-time helm creates Chart.lock
file. As soon as Chart.lock
is created helm dependency build
does not work anymore. Trying to find workaround.
When using --local
which uses helm2
binary on my PATH
, I still get this error on 1.5.0-rc2:
ComparisonError: rpc error: code = Unknown desc =
helm2 dependency build
failed exit status 1: Error: no repository definition for https://kubernetes-charts-incubator.storage.googleapis.com. Please add the missing repos via 'helm repo add'
Is this a different, unrelated issue in helm? I see they said it was fixed with https://github.com/helm/helm/issues/6005 but I have a later version of helm and still experience this.
hello @cretz , can share Charts.yaml file so I can try to reproduce it?
I'm afraid it's internal. It's via declarative app of apps model which point to our older internal Chart repo (that I don't want to update at this time) that has a requirements.yml
with:
dependencies:
- name: common
version: 0.0.2
repository: https://kubernetes-charts-incubator.storage.googleapis.com
And doesn't appear --local
related, so I guess it's helm2
inside the argo server itself?
$ argocd app create -f argocd-dst.yaml
FATA[0007] rpc error: code = InvalidArgument desc = application spec is invalid: InvalidSpecError: Unable to generate manifests in hvault: rpc error: code = Unknown desc =
helm2 dependency build
failed exit status 1: Error: requirements.lock is out of sync with requirements.yaml
p.s. I just upgraded to 1.6.1
@alexmt here u go...
hvault/
├── argocd-dst.yaml
├── Chart.yaml
├── README.md
├── requirements.lock
├── requirements.yaml
└── values-dst.yaml
$ cat hvault/requirements.yaml
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
version: 0.6.0
$ cat hvault/requirements.lock
dependencies:
- name: vault
repository: https://helm.releases.hashicorp.com
version: 0.6.0
digest: sha256:75412623551cb3e9a47f130989668406cd17f6f0fd0a97b3394163d006469500
generated: "2020-07-02T13:46:14.377402231+02:00"
$ cat hvault/values-dst.yaml
vault:
server:
ingress:
enabled: true
hosts:
- host: vault.dst.kube
$ cat hvault/argocd-dst.yaml
metadata:
name: hvault
spec:
destination:
namespace: infrastructure
server: https://kubernetes.default.svc
project: site-reliability
source:
helm:
valueFiles:
- values-dst.yaml
path: hvault
repoURL: https://developer.xyz.zz/bitbucket/scm/devops/helm-charts.git
targetRevision: HEAD
$ cat hvault/Chart.yaml
apiVersion: v1
appVersion: "1.0"
description: A super-Chart for Hashicorp Vault
name: hvault
version: 0.1.0
$ cat hvault/README.md
# hvault (hashicorp)
it's my way of extending an existing stable helm chart with just what I need
it leverages the requirements.yaml file
$ argocd app create -f argocd.yaml
This is still an issue - the upstream issue (https://github.com/helm/helm/issues/8036) is still open.
We found out that this issue can be mitigated in two different ways:
Charts.lock
file. If it is added, ArgoCD will not try to delete it and it will fail with the error message as described in the original message. However, that defeats the purpose of a lock file, I'd say. helm dependency update
, Helm will add any subcharts to /charts
. These can be added to the git repository, and Argo does not seem to attempt to download the charts in this case. Only downside is that you're having .tar.gz
files in your git repo. I'm having the same problem, using ArgoCD version v1.8.1
, which uses Helm v3 version v3.4.1
and helm v2 version v2.17.0
.
When I rollback to argocd v1.7.6
, the problem stops, which uses Helm v3 version v3.2.0
and helm v2 version v2.15.2
Hi team, I am also facing this same issue with ArgoCD version v1.8.1. Any ETA of the fix or any workarounds?
hi, did anyone manage to fix this?
Hello, any solution ??
I see the same error even in argocd 2.1.6
Seeing this in argocd 2.2.5 as well.
ComparisonError
rpc error: code = Unknown desc = helm dependency build failed exit status 1: Error: error loading /helm-working-dir/repository/https:/sumologic.github.io/sumologic-kubernetes-collection-index.yaml: empty index.yaml file
yep - same for 2.2.8 Any ideas?
Edit: still present in 2.3.4
I have the same error with Argo CD v2.3.4+ac8b7df
I have a chart like this :
apiVersion: v2
name: codec
description: Chart for CICD
type: application
version: 0.1.25-dev
appVersion: 1.0.0
dependencies:
- name: codec
version: 0.0.26
repository: "@nexus.example.com"
condition: codec.enabled
On my master node
root@lnx-kub04:~# helm repo list
NAME URL
chartmuseum.example.com http://docker.example.com:8080
nexus.example.com https://nexus.example.com/repository/helm-hosted/
root@lnx-kub04:~#
I FOUND MY ISSUE
I forgot to push the .tgz into git when I updated the dependencies. Works fine now.
@survivant but no nee to push .tgz files. Instead, they must be in gitignore. You may need to push Chart.lock.yaml instead
make sure that the helm repo is listed in the admin page.
.i.e.
solution
make sure that the helm repo is listed in the admin page.
.i.e.
So every OTS helm chart repo has to be listed in the Settings > Repository
? I'd rather not have to worry about managing let alone automating that. We are already using umbrella/proxy
charts and the repo is specified in the Chart.yaml
. To also specify and manage that in the Settings > Repository
feels redundant and clunky.
any updates?
solution
make sure that the helm repo is listed in the admin page.
.i.e.
Salem khuya Abdenour, i have already checked that it is added there, but the problem is still occurring
i am still seeig this argo v2.9
This issue is still reproducible in v2.10.1, could you please reopen it? Adding EVERY single repo to admin repo page
is not a solution, it's impossible to keep track of all the repos every user may pull
I just tried to add gitlab helm chart and the same occurred with me:
Unable to create application: application spec for dev-gitlab is invalid: InvalidSpecError: Unable to generate manifests in .: rpc error: code = Unknown desc = `helm dependency build` failed timeout after 1m30s
Describe the bug
ArgoCD is not building for helm 3 charts.
To Reproduce
Expected behavior
ArgoCD should return manifests successfully.
Screenshots
Version
Logs