I operate some Docker services. Some of them are selfmade with Dockerfiles. I now want to store them into a Sonatype Nexus private repository to publish them to another server in my network.
My research half a year ago gave me Nexus 2 OSS as best option. But now Nexus 3 got released and I'm kinda confused. What version should I use? Greatest confusion is because there is no difference between Pro and OSS version anymore on Docker Hub:
sonatype/nexus has got tags oss and pro
sonatype/nexus3 has only got tags like 3.x.x
Question is: May I use Nexus 3 for free? Or will there be any costs as in Nexus 2 Pro?
Nexus Repository Manager 2 does not support Docker as a format. Nexus Repository Manager 3 does, and Docker support is a part of our OSS solution, meaning you can use Docker completely free. There is a professional version coming with 3.1 that will start to have features such as high availability, expanded enterprise support, as well as just regular support of the product.
As for the Docker images, Nexus 3 now has the ability to operate as OSS or Pro from the same bundle so you'll likely only see tags for Releases, not OSS and Pro.
Related
RedHat Fuse 7.x is offered both on OpenShift and Karaf. While OpenShift version supports containerization of RedHat Fuse application, it inherently makes it highly available I believe. But I am wondering if load balanced and highly available cluster can be formed for RedHat Fuse Karaf version. Earlier till version 6.x, they used to support Fuse Fabric for clustering. The documentation of version 7.x says they have discontinued Fuse Fabric support. If anyone has deployed RedHat Fuse on Karaf in a clustered environment, please let me know how it was achieved.
For my understanding Red Hat Fuse on karaf is just Red Hat supported version of Karaf with bunch of Red Hat Flavored features installed like Camel and Hawtio. OpenShift and Apache Karaf offer two very different levels of containerization. one could say you use OpenShift to run microservices and Apache karaf to run nanoservices.
While you can install and run multiple applications inside Apache Karaf they're still running on the same virtual machine and operating system. You can however create docker image and run Apache karaf on container(s) in Docker, Kubernetes, OpenShift etc like any other application.
This can be useful if you want to group bunch of applications/services together to save resources, share dependencies or just to reduce the amount of different docker containers or deployments.
There's official docker image available for Apache Karaf one can use for reference to create docker image(s) for Red hat fuse on Karaf.
Apache karaf docker - DockerHub
Apache karaf docker - Github
Generally you probably want to create image from a custom karaf assemply that includes all the features and bundles you need to run your applications so when things get added updated you can just swap the image.
Technically you could also use CD/CI pipelines or something like Karaf Cellar to manage multiple karaf instances. This would allow you to add, remove and update functionality of karaf instance even while its running. This however sounds quite complex to pull off and maintain.
As a disclaimer I would like to add that I've not used Apache Karaf or Red Hat Fuse on Karaf with Kubernetes or OpenShift yet. Most of my experience is with running karaf using docker/podman compose or RHEL VM.
I haven't been able to find any documentation on how to migrate Nexus 3.X.X (LATEST) OSS to PRO? Have anyone done that before?
There isn't any need to migrate, all you need to do is install your license into your current Nexus 3.x OSS instance:
https://help.sonatype.com/display/NXRM3/License+Management
I am trying to move all repositories I am using to Nexus 3. I use Apache Archiva as a Maven repository. I read that it's possible to copy repos between Archiva and Nexus 2. Is there any way to do the same with Nexus 3 ?
I have tried to do a workaround and succeeded. I created an instance of Nexus2 and migrated Archiva there. After that I have used the upgrade agent from Capabilities to migrate from Nexus2 to 3. Not a complicated way and is fast as well.
I know that artifactory oss version does not support hosting p2 repositories natively.
Is it hovewer possible to do it somehow without such support? I think you cannot get a pro version for free for open source projects?
If you want to have p2 or npm repositories natively you need the Artifactory Pro version.
There are not option to have a free Artifactory pro version without support for opensource projects.
If you don't want to buy Artifactory PRO, there are free alternatives.
I am going to upgrade Nexus 2 to Nexus 3 and have read the documentation about upgrading to Nexus 3.2 and it only mention using the upgrade wizard.
is it possible to do the same thing by writing a script or using some command line tool? I am going to upgrade several nexus installations and if it where possible to do it using a script it would save me a lot of time.
Update:
I have gotten response from Sonatype that there is no command line / REST interface that you can use to migrate from Nexus 2 to Nexus 3. You need to use the GUI migration wizard.