glab artifact-registry docs name a removed feature flag (gate_token_exchange_endpoint) as an instance prerequisite
📖 Summary
glab artifact-registry status and glab artifact-registry get-token both
document, as an instance prerequisite:
Token exchange enabled on the instance (the
gate_token_exchange_endpointfeature flag).
That feature flag no longer exists. It was removed from the monolith on
2026-09-03 by gitlab-org/gitlab!253385 (merged)
("Remove the gate_token_exchange_endpoint feature flag"), which deleted the
flag YAML, the OpenAPI reference, and the endpoint's flag check. On current
master the endpoint (ee/lib/api/authn/token_exchange.rb) is gated only by
authenticate! — there is no feature flag and no entitlement gate to enable.
So an operator following the CLI's stated prerequisite looks for a flag that cannot be found, and may conclude the endpoint is unavailable when it is in fact reachable by any authenticated caller.
🔍 Where the CLI still references it
Seven references on gitlab-org/cli master (searched 2026-09-09):
docs/source/artifact-registry/get-token.md:24docs/source/artifact-registry/status.md:25internal/commands/artifactregistry/status/status.go:51— the live help textinternal/commands/artifactregistry/gettoken/gettoken.go:50— the live help textinternal/api/artifactregistry/artifactregistry_test.go:169internal/commands/artifactregistry/status/status_test.go:195internal/commands/artifactregistry/gettoken/gettoken_test.go:163
The docs and help strings name the flag as a prerequisite; the test comments describe a "gate_token_exchange_endpoint disabled" state.
🔨 Suggested fix
Update the gitlab-org/cli prerequisite text to drop the flag, since the
endpoint carries no flag or entitlement prerequisite on current master — it
requires only a valid GitLab credential. If a prerequisite is still worth
naming, it is the GitLab version that ships the endpoint, not a flag. The
lives in gitlab-org/cli; this issue tracks it from the Artifact Registry
side.
🧵 How this was found
The Artifact Registry Authentication validation run on staging (#1225, row 25). The run first recorded the flag as "never existed", which was a stale-checkout error; the flag did exist (gitlab#601520, introduced in gitlab!236798) and was removed on 2026-09-03. This issue records the corrected finding: a documented reference to a since-removed flag.
📏 Priority
Low, and not a Closed Beta blocker: the endpoint works regardless, the mismatch only misleads an operator reading the CLI's prerequisites, and closed-beta operators are the team itself. Worth fixing before GA, when the CLI documentation is read by people outside the team.