helm-s3
helm-s3 is a Helm plugin that provides Amazon S3 protocol support.
This allows you to have private or public Helm chart repositories hosted on
Amazon S3. See this AWS guide to get a detailed example use case overview.
The plugin supports both Helm v2 and v3.
The installation itself is simple as:
$ helm plugin install https://github.com/hypnoglow/helm-s3.git
You can install a specific release version:
$ helm plugin install https://github.com/hypnoglow/helm-s3.git --version 0.16.0
To publish charts to buckets and to fetch from private buckets, you need to
provide valid AWS credentials.
You can do this in the same manner as for AWS CLI
tool.
So, if you want to use the plugin and you are already using AWS CLI
- you are
good to go, no additional configuration required. Otherwise, follow the official guide
to set up credentials.
Note: example commands below are provided for Helm v3. If you still use Helm
v2, see alternatives marked with a tip 💡.
For now let’s omit the process of uploading repository index and charts to s3
and assume you already have your repository index.yaml
file on s3 under path
s3://bucket-name/charts/index.yaml
and a chart archive epicservice-0.5.1.tgz
under path s3://bucket-name/charts/epicservice-0.5.1.tgz
.
Add your repository:
$ helm repo add coolcharts s3://bucket-name/charts
Now you can use it as any other Helm chart repository.
Try:
$ helm search coolcharts
NAME VERSION DESCRIPTION
coolcharts/epicservice 0.5.1 A Helm chart.
💡 For Helm v2, use helm search coolcharts
.
To install the chart:
$ helm install coolchart/epicservice --version "0.5.1"
Fetching also works:
$ helm pull coolchart/epicservice --version "0.5.1"
💡 For Helm v2, use helm fetch
.
Alternatively:
$ helm pull s3://bucket-name/charts/epicservice-0.5.1.tgz