skaffold icon indicating copy to clipboard operation
skaffold copied to clipboard

`helm repo add` for skaffold init

Open balopat opened this issue 5 years ago • 3 comments

See #2039 for context.

This assumes that we can somehow detect the helm repos from the users helm charts and then try a helm repo add during skaffold init. We need to understand this better. Help wanted!

balopat avatar Aug 14 '19 22:08 balopat

I think this needs to be done on a Skaffold build: consider the case where a developer is trying to do a build on a new machine, where no Helm repositories have been configured.

So the Helm builder should ensure Helm repositories are defined for all of the remote repositories referenced in the skaffold.yaml and in the chart dependencies.

briandealwis avatar Aug 22 '21 16:08 briandealwis

From my understanding, skaffold init just helps to build an initial skaffold.yaml file. Adding support to it for Helm configuration would be nice, but the helm add ... and helm install ... commands should probably still be performed on deploy to accommodate those of us creating our own custom skaffold.yaml. The skaffold init could at least create the necessary skaffold deploy: config to connect to a Helm repo on deploy though.

There is one integral piece of functionality that is related to this Helm configuration I believe Skaffold is currently missing: the ability to authenticate to a private Helm repo via the deploy: process. The repo and remoteChart options currently allow a remote Helm repo to be used in deploy, but there are a couple of options that are necessary to allow authentication to private repositories. I propose adding username and password options to make those current Helm authentication options usable to Skaffold.

I go into greater detail on that issue here: https://github.com/GoogleContainerTools/skaffold/issues/7255

This Skaffold example that highlights repo and remoteChart options should also be updated to provide examples for how to add authentication to private Helm repos:

https://github.com/GoogleContainerTools/skaffold/tree/main/examples/helm-remote-repo

bouckj avatar Apr 01 '22 20:04 bouckj

I had this problem as well, but I solved it by removing the helm repo name from remoteChart in the skaffold.yaml file: old file:

deploy:
  helm:
    releases:
      - name: prometheus-operator
        repo: https://prometheus-community.github.io/helm-charts
        remoteChart: prometheus-community/kube-prometheus-stack

new one:

deploy:
  helm:
    releases:
      - name: prometheus-operator
        repo: https://prometheus-community.github.io/helm-charts
        remoteChart: kube-prometheus-stack

zarinfam avatar Nov 23 '23 13:11 zarinfam