.

Manage Helm charts

This page explains how to manage Helm 3 charts saved as OCI container images , including pushing (uploading), pulling (downloading), listing, tagging, and deleting charts.

Before you begin

  1. If the target repository doesn't exist, create a new repository . Choose Docker as the repository format.
  2. Verify that you have the required permissions for the repository.
  3. (Optional) Configure defaults for Google Cloud CLI commands .
  4. Install Helm 3.8.0 or later . In previous versions of Helm, support for charts in OCI format is an experimental feature.

    Run helm version to verify your version.

  5. Configure Helm to authenticate with Artifact Registry.

Creating or obtaining a chart

This documentation focuses on managing your chart images and assumes that you have existing charts or are familiar with creating charts. To learn more about creating charts or obtaining publicly available charts in Artifact Hub, see the following information in the Helm documentation.

  • Using Helm describes obtaining charts from the public Artifact Hub and customizing a chart before installing it.
  • Charts describes charts and creating charts.
  • Chart Best Practices Guide describes conventions and best practices.

Packaging a chart

Before you can push a chart to Artifact Registry, you must package it as a chart archive.

  1. Change to the directory that contains your chart.

  2. Package the chart.

     helm  
    package  
     CHART-PATH 
     
    

    Replace CHART-PATH with the path to the directory that contains your Chart.yaml file.

Helm uses the chart name and version for the archive filename. For example, if you have a chart with the name my-chart and version number 0.1.0 , the package name is my-chart-0.1.0.tgz .

You can now push the chart to Artifact Registry.

Pushing a chart

After you have packaged your chart, you can push it to Artifact Registry.

To push the chart, run the following command:

 helm  
push  
my-chart-0.1.0.tgz  
oci:// LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
 

Replace the following values:

  • LOCATION is the regional or multi-regional location of the repository.
  • PROJECT is your Google Cloud project ID . If your project ID contains a colon ( : ), see Domain-scoped projects .
  • REPOSITORY is the name of the repository.

Helm uses information from Chart.yaml for the OCI container image name and tag. Consider the following example command:

 helm  
push  
my-chart-0.1.0.tgz  
oci://us-west1-docker.pkg.dev/my-project/my-repo 

Helm uploads the chart archive as the image my-chart with the tag 0.1.0 .

To verify that the push operation was successful, list the images in the repository.

 gcloud  
artifacts  
docker  
images  
list  
 LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
 

Pulling charts

To pull a chart:

  1. Run the following command to pull the chart archive:

     helm  
    pull  
    oci:// LOCATION 
    -docker.pkg.dev/ PROJECT 
    / REPOSITORY 
    / IMAGE 
      
     \ 
      
    --version  
     VERSION 
     
    

    If you want to pull the chart archive and extract its contents, add the --untar flag.

     helm  
    pull  
    oci:// LOCATION 
    -docker.pkg.dev/ PROJECT 
    / REPOSITORY 
    / IMAGE 
      
     \ 
      
    --version  
     VERSION 
      
     \ 
      
    --untar 
    

    Replace the following values:

  • LOCATION is the regional or multi-regional location of the repository.
  • PROJECT is your Google Cloud project ID . If your project ID contains a colon ( : ), see Domain-scoped projects .
  • REPOSITORY is the name of the repository where the image is stored.
  • IMAGE is the name of the image in the repository.
  • VERSION is semantic version of the chart. This flag is required. Helm does not support pulling a chart using a tag.

Installing a chart

Install a chart stored in Artifact Registry with the helm install command.

 helm  
install  
 RELEASE 
  
 \ 
  
oci:// LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
/ IMAGE 
  
 \ 
  
--version  
 VERSION 
 

The following example installs a release named release1 using version 0.1.0 of the chart us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart :

 helm  
install  
release1  
oci://us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart  
--version  
 0 
.1.0 

Listing charts

You can list charts using the Google Cloud console or the command line. If you store container images and charts in the same Docker repository, then both artifact types appear in the list.

Console

To view images in a repository:

  1. Open the Repositoriespage in the Google Cloud console.

    Open the Repositories page

  2. Click the repository with the container image.

  3. Click an image to see its versions.

gcloud

To list all images in the default project, repository, and location when the default values are configured :

 gcloud  
artifacts  
docker  
images  
list 

To list images in a repository in a specific location, run the command:

 gcloud  
artifacts  
docker  
images  
list  
 LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
 

To list all digests and tags for a specific image, run the command:

 gcloud  
artifacts  
docker  
images  
list  
 LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
/ IMAGE 
  
 \ 
--include-tags 

Replace the following values:

  • LOCATION is the regional or multi-regional location of the repository.
  • PROJECT is your Google Cloud project ID . If your project ID contains a colon ( : ), see Domain-scoped projects .
  • REPOSITORY is the name of the repository where the image is stored.
  • IMAGE is the name of the image in the repository.
  • --include-tags shows all versions of images, including digests and tags. If this flag is omitted, the returned list only includes top level container images.

For example, consider an image with the following characteristics:

  • Repository location: us-west1
  • Repository name: my-repo
  • Project ID: my-project
  • Image name: my-image

The full repository name is:

 us-west1-docker.pkg.dev/my-project/my-repo 

The full image name is:

 us-west1-docker.pkg.dev/my-project/my-repo/my-image 

For details about the image name format, see Repository and image names .

Listing files

You can list files in a repository, files in all versions of a specified container image, or files in a specific version of an image.

For all the following commands, you can set a maximum number of files to return by adding the --limit flag to the command.

To list all files in the default project, repository, and location when the default values are configured :

 gcloud  
artifacts  
files  
list 

To list files in a specified project, repository, and location, run the command:

 gcloud  
artifacts  
files  
list  
 \ 
  
--project = 
 PROJECT 
  
 \ 
  
--repository = 
 REPOSITORY 
  
 \ 
  
--location = 
 LOCATION 
 

To list files for all versions of a specific container image:

 gcloud  
artifacts  
files  
list  
 \ 
  
--project = 
 PROJECT 
  
 \ 
  
--repository = 
 REPOSITORY 
  
 \ 
  
--location = 
 LOCATION 
  
 \ 
  
--package = 
 PACKAGE 
 

To list files for a specific container image version:

 gcloud  
artifacts  
files  
list  
 \ 
  
--project = 
 PROJECT 
  
 \ 
  
--repository = 
 REPOSITORY 
  
 \ 
  
--location = 
 LOCATION 
  
 \ 
  
--package = 
 PACKAGE 
  
 \ 
  
--version = 
 VERSION 
 
To list files for a specific tag:
 gcloud  
artifacts  
files  
list  
 \ 
  
--project = 
 PROJECT 
  
 \ 
  
--repository = 
 REPOSITORY 
  
 \ 
  
--location = 
 LOCATION 
  
 \ 
  
--package = 
 PACKAGE 
  
 \ 
  
--tag = 
 TAG 
 

Replace the following values:

  • LOCATION : the regional or multi-regional location of the repository.
  • PROJECT : your Google Cloud project ID . If your project ID contains a colon ( : ), see Domain-scoped projects .
  • REPOSITORY : the name of the repository where the image is stored.
  • PACKAGE : the name of the image.
  • VERSION : the image digest, a string starting with sha256: .
  • TAG : the tag associated with the container image.

Deleting images

In an Artifact Registry repository, you can delete an entire container image or delete a specific image version associated with a tag or digest. Once you have deleted an image, you cannot undo the action.

To delete an image stored in Artifact Registry:

Console

  1. Open the Repositoriespage in the Google Cloud console.

    Open the Repositories page

  2. Click the image name to see versions of that image.

  3. Select versions that you want to delete.

  4. Click DELETE.

  5. In the confirmation dialog, click DELETE.

gcloud

To delete an image and all its tags, run the command:

 gcloud  
artifacts  
docker  
images  
delete  
 LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
/ IMAGE 
  
--delete-tags 

To delete a specific image version, use one of the following commands.

 gcloud  
artifacts  
docker  
images  
delete  
 LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
/ IMAGE 
: TAG 
  
 [ 
--delete-tags ] 
 

or

 gcloud  
artifacts  
docker  
images  
delete  
 LOCATION 
-docker.pkg.dev/ PROJECT 
/ REPOSITORY 
/ IMAGE 
@ IMAGE-DIGEST 
  
 [ 
--delete-tags ] 
 

Where

  • LOCATION is the regional or multi-regional location of the repository.
  • PROJECT is your Google Cloud project ID . If your project ID contains a colon ( : ), see Domain-scoped projects .
  • REPOSITORY is the name of the repository where the image is stored.
  • IMAGE is the name of the image in the repository.
  • TAG is the tag for the version you want to delete. If multiple tags are associated with the same image version, you must include --delete-tags to delete the image version without removing the tags first.
  • IMAGE-DIGEST is the sha256 hash value for the version you want to delete. If a tag is associated with the image digest, you must include --delete-tags to delete the image version without removing the tag first.
  • --delete-tags removes all tags applied to the image version. This flag lets you force deletion of an image version when:
    • You specified a tag, but there are other tags associated with the image version.
    • You specified an image digest that has at least one tag.

What's next

Design a Mobile Site
View Site in Mobile | Classic
Share by: