-
Notifications
You must be signed in to change notification settings - Fork 42
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 our terms of service and privacy 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 examples Resolves coder#202
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
- 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.
Does it work with https://help.sonatype.com/en/user-tokens.html? |
Also, @michaelbrewer, do you use https://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.
--- | ||
display_name: Sonatype Nexus Repository | ||
description: Configure package managers to use Sonatype Nexus Repository for Maven, npm, PyPI, and Docker registries. | ||
icon: /.icons/nexus.svg |
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.
This is not the correct path. It should be the relative path to .icons/nexus.svg
Co-authored-by: Atif Ali <[email protected]>
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 |
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
One last thing |
@matifali ✅ Go support has been added! The module now supports Maven, npm, Go, PyPI, and Docker - achieving full parity with the JFrog module |
![]() |
@MAVRICK-1, can you also rename the module to nexus-repository at all relevant places? Same for icon. Let us be very explicit that this module only enables integration with the Nexus repository. and not all Nexys Sontaype products. Regarding that false typo, you need to add an exception in |
- Updated .github/typos.toml to exclude false positives for mavrickrishi's README.md. - Added nexus-repository.svg icon for the Nexus Repository module. - Updated README.md for mavrickrishi to reflect the new nexus-repository module. - Created README.md for the nexus-repository module with detailed configuration instructions. - Implemented main.tf for the nexus-repository module, defining necessary variables and resources. - Added main.test.ts for testing the nexus-repository module functionalities. - Created run.sh script to configure Nexus repository access for various package managers.
@matifali done |
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.
Last few suggestions and good to go from my side. I will test it and then give the final approval. Great work so far.
updated both for mavrick and mavrickrishi |
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.
Features
settings.xml
configuration.npmrc
configuration with scoped packagespip.conf
configurationUsage Example
Testing
Files Added
Closes
Closes #202
/claim #202
Screencast.from.2025-07-29.23-34-36.mp4
Checklist