/gonexus

Go API for provisioning and interacting with Sonatype's Nexus Repository Manager and Nexus IQ Server

Primary LanguageGoOtherNOASSERTION

gonexus DepShield Badge

Provides a go client library for connecting to, and interacting with, Sonatype Nexus applications such as Nexus Repository Manager and Nexus IQ Server.

Organization of this library

The library is broken into two packages. One for each application.

nexusrm GoDoc nexusrm coverage

Create a connection to an instance of Nexus Repository Manager

// import "github.com/sonatype-nexus-community/gonexus/rm"
rm, err := nexusrm.New("http://localhost:8081", "username", "password")
if err != nil {
    panic(err)
}

Supported RM Endpoints

Endpoint Status
Assets 🌕
Components 🌖
Lifecycle 🌑
Maintenance pro 🌘
Nodes pro 🌑
Read-Only 🌕
Repositories 🌕
Script 🌕
Search 🌖
Staging pro 🌑
Status 🌕
Support 🌕
Tagging pro 🌑
Tasks 🌑

Supported Provisioning API

API Status
Core 🌑
Security 🌑
Blob Store 🌖
Repository 🌖

Legend: 🌕 == Complete 🌑 == untouched 🌘🌗🌖 == partial support

nexusiq GoDoc nexusiq coverage

Create a connection to an instance of Nexus IQ Server

// import "github.com/sonatype-nexus-community/gonexus/iq"
iq, err := nexusiq.New("http://localhost:8070", "username", "password")
if err != nil {
    panic(err)
}

Supported IQ Endpoints

Endpoint Status
Application 🌗
Component Details 🌕
Component Evaluation 🌕
Component Labels 🌕
Component Remediation 🌕
Component Search 🌕
Component Versions 🌕
Data Retention Policy 🌑
Organization 🌗
Promote Scan 🌑
Report-related 🌕
Source Control 🌕
Success Metrics Data 🌑
Violation 🌕

Legend: 🌕 == Complete 🌑 == untouched 🌘🌗🌖 == partial support

The Fine Print

It is worth noting that this is NOT SUPPORTED by Sonatype, and is a contribution of @HokieGeek plus us 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 this
  • DO file issues here on GitHub, so that the community can pitch in