Bump `sigs.k8s.io/gateway-api`
Summary
go.mod pins:
sigs.k8s.io/gateway-api v0.8.1That is Gateway API v0.8.1 (August 2023), released before the v1 (GA) API surface
existed. The rest of the project is ahead of it.
The pin has stuck because our generated policy CRD types embed gateway-api types
directly (controller/gen/apis/policy/v1alpha1, controller/gen/apis/policy/v1beta3),
and some of those types have moved or been removed upstream, so a naive bump does not
compile.
This issue is to scope the bump. The research below should be done and written up before any code change.
Research needed
1. Which symbols do we actually consume, and what happened to each?
Enumerate the gateway-api symbols referenced from controller/gen/apis/policy/* and,
for each, determine whether the current release still provides it, provides it under a
new name, or dropped it.
2. What is the blast radius in our tree?
Run the bump on a scratch copy and collect the full list of compile errors. Confirm
whether breakage is confined to the generated policy types or reaches hand-written
packages (pkg/, cli/, controller/api, controller/k8s, controller/webhook).
3. Which binaries are affected?
Establish which main packages link gateway-api today and via which import paths, and
whether any of them use it at runtime.
4. Codegen
Confirm bin/update-codegen.sh (or the justfile target) regenerates cleanly against
the new version.
Why it matters
Blocks using typed gateway-api clients anywhere in the Go tree; see the companion issue https://github.com/linkerd/linkerd2/issues/15618
Source: linkerd/linkerd2