This project adds S3 backed blobstores to Sonatype Nexus Repository 3. It allows Nexus Repository to store the components and assets in Amazon AWS S3 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-s3 bundle should be available in the target
folder
See install.sh
. This copies the nexus-blobstore-s3 jar file to the
right place and updates the configuration files. Use at your own
risk.
Alternatively, copy nexus-blobstore-s3-*.jar and the AWS SDK bundle jar into the nexus/deploy subdirectory.
Start the bundle from the Nexus Repository console:
bundle:list | grep nexus-blobstore-s3
bundle:start <bundleNumber>
Log in as admin and create a new blobstore, selecting S3 as the type.
If any fields are left blank, AWS credentials in ~/.aws/credentials
will be used.
How can I remove or fix a misbehaving S3 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 S3 blobstores use
update repository_blobstore set attributes.s3.bucket='newbucketname' where name='mys3blobstore'
to adjust the bucket name.
It is worth noting that this is NOT SUPPORTED by Sonatype, and is a contribution of ours to the open source community (read: you!)
Remember:
- Use this contribution at the risk tolerance that you have
- Do NOT file Sonatype support tickets related to S3 support
- DO file issues here on GitHub, so that the community can pitch in
Phew, that was easier than I thought. Last but not least of all:
Have fun creating and using this plugin and the Nexus platform, we are glad to have you here!
Looking to contribute to our code but need some help? There's a few ways to get information:
- Chat with us on Gitter
- Check out the Nexus3 tag on Stack Overflow
- Check out the Nexus Repository User List