Skip to content

Cascading namespace settings for package forwarding

Release notes

Problem to solve

Users want to be able to have more control over their package forwarding settings, especially when the settings occur at different levels (instance, namespace, project). There should be rules about how settings are inherited and overwritten, and how changes can cascade down.

Proposal

Currently, we have instance-level settings to turn on and off package forwarding for PyPI and NPM, and soon to include maven.

Here, we should implement namespace-level settings, starting with Maven with logic around cascading.

These settings should be accessible by maintainers and higher.

Intended users

Feature Usage Metrics

Implementation notes

For the backend, we are starting with the maven package forwarding setting. This setting will likely live in namespace_package_settings or something similar. We need to:

  1. Add the new setting column and model
  2. Expose the new fields to existing group query API and
  3. a mutation to update package forward settings
  4. Add logic to traverse the parent namespaces when the direct namespace setting is not set. This logic should optimally live in a shared concern or module that can be reused by other package settings in the future.
  5. Once the setting and logic exists, #233022 (closed) will be unblocked.

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.

Edited by Steve Abrams