mjmbischoff / nexus-blobstore-swift

A Sonatype Nexus plugin that allows you to use openstack SWIFT as a backing store(originally adapted from the s3 plugin)
Eclipse Public License 1.0
5 stars 3 forks source link
blob-store nexus openstack-swift sonatype

Nexus Repository openstack-swift Blobstores

Join the chat at https://gitter.im/sonatype/nexus-developers

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.

Contribution Guidelines

Go read our contribution guidelines to get a bit more familiar with how we would like things to flow.

Requirements

Also, there is a good amount of information available at Bundle Development Overview

Building

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

Installing

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>

Configuration

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.

Troubleshooting

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.

The Fine Print

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:

Last but not least of all:

Have fun creating and using this plugin and the Nexus platform, we are glad to have you here!