helm-blob [](https://travis-ci.com/C123R/helm-blob)

April 13, 2020 ยท View on GitHub

helm-blob plugin allows you to manage helm repositories on the blob storage like Azure Blob, GCS, S3, etc.

This plugin supports operations like uploading or deletion of charts from remote Helm Repository hosted on Blob Storage. It could be used to initialize the new Helm Repository.

helm-blob was inspired by Alex Khaerov's helm-gcs plugin with extending support for Azure Blob storage and S3, which makes helm-blob to support Azure Blob, GCS, S3 storage.

This plugin uses Go Cloud's Blob package.

Installation

helm plugin install https://github.com/C123R/helm-blob.git

To install specific version of:

helm plugin install https://github.com/C123R/helm-blob.git --version 0.3.1

If you are still using Helm Below Version 3:

helm plugin install https://github.com/C123R/helm-blob.git --version 0.1.1

Usage

Note: This plugin will not provide new blob storage, You must first create blob storage container/bucket that will be used as a remote chart repository.

Authentication

Helm blob's plugin authentication varies depending upon the blob provider as mentioned below:

  • S3

    S3 provider support AWS default credential provider chain in the following order:

    • Environment variables.

    • Shared credentials file.

    • If your application is running on an Amazon EC2 instance, IAM role for Amazon EC2.

  • Azure Blob

    Currently it supports authentication only with environment variables:

    • AZURE_STORAGE_ACCOUNT
    • AZURE_STORAGE_KEY or AZURE_STORAGE_SAS_TOKEN
  • GCS

    GCS provider uses Application Default Credentials in the following order:

    • Environment Variable (GOOGLE_APPLICATION_CREDENTIALS)
    • Default Service Account from the compute instance(Compute Engine, Kubernetes Engine, Cloud function etc).

    To authenticate against GCS you can:

    See the GCP documentation for more information.