GitHub - hayorov/helm-gcs: Manage Helm repositories on Google Cloud Storage 🔐 **...
source link: https://github.com/hayorov/helm-gcs
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
helm-gcs has a new owner @hayorov and more maintainers WANTED, please contact me for details.
helm-gcs
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
Install a specific version:
$ helm plugin install https://github.com/hayorov/helm-gcs --version 0.2.2
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:
-
Use the application default credentials
-
Use a service account via the global flag
--service-account
See the 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.
Troubleshooting
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.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK