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 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.
OVHcloud Managed Private Registry is currently using Harbor 2.5. 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_PASSWORD
During 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_URL
Push
helm push dummy-chart-0.1.0.tgz $HARBOR_URL/$HARBOR_PROJECT
Install
helm install dummy-chart oci://$HARBOR_URL/$HARBOR_PROJECT/dummy-chart --version 0.1.0
Useful 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.