Deprecate: Support for third-party container registries in GitLab
For guidance on the overall deprecations, removals and breaking changes workflow, please visit Breaking changes, deprecations, and removing features
Deprecation Summary
So far, we have provided support for using third-party container registries that implement the original Docker V2 API (now superseded by the OCI Distribution Spec) in parallel with GitLab's official Container Registry (originally forked from Docker's Distribution registry).
Keeping support for both GitLab's and third-party container registries has proven to be challenging regarding maintenance burden, code quality, and backward compatibility. Some of these challenges were described in Container Registry long term compatibility stra... (#199117).
Since we released the new GitLab Container Registry version for GitLab.com (&5523 (closed)), we've started to implement additional features that are not available on third-party container registries, such as new API endpoints and critical internal performance improvements (such as &8379 (closed)). At this point, all these features are only available to those that rely on the GitLab Container Registry.
Moving forward, we'll continue to invest in developing and releasing new features that will only be available when using the GitLab Container Registry. Therefore, it's counterproductive to keep supporting third-party container registries in the mid/long term.
For this reason, we are announcing the deprecation of this feature and will plan the associate removal, #376217 (closed), for GitLab 16.0.
Breaking Change Tasks
Affected Topology
This affects Self-Managed users of GitLab.
Affected Tier
All tiers are affected.
- Free
- Premium
- Ultimate
Checklists
Labels
-
This issue is labeled deprecation, and with the relevant ~devops::
,~group::
, and~Category:
labels. -
This issue is labeled breaking change if the removal of the deprecated item will be a breaking change.
Timeline
Please add links to the relevant merge requests.
- As soon as possible, but no later than the third milestone preceding the major release (for example, given the following release schedule:
14.8, 14.9, 14.10, 15.0
–14.8
is the third milestone preceding the major release):-
A deprecation announcement entry has been created so the deprecation will appear in release posts and on the general deprecation page. - !108050 (merged) -
Documentation has been updated to mark the feature as deprecated.
-
-
On or before the major milestone: A removal entry has been created so the removal will appear on the removals by milestones page and be announced in the release post. - !108050 (merged) - On the major milestone:
-
The deprecated item has been removed. -
If the removal of the deprecated item is a breaking change, the merge request is labeled breaking change.
-
Mentions
-
Your stage's stable counterparts have been @mentioned
on this issue. For example, Customer Support, Customer Success (Technical Account Manager), Product Marketing Manager: @heather.- To see who the stable counterparts are for a product team visit product categories
- If there is no stable counterpart listed for Sales/CS please mention @timtams
- If there is no stable counterpart listed for Support please mention @gitlab-com/support/managers
- If there is no stable counterpart listed for Marketing please mention
@cfoster3
- To see who the stable counterparts are for a product team visit product categories
-
Your GPM @jreporter has been @mentioned
so that they are aware of planned deprecations. The goal is to have reviews happen at least two releases before the final removal of the feature or introduction of a breaking change.
Deprecation Milestone
15.6
Planned Removal Milestone
16.0