helm

General info

helm is the kubernetes package manager. It supports pushing and pulling from OCI-conforming registries.

Media type: application/vnd.cncf.helm.config.v1+json

Client homepage: https://helm.sh

Usage

Authentication

First, set the BB_USER environment variable to your Bundle Bar username:

BB_USER="<insert_username_here>"

Next, create a token in the Bundle Bar UI and copy it into your clipboard. Set it in the BB_TOKEN environment variable using one of the following commands:

 BB_TOKEN="<insert_token_here>"  # manual copy-paste
 BB_TOKEN="$(pbpaste)"           # with pbpaste
 BB_TOKEN="$(xclip -o)"          # with xclip

Note: the previous commands are intentionally prefixed with a space to prevent them from appearing in your history. This can be enabled in your shell with export HISTCONTROL=ignoreboth.

Helm support for OCI storage is in an experimental state. To enable the OCI feature set, set the HELM_EXPERIMENTAL_OCI environment variable:

export HELM_EXPERIMENTAL_OCI=1

Finally, run the following command to log in to Bundle Bar using helm:

echo "$BB_TOKEN" | helm registry login bundle.bar -u $BB_USER --password-stdin

Pushing

# 1. Create a helm chart
helm create welcome

# 2. Save the chart to the cache
helm chart save welcome/ bundle.bar/u/$BB_USER/helm/welcome:v1

# 3. Push the chart
helm chart push bundle.bar/u/$BB_USER/helm/welcome:v1

Pulling

# 1. Pull the artifact
helm chart pull bundle.bar/u/$BB_USER/helm/welcome:v1

Installation

Official docs

Please see https://helm.sh/docs/intro/install/#helm.

Bundle Bar CDN

Bundle Bar provides a secure mirror of the latest version of helm on the following platforms:

  • Mac x86-64
  • Linux x86-64

Release artifacts were downloaded from here and should have identical checksums.

Mac x86-64

Latest version
VersionFilenameSHA-256 checksum
3.3.0helm-v3.3.0-darwin-amd64.tar.gz3399430b0fdfa8c840e77ddb4410d762ae64f19924663dbdd93bcd0e22704e0b
Install instructions
HELM_VERSION="3.3.0"
HELM_FILENAME="helm-v3.3.0-darwin-amd64.tar.gz"
HELM_CHECKSUM="3399430b0fdfa8c840e77ddb4410d762ae64f19924663dbdd93bcd0e22704e0b"

# 1. Download the release artifact
curl -LO "https://cdn.bundle.bar/clients/helm/${HELM_VERSION}/${HELM_FILENAME}"

# 2. Verify the checksum
shasum -a 256 "${HELM_FILENAME}" | grep "^${HELM_CHECKSUM} "

# 3. Extract the tarball
tar -xvf "${HELM_FILENAME}"

# 4. Move binary into PATH
mv darwin-amd64/helm /usr/local/bin

# 5. Verify install
helm version
Optional: Validate signatures

For additional security, the release artifact has been signed using Bundle Bar's GPG key. Prior to extracting the tarball (step 3 above), run the following commands to import our public key and validate the signature:

# 1. Import our public key (Fingerprint: 0E7F990287D5F5F7C1FCD2F165639A2346DC9F5D)
curl -sL "https://cdn.bundle.bar/keys/bundlebar-2020-08-18.pub" | gpg --import

# 2. Download the signature file
curl -LO "https://cdn.bundle.bar/clients/helm/${HELM_VERSION}/${HELM_FILENAME}.asc"

# 3. Validate the signature
[[ $(gpg --verify --status-fd=1 "${HELM_FILENAME}.asc" | \
    grep -c -E '^\[GNUPG:\] (GOODSIG|VALIDSIG)') -ge 2 ]] || \
    (echo "ERROR: Failed to verify signature" && exit 1)

Linux x86-64

VersionFilenameSHA-256 checksum
3.3.0helm-v3.3.0-linux-amd64.tar.gz3ff4ac230b73a15d66770a65a037b07e08ccbce6833fbd03a5b84f06464efea45
Install instructions
HELM_VERSION="3.3.0"
HELM_FILENAME="helm-v3.3.0-linux-amd64.tar.gz"
HELM_CHECKSUM="ff4ac230b73a15d66770a65a037b07e08ccbce6833fbd03a5b84f06464efea45"

# 1. Download the release artifact
curl -LO "https://cdn.bundle.bar/clients/helm/${HELM_VERSION}/${HELM_FILENAME}"

# 2. Verify the checksum
shasum -a 256 "${HELM_FILENAME}" | grep "^${HELM_CHECKSUM} "

# 3. Extract the tarball
tar -xvf "${HELM_FILENAME}"

# 4. Move binary into PATH
mv linux-amd64/helm /usr/local/bin

# 5. Verify install
helm version
Optional: Validate signatures

For additional security, the release artifact has been signed using Bundle Bar's GPG key. Prior to extracting the tarball (step 3 above), run the following commands to import our public key and validate the signature:

# 1. Import our public key (Fingerprint: 0E7F990287D5F5F7C1FCD2F165639A2346DC9F5D)
curl -sL "https://cdn.bundle.bar/keys/bundlebar-2020-08-18.pub" | gpg --import

# 2. Download the signature file
curl -LO "https://cdn.bundle.bar/clients/helm/${HELM_VERSION}/${HELM_FILENAME}.asc"

# 3. Validate the signature
[[ $(gpg --verify --status-fd=1 "${HELM_FILENAME}.asc" | \
    grep -c -E '^\[GNUPG:\] (GOODSIG|VALIDSIG)') -ge 2 ]] || \
    (echo "ERROR: Failed to verify signature" && exit 1)