- Notifications
You must be signed in to change notification settings - Fork72
Add Sonatype Nexus repository integration module#262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Conversation
- Add nexus module with support for Maven, npm, PyPI, and Docker registries- Includes comprehensive test suite with 11 passing tests- Supports configurable repositories per package manager- Automatic configuration of package manager settings- Secure credential handling with API token support- Flexible username configuration (username or email)- Complete documentation with usage examplesResolvescoder#202
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Fix Terraform formatting with terraform fmt- Fix README formatting with prettier- All linting checks now pass
How does the user authenticate their account? |
@bpmct through url and password |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Left a few suggestions.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Does it work withhttps://help.sonatype.com/en/user-tokens.html? |
Also,@michaelbrewer, do you usehttps://help.sonatype.com/en/user-tokens.html based authentication? |
yeah |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I think we should rename eModule to be valued Nexus repository as Nexus has multiple other products. Please also update all other references.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Atif Ali <me@matifali.dev>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull Request Overview
This PR adds a comprehensive Sonatype Nexus Repository integration module for Coder that automatically configures Maven, npm, PyPI, and Docker registries for development workspaces with secure credential handling.
- Implements a complete Nexus integration module with support for multiple package managers
- Provides secure credential handling using API tokens and password authentication
- Includes comprehensive test coverage with 11 tests covering all functionality
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
registry/mavrickrishi/modules/nexus/main.tf | Main Terraform module with variable definitions, validation rules, and script configuration |
registry/mavrickrishi/modules/nexus/run.sh | Shell script that configures package managers (Maven, npm, PyPI, Docker) with Nexus repositories |
registry/mavrickrishi/modules/nexus/main.test.ts | Comprehensive test suite with 11 tests covering all module functionality |
registry/mavrickrishi/modules/nexus/README.md | Complete documentation with usage examples for all supported package managers |
registry/mavrickrishi/README.md | Registry metadata and module listing for the mavrickrishi namespace |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
One last thing |
MAVRICK-1 commentedAug 4, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
![]() test failed in other module,@matifali any update ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Thanks for the Contribution. Can you please linnk the main demo video in the PR body? Also add some intsruction to test it on SonaType Nexus. Does it require a pro version of Nexus Sonatype? What Auth methods are supported?
@matifali yes it required pro, added everything in Pr |
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: DevCats <chris@dualriver.com>
@DevelopmentCats done |
MAVRICK-1 commentedAug 19, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@DevelopmentCats@matifali just a headsup , anything more needed to implement ? |
@MAVRICK-1 I am still waiting for a license to test this. |
@matifali my pro version is expired |
I will work on getting a license to test this with tonight. Knock on wood we can get this all merged. Sorry for the delay@MAVRICK-1 |
@DevelopmentCats thanx for the follow-up |
Just updating. Im waiting on my trial but I should be able to get this done. |
@DevelopmentCats any updates? |
Ill check on this now. I hadn't gotten an email from them |
@MAVRICK-1 can you run |
on it |
@DevelopmentCats done |
DevelopmentCats commentedOct 7, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@MAVRICK-1 Would this work with nexus repositories that allow anonymous connections? Im testing it out now, and I notice that nexus_password is a required variable. |
Uh oh!
There was an error while loading.Please reload this page.
Add Sonatype Nexus Repository Integration Module
Summary
Implements a Coder module for Sonatype Nexus Repository Manager integration that automatically configures Maven, npm, PyPI, and Docker registries for development workspaces.
Demo Video & Screenshots
Screencast.from.2025-07-29.23-34-36.mp4
Features
settings.xml
configuration.npmrc
configuration with scoped packagespip.conf
configurationNexus Repository Manager Requirements
Version Requirements
Yes, this module requires Nexus Repository Manager Pro version for full functionality, though basic features work with the Community Edition (OSS).
Supported Authentication Methods
This module supports4 authentication methods:
User Token Authentication (Recommended - Pro only)
nx-usertoken-current
privilegeAPI Token Authentication (Pro only)
Basic Authentication (OSS & Pro)
Base64 Encoded Credentials (OSS & Pro)
username:password
formatTesting Instructions
Prerequisites
Setup Test Environment
Create Test Repositories in your Nexus instance:
maven-public
,maven-releases
npm-public
,@company:npm-private
pypi-public
,pypi-private
docker-public
,docker-private
Configure Authentication:
Test the Module:
Verify Configuration:
EC2 Deployment Testing
Tested by deploying on EC2 instance with:
Usage Example
Testing
Files Added
registry/mavrickrishi/modules/nexus/main.tf
- Main module configurationregistry/mavrickrishi/modules/nexus/README.md
- Complete documentationregistry/mavrickrishi/modules/nexus/main.test.ts
- Test suiteChecklist
Closes#202
/claim#202