Allow groups to pull from multiple external registries for the dependency proxy
🍇 Proposal
In #331730 and #331731, we added the ability to configure the dependency proxy for container images host at the instance and group level.
Step 3: Allow groups to configure and prioritize multiple registries.
Users should be able to add multiple registries (all public at this point) to pull from in their group level settings. This will be considered a premium feature, so we need to set up plan limits to dictate the number of registries a given group can pull from.
-
Add plan limits to set the number of external registries allowed per plan.
There are a few things to work out here still. For example, if we allow 3 registries for group on the Premium plan, we need a way to prevent users from simply setting up multiple groups to pull images through in order to obtain more external registries.
Question
What is the number of registries per plan?
-
Update the models related to the
NamespaceDependencyProxySettings
to allow for a one-to-many relationship, likely adding anorder
orsort
column to thenamespace_dependency_proxy_settings
. -
The UI will need an upgraded form to allow users to create/edit/delete multiple external registries and also update the order in which they are prioritized.
-
The backend logic for making requests to the dependency proxy will need to be updated to respect the priority order (try first priority first, then 2nd priority, etc until an image is found).
-
Usage ping data for number of registries per group using this feature.