Creating a Minio S3 Blobstore on NXRM 3.13

This is a quick guide on creating using the NXRM S3 blob store with Minio's S3 implementation. Disclaimer: Using Minio with NXRM is not officially supported by Sonatype.

Step 1: Start Minio locally

Follow the quick start guide here: For my testing, I started minio with docker with

View setNodeName.groovy
def hazelcast = container.lookup('com.hazelcast.core.HazelcastInstance')
def nodeConfigurationSource = container.lookup('')
def nodeId = hazelcast.cluster.members[0].attributes['node.identity']
nodeConfigurationSource.setFriendlyName(nodeId, "My Node")
View http2.groovy
* Jetty with HTTP2 enabled
* Instructions:
* 1. Create keystore with `keytool -keystore http2_keystore.jks -storepass password -noprompt -genkey -keyalg RSA -keypass password -alias jetty \
* -dname CN=localhost,OU=dev,O=sonatype,L=home,ST=cloud,C=US -ext SAN=DNS:localhost,IP: -ext BC=ca:true`
* 2. Run with: `groovy http2.groovy`
* 3. Confirm http2 is being used with `curl -v --http2 --insecure https://localhost:8443`
View exportAudit.groovy
import groovy.json.*
def outputFile = new File("auditExport.json")
def auditStore = container.lookup("")
int pageSize = 1000
int offset = 0"exporting audit data to ${outputFile.getAbsolutePath()}")
View PopulateNuget.groovy
import java.nio.file.Files
import static groovyx.gpars.GParsPool.withPool
def N_PACKAGES = 100
withPool {
(0..<N_PACKAGES).eachParallel { i ->
def dir = new File("package_$i")
View proxycreds.groovy
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.5.2')
import org.apache.http.*
import org.apache.http.auth.*
import org.apache.http.client.*
import org.apache.http.client.config.*
import org.apache.http.client.methods.*
import org.apache.http.impl.auth.*
import org.apache.http.impl.client.*
import org.apache.http.util.*
View Proxy.groovy
@Grab(group='org.eclipse.jetty', module='jetty-server', version='8.1.18.v20150929'),
@Grab(group='org.eclipse.jetty', module='jetty-servlet', version='8.1.18.v20150929'),
@Grab(group='org.eclipse.jetty', module='jetty-servlets', version='8.1.18.v20150929')
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.servlet.ServletHandler
import org.eclipse.jetty.servlets.ProxyServlet
View cardodds.groovy
// calculate odds to draw at least one card in target set from a deck
// with n draws
// total size
def deckSize = 52
// cards already consumed
def burned = 0
// number of copies of card we're looking for in the deck
def targets = 4
// number of draws we have
View gist:781e72ecf86b03e296d9
# First verify the version of Java being used is not SunJSK.
java -version
# Get the latest Sun Java SDK from Oracle
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
# Rename the file downloaded, just to be nice
# mv jdk-7u1-linux-i586.rpm\?e\=1320265424\&h\=916f87354faed15fe652d9f76d64c844 jdk-7u1-linux-i586.rpm
# Install Java
View build.gradle
apply plugin: 'pmd'
pmd {
consoleOutput = true
ruleSets = ['java-basic', 'java-braces', 'java-imports', 'java-design', 'java-typeresolution', 'java-unnecessary']