All Products
Search
Document Center

Container Registry:Push and pull charts using the Helm-push plugin

Last Updated:Mar 26, 2026

The Helm cm-push plug-in (also called the helm-acr plug-in) lets you push and pull Helm charts to and from a chart repository in Container Registry. Helm charts are collections of files that describe a related set of Kubernetes resources.

Important

To push and pull charts over HTTP, submit a ticket to add the local IP address of the chart repository to the whitelist.

Prerequisites

Before you begin, ensure that you have:

  • An ACR Enterprise Edition instance

  • A Linux machine with yum available (for installing Git)

  • Helm 3.7 or later. Run helm version -c to check your version.

Step 1: Configure your Enterprise Edition instance

Create a namespace

  1. Log on to the Container Registry console.

  2. In the left-side navigation pane, click Instances.

  3. On the Instances page, click the Enterprise Edition instance that you want to manage.

  4. In the left-side navigation pane, choose Helm Chart > Namespace.

  5. On the Namespace page, click Create Namespace.

  6. In the Create Namespace dialog box, configure Namespace, Automatically Create Repository, and Default Configurations for Automatically Created Repositories, and then click Confirm.

Create a chart repository

If you enable Automatically Create Repository for the namespace, Helm creates the chart repository automatically on first push. You don't need to create it in the console first.

Chart repository URL formats:

Access type URL format
Internet <Instance name>-chart.<Region ID>.cr.aliyuncs.com/<Namespace>/<Chart repository name>
Virtual private cloud (VPC) <Instance name>-chart-vpc.<Region ID>.cr.aliyuncs.com/<Namespace>/<Chart repository name>

Chart version format: <Chart name>-<Version number>

  1. On the Overview page of the Enterprise Edition instance, turn on Charts in the Component Settings section.

  2. In the left-side navigation pane, choose Helm Chart > Repositories.

  3. On the Repositories page, click Create Repositories.

  4. In the Create Helm Chart dialog box, configure Namespace, Repository Name, and Type, and then click Confirm.

Set an access credential

Set a password or a temporary token to authenticate Helm operations. This example uses a password.

  1. In the left-side navigation pane, choose Instances > Access Credential.

  2. On the Access Credential page, click Set Password.

  3. In the Set Password dialog box, configure Password and Confirm Password, and then click Confirm.

Configure access control

Enable Internet access or VPC access so that Helm can reach your chart repository. This example enables Internet access. For VPC access, see Configure a VPC ACL.

  1. In the left-side navigation pane, click Access Control.

  2. On the Access Control page, click the Internet tab.

  3. Turn on Enable Access over Internet, and then click Add Internet Whitelist.

  4. In the Add Internet Whitelist dialog box, specify the allowed CIDR blocks and notes, and then click Confirm.

(Optional) Enable anonymous pull

After you turn on Pull from Anonymous Users, anyone can pull charts from your public chart repository without logging on.

  1. Log on to the Container Registry console.

  2. In the top navigation bar, select a region.

  3. In the left-side navigation pane, click Instances.

  4. On the Instances page, click the Enterprise Edition instance that you want to manage.

  5. In the Instance Settings section on the Overview page, turn on Pull from Anonymous Users.

  6. In the Tips dialog box, click OK.

Step 2: Install the Helm client and the cm-push plug-in

Supported Helm version: Helm 3.7 or later. This example uses Helm 3.10.0.

  1. Download Helm.

  2. Decompress the package and move the binary to your PATH:

    tar -zxvf helm-v3.10.0-rc.1-linux-amd64.tar.gz
    mv linux-amd64/helm /usr/local/bin/helm
  3. Install Git, which is required by the plug-in installer:

    yum install git
  4. Install the helm-acr plug-in:

    helm plugin install https://github.com/AliyunContainerService/helm-acr

Step 3: Push charts

  1. Register your chart repository as a local repo alias:

    helm repo add <repo-alias> https://<instance-name>-chart.<region-id>.cr.aliyuncs.com/<namespace>/<chart-repo-name> --username <username> --password <password>
    Placeholder Description Example
    <repo-alias> A local name for the repo on this machine my-charts
    <instance-name> Your ACR Enterprise Edition instance name test9-7
    <region-id> Region ID where the instance is deployed cn-hangzhou
    <namespace> The namespace you created in Step 1 ns1
    <chart-repo-name> The chart repository name repo1
    <username> Your Alibaba Cloud account username
    <password> The password you set in the access credential
  2. Create a chart and push it:

    # Create a chart scaffold
    helm create <chart-name>
    
    # Push the chart directory to the registered repo
    helm cm-push <chart-name> <repo-alias>

    To verify the push, go to the Container Registry console. In the left-side navigation pane of your Enterprise Edition instance, choose Helm Chart > Repositories. Click the chart repository name, and then click Versions to see the newly pushed chart.

Step 4: Pull and install charts

  1. Update the local chart index from the repository:

    helm repo update
  2. Pull a specific chart version:

    helm fetch <repo-alias>/<chart-name> --version <chart-version>
    Placeholder Description Example
    <repo-alias> The local repo alias you registered my-charts
    <chart-name> The name of the chart my-app
    <chart-version> The chart version to pull 0.1.0
  3. Install a chart directly from the repository:

    helm install -f values.yaml <repo-alias>/<chart-name> --version <chart-version>

What's next