The OVHcloud Managed Private Registry service provides you with a managed, authenticated Docker registry where you can privately store your Docker images and Helm charts.
Managed Private Registry is built on top of the open-source solution Harbor to guarantee its interoperability.
Harbor supports two different ways to store the Helm charts data:
- Harbor registry storage directly via OCI API.
- Harbor hosted Chartmuseum backend via Chartmuseum's API.
From Harbor version 2.6, Chartmuseum is deprecated and removed from Harbor version 2.8.
How to know if I have Helm charts stored inside Chartmuseum?
Follow the guide Connecting to the UI to connect to your registry.
From the Harbor user interface, select the Projects menu on the left side of the screen. Check if you have Chartmuseum Helm charts in the Chart Count column.
Select the name of a project that has Chartmuseum Helm charts.
Helm charts stored in Chartmuseum are viewable in the Helm Charts tab.
Helm charts stored in OCI are viewable in the Repository tab, like the Docker images.
Instructions
We developed a tool called chartmuseum2oci whose purpose is to migrate Helm charts from Harbor Chartmuseum to the Helm OCI registry.
Requirements
To migrate all Helm charts, you have to use an admin user or a user having at least the "developer" role on all projects.
Then export the following variables:
export HARBOR_URL=https://
export HARBOR_USER=
export HARBOR_PASSWORD=
Run migration
Run the following commands:
git clone https://github.com/goharbor/chartmuseum-migration-tools.git
cd chartmuseum-migration-tools/chartmuseum2oci
docker build -t goharbor/chartmuseum2oci .
docker run -ti --rm goharbor/chartmuseum2oci --url $HARBOR_URL --username $HARBOR_USER --password $HARBOR_PASSWORDDuring the migration, the tool will give you the number of charts to migrate and the progression of the migration:
$ docker run -ti --rm ovhcloud/harbor-chartmuseum-migrator --url $HARBOR_URL --username $HARBOR_USER --password $HARBOR_PASSWORD
$ docker run -ti --rm ovhcloud/harbor-chartmuseum-migrator --url $HARBOR_URL --username $HARBOR_USER --password $HARBOR_PASSWORD
2023/06/28 16:17:32 416 Helm charts to migrate from Chartmuseum to OCI
4% |█████ | (19/416, 20 it/min) [56s:19m36s]When migration is finished, you will see 100% progress and a confirmation that migration was successful:
$ docker run -ti --rm ovhcloud/harbor-chartmuseum-migrator --url $HARBOR_URL --username $HARBOR_USER --password $HARBOR_PASSWORD
$ docker run -ti --rm ovhcloud/harbor-chartmuseum-migrator --url $HARBOR_URL --username $HARBOR_USER --password $HARBOR_PASSWORD
2023/06/28 16:17:32 416 Helm charts to migrate from Chartmuseum to OCI
100% |█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| (416/416, 20 it/min)
2023/06/28 16:38:14 416 Helm charts successfully migrated from Chartmuseum to OCI
Use OCI Helm charts
To interact with Helm charts in OCI format, use Helm in version 3.8+. In order to use OCI format exclusively, use the commands below as the correct method for pushing (uploading) and pulling (downloading) images.
Login
helm registry login $HARBOR_URLPush
helm push dummy-chart-0.1.0.tgz $HARBOR_URL/$HARBOR_PROJECTInstall
helm install dummy-chart oci://$HARBOR_URL/$HARBOR_PROJECT/dummy-chart --version 0.1.0Useful Links
Go further
For more information and tutorials, please see our other Managed Private Registry support guides or explore the guides for other OVHcloud products and services.