Nexus 3.15: move repository to new instance

Hi!

We currently have 2 Nexus OSS instances with the newest instance proxying a repo from the other (it is configured as a proxy repository and not hosted). We are planning to remove the proxified instance (the oldest).
How can we safely move the hosted repo from out old Nexus to our new instance with minimal downtime?

Thanks for the support!

One way to do this is via the REST API. You can download a component from one instance and then upload it to your other instance. This would not need downtime as it would act like any other user that is downloading/uploading artifacts.

The relevant calls are GET component:

https://help.sonatype.com/repomanager3/rest-and-integration-api/components-api#ComponentsAPI-GetComponent

Once you have the component, it will give you the download URL of the asset(s) in the component, download them and then use POST to upload:

https://help.sonatype.com/repomanager3/rest-and-integration-api/components-api#ComponentsAPI-UploadComponent

We want to migrate one entire repository. Do we need to do that for every component we have inside the repository? That’s going to take a huge amount of time :frowning:

Also, to clarify, we have the following context:
Newest Nexus instance (proxy repository) --> old Nexus instance (proxy repository) --> Upstream (DEAD).
Since both of our instances are configured as proxy (and not hosted like I said in the first place, sorry), can’t we take advantage of the cached files to convert them to a hosted repository?

Thank you for your answer.