azurekuberneteskubernetes-helmazure-container-registryacr

Helm 3 search shows no result from ACR


Issue itself

Got an Azure Container registry as both image and chart storage. Assume it myacr.azurecr.io with 8 different charts pushed. As far as I read before Azure ACR is capable of storing charts and compatible with Helm 3 (version 3.5.2).

enter image description here The following steps to reproduce are simple.

  1. helm repo add myacr https://myacr.azurecr.io/helm/v1/repo --username myusername -password admin123 - repo added. OK.
  2. helm chart save ./my-chart/ myacr.azurecr.io/helm/my-chart:1.0.0 - chart saved. OK
  3. helm push ./my-chart/ myacr.azurecr.io/helm/my-chart:1.0.0 - pushed. Available in Azure portal. OK.
  4. helm repo update - what could go wrong here? As expected. OK
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "myacr" chart repository
Update Complete. ⎈Happy Helming!⎈
  1. helm search repo -l - I see everything from ingress-nginx and jetstack but nothing from myacr in the list. Yet if I do pull and export everything works fine - chart is in place

What I tried

The questions are

  1. Is Azure ACR fully compatible with Helm 3?
  2. Is there any specific workaround to make it compatible with Helm 3?
  3. Does search functionality have any requirements to chart structure or version?

Solution

  • Is Azure ACR fully compatible with Helm 3?

    Yes, it's fully compatible with Helm 3.

    Is there any specific workaround to make it compatible with Helm 3?

    Nothing needs to be done because the first question is yes.

    Does search functionality have any requirements to chart structure or version?

    You need to first to add the repo to your local helm with the command az acr helm repo add --name myacr or helm repo add myacr https://myacr.azurecr.io/helm/v1/repo --username xxxxx --password xxxxxx, and then you get the output like this running the command helm search repo -l:

    enter image description here

    And the local repo looks like this:

    enter image description here