vmware-archive / helm-crd

Experimental CRD controller for managing Helm releases
Apache License 2.0
100 stars 13 forks source link

Feature Request: private helm repo #27

Open StevenACoffman opened 6 years ago

StevenACoffman commented 6 years ago

I would love to be able to use this helm-crd for Helm Private Repository using private GitHub repositories.

This is what we currently do: Helm Private Repository using private GitHub repositories.

Steps:

  1. Create a private GitHub repository named private-helm-registry or any.

  2. Place your Raw Helm Charts.

  3. Create a charts folder and place index.yaml and packaged charts in .tgz format inside this folder.

  4. Create a GitHub Personal Access Token with read-only access.

  5. Add your Repository to helm using the following command:

    $ helm repo add helm-registry 'https://<git_hub_personal_access_token>@raw.githubusercontent.com/myGitHubAccountName/private-helm-registry/master/charts/'
    "helm-registry" has been added to your repositories

    Note:

    1. Enclose the Url with single quotes ' '.
    2. The trailing / is mandatory.
  6. To add development or other branches as helm repository, use branch name:

    $ helm repo add helm-registry-dev 'https://<git_hub_personal_access_token>@raw.githubusercontent.com/myGitHubAccountName/private-helm-registry/<branch>/charts/'
    "helm-registry-dev" has been added to your repositories

Explore more at: Using a private github repo as helm chart repo.

devdattakulkarni commented 6 years ago

+1

Curious to know what error you get when using the https url, with personal access token embedded in it, as repoURL when creating a HelmRelease instance?

I have not tried above steps but it seems like given a valid token (with appropriate permissions) the https urls should work, no?

On a related note I tried S3 but helm client does not recognize S3 protocol. So I had to convert my bucket for Static Web hosting. I also had to modify index.yaml as it was referring to s3 url for the chart when I had initially pushed it using helm s3 plugin. The solution was to upload the tgz of my chart manually and then uploading new version of index.yaml with the https url for the chart.