Move the Package Registry from EE to Core
Problem to solve
The goal of the GitLab Package Group is to have 90% of userbase rely on GitLab for all of their package management needs. In order to achieve this goal, we need to both add support for a wide variety of package manager formats and build a robust set of features that will be sufficient for our customers to replace their existing package manager vendors.
We would like to help drive the adoption of these features so that we can get more feedback on how to improve them and make them even more useful in your everyday workflows. And, as we've been working with the community on contributions for Composer (PHP) and Cargo (Rust), we've heard several requests move these features to core.
Intended users
- Delaney (Development Team Lead)
- Sasha (Software Developer)
- Devon (DevOps Engineer)
- Sidney (Systems Administrator)
- Simone (Software Engineer in Test)
User experience goal
Proposal
As part of GitLab's stewardship promises, we would like to move the basic functionality for each package manager format to the GitLab Core Edition. This means that for npm, Maven, NuGet, Conan and any future formats, you will be able to:
- Establish GitLab as a private repository
- Authenticate using your GitLab credentials, personal access or job token
- Publish packages to GitLab
- Pull packages from GitLab
- Search for packages hosted on GitLab
- Access an easy-to-use UI that displays package details and metadata and allows you to download any relevant files
- Ensure that your contributions are available for ALL GitLab users
Further details
MR Breakdown
- Move dependency files and code (fixtures, helper classes, etc)
- Remove license checks in the backend
- Move models
- Move controlers/apis (with the dependencies moved and license removed, it should be able to be done with a simple move)
- Remove checks in the UI and license
Permissions and Security
- There are no permissions changes required for this change