[go: up one dir, main page]

Skip to content

Manage Helm 3 repositories on Google Cloud Storage 🔐 **privately**

License

Notifications You must be signed in to change notification settings

web-seven/helm-gcs

 
 

Repository files navigation

helm-gcs logo

helm-gcs

Helm3 supported GitHub release (latest by date) Build Status

helm-gcs is a helm plugin that allows you to manage private helm repositories on Google Cloud Storage aka buckets.

Installation

Install the stable version:

$ helm plugin install https://github.com/hayorov/helm-gcs.git

Update to latest

$ helm plugin update gcs

Install a specific version:

$ helm plugin install https://github.com/hayorov/helm-gcs.git --version 0.3.10

Quick start

# Init a new repository
$ helm gcs init gs://bucket/path

# Add your repository to Helm
$ helm repo add repo-name gs://bucket/path

# Push a chart to your repository
$ helm gcs push chart.tar.gz repo-name

# Update Helm cache
$ helm repo update

# Fetch the chart
$ helm fetch repo-name/chart

# Remove the chart
$ helm gcs rm chart repo-name

Documentation

Authentification

To authenticate against GCS you can:

See GCP documentation for more information.

Create a repository

First, you need to create a bucket on GCS, which will be used by the plugin to store your charts.

Then you have to initialize a repository at a specific location in your bucket:

$ helm gcs init gs://your-bucket/path

You can create a repository anywhere in your bucket.

This command does nothing if a repository already exists at the given location.

You can now add the repository to helm:

$ helm repo add my-repository gs://your-bucket/path

Push a chart

Package the chart:

$ helm package my-chart

This will create a file my-chart-<semver>.tgz.

Now, to push the chart to the repository my-repository:

$ helm gcs push my-chart-<semver>.tgz my-repository

If you got this error:

Error: update index file: index is out-of-date

That means that someone/something updated the same repository, at the same time as you. You just need to execute the command again or, next time, use the --retry flag to automatically retry to push the chart.

Once the chart is uploaded, use helm to fetch it:

# Update local repo cache if necessary
# $ helm repo update

$ helm fetch my-chart

This command does nothing if the same chart (name and version) already exists.

Using --retry is highly recommended in a CI/CD environment.

Remove a chart

You can remove all the versions of a chart from a repository by running:

$ helm gcs remove my-chart my-repository

To remove a specific version, simply use the --version flag:

$ helm gcs remove my-chart my-repository --version 0.1.0

Don't forget to run helm repo up after you remove a chart.

Troubleshootin

You can use the global flag --debug, or set HELM_GCS_DEBUG=true to get more informations. Please write an issue if you find any bug.

Helm versions

Starting from 0.3 helm-gcs works with Helm 3, if you want to use it with Helm 2 please install the latest version that supports it

helm plugin install https://github.com/hayorov/helm-gcs.git --version 0.2.2 # helm 2 compatible

About

Manage Helm 3 repositories on Google Cloud Storage 🔐 **privately**

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Go 75.5%
  • JavaScript 11.9%
  • Smarty 5.8%
  • Shell 4.6%
  • Dockerfile 2.2%