deploymentkubernetes-helmminikubeskaffold

deploying "...": building helm dependencies: exit status 1


I have added following part to my skaffold.yaml file to deploy gitlab-ce , kafka and penpot on minikube.

deploy:
  helm:
    releases:
      - name: gitlab
        chartPath: gitlab/gitlab
        namespace: gitlab
        valuesFiles:
          - /home/as/app/k8s/values_gitlab.yaml
      - name: kafka
        chartPath: bitnami/kafka
        namespace: kafka
        valuesFiles:
          - /home/as/app/k8s/values_kafka.yaml
      - name: penpot
        chartPath: penpot/penpot
        namespace: penpot
        valuesFiles:
          - /home/as/app/k8s/values_penpot.yaml

But I do get following error:

Starting deploy...
Helm release gitlab not installed. Installing...
Error: could not find gitlab/gitlab: stat gitlab/gitlab: no such file or directory
Helm release kafka not installed. Installing...
Helm release penpot not installed. Installing...
deploying "gitlab": building helm dependencies: exit status 1

I know the values.yaml files paths are correct and I can deploy them one-by-one using helm install command. But I was wondering how can I doing that all using skaffold.yaml.

This is also the result for helm repo list:

NAME            URL                                       
ingress-nginx   https://kubernetes.github.io/ingress-nginx
bitnami         https://charts.bitnami.com/bitnami        
gitlab          https://charts.gitlab.io/                 
penpot          http://helm.penpot.app 

Solution

  • In the Helm Skaffold configuration, chartPath: refers to a local chart; that is, it's looking for a Chart.yaml and a templates subdirectory in a gitlab/gitlab directory relative to the current directory. For prepackaged remote charts you need remoteChart:, like

    deploy:
      helm:
        releases:
          - name: gitlab
            remoteChart: gitlab/gitlab
            #^^^^^^^^^^ not chartPath