This project adds swift backed blobstores to Sonatype Nexus Repository 3. It allows Nexus Repository to store the components and assets in openstack swift instead of a local filesystem.
Go read our contribution guidelines to get a bit more familiar with how we would like things to flow.
- Apache Maven 3.3.3+
- Java 8+
- Network access to https://repository.sonatype.org/content/groups/sonatype-public-grid
Also, there is a good amount of information available at Bundle Development Overview
To build the project and generate the bundle use Maven
mvn clean install
If everything checks out, the nexus-blobstore-swift bundle should be available in the target
folder
See install.sh
. This copies the nexus-blobstore-swift jar file to the
right place and updates the configuration files. Use at your own
risk.
Alternatively, copy nexus-blobstore-swift-*.jar nexus/deploy subdirectory.
Start the bundle from the Nexus Repository console:
bundle:list | grep nexus-blobstore-swift
bundle:start <bundleNumber>
Log in as admin and create a new blobstore, selecting swift as the type.
If any fields are left blank, Swift credentials in ~/.swift/credentials
will be used.
Timing logging can be enabled by setting the following loggers to DEBUG or TRACE: org.sonatype.nexus.blobstore.swift.internal.SwiftBlobStore-timer org.sonatype.nexus.blobstore.swift.internal.SwiftPropertiesFile-timer
How can I remove or fix a misbehaving Swift blobstore? You may need to adjust the OrientDB configuration manually to fix it. Check out this article: https://support.sonatype.com/hc/en-us/articles/235816228-Relocating-Blob-Stores For swift blobstores use
update repository_blobstore set attributes.swift.container='newbucketname' where name='myswiftblobstore'
to adjust the container name.
It is worth noting that this is NOT SUPPORTED by Sonatype, and is a contribution to the open source community (read: you!) and a modified adoptation of the AWS s3 support
Remember:
- Use this contribution at the risk tolerance that you have
- Do NOT file Sonatype support tickets related to swift support
- DO file issues here on GitHub, so that the community can pitch in
Last but not least of all:
Have fun creating and using this plugin and the Nexus platform, we are glad to have you here!