#15619·linkerd2

Bump `sigs.k8s.io/gateway-api`

Author: alpebCreated Aug 28, 2026Updated Aug 28, 2026

Summary

go.mod pins:

sigs.k8s.io/gateway-api v0.8.1

That 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