Maven request forwarding to Maven Central
Context
As part of the epic &8081, this issue proposes extending the package request forwarding feature that GitLab offers for PyPI and npm to include Maven. That means that when you try to install a package from your GitLab package registry and it's not found, GitLab will forward the request to Maven-Central.
Benefits
The reason a customer would want this is so that they don't have to include Maven Central in their configuration files for each developer. They could simplify the configurations for all of their developers and just include their GitLab instance, group, or project.
A path to virtual registries
Thinking beyond the MVC, this issue also defines a clear path toward delivering virtual registries. The plan will be to build a request forwarding feature. Then turn it into a proxy. Then add caching. Then add the ability to configure up to 10 external remote Maven repositories.
Proposal
Update the Maven repository so that when a package is not found in the GitLab repository, it automatically forwards the request to Maven central and installs the package from there.
The MVC will implement this at the instance-level to be consistent with forwarding of other formats (npm/pypi) and will be behind a feature flag to allow us to enable/disable for specific groups.
Settings
It's possible that some users may not want this setting turned on. But the problem is that the setting is currently at the instance level. That's where the epic, &8067, comes into play. We will cascade the setting from the instance -> group -> subgroup.
Until the above is done, this feature will be behind a feature flag in limited availability but customers can request that we enable it for them. And of course, self-managed customers can do the same.
Metrics
Track the number of requests forwarded per day. Similar to the metrics we have for npm and PyPI
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.