chore(gateway_api_crd): default Gateway API CRDs to v1.5.1#553
chore(gateway_api_crd): default Gateway API CRDs to v1.5.1#553sanmesh-kakade wants to merge 1 commit into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughBumps the Gateway API CRD target version from ChangesGateway API CRD v1.5.1 Version Bump
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
489b2c0 to
d395beb
Compare
Bump the gateway_api_crd module default from Gateway API v1.4.1 to v1.5.1 (channel stays experimental, install still uses kubectl apply --server-side). Extends the version enum with v1.5.1 and v1.5.0 while retaining the existing v1.4.x/v1.3.0/v1.2.0 entries. This is the prerequisite CRD bump for the companion NGINX Gateway Fabric 2.6.3 upgrade, since NGF 2.5.0+ requires Gateway API v1.5.x. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
d395beb to
b6e974d
Compare
|
Superseded by #554 — consolidated the gateway_api_crd v1.5.1 bump and the legacy-module CP min_replicas fix into a single PR. |
Why
NGINX Gateway Fabric 2.5.0+ requires Gateway API v1.5.x. This is the prerequisite CRD bump for the companion NGF 2.6.3 upgrade (separate PR in
facets-utility-modules).Scope
versionv1.4.1→v1.5.1; enum extended (v1.5.1,v1.5.0added; existingv1.4.x/v1.3.0/v1.2.0retained).experimental; install still useskubectl apply --server-side.CRDs are not vendored — only the version/channel strings change. The asset filenames are identical at v1.5.1, so the install URL shape is unchanged.
Breaking changes v1.4.1 → v1.5.1 and handling
v1addedv1beta1still served + storage;v1added alongsidev1(standard); experimental storage v1alpha3→v1kubectl get tlsroutes -AXListenerSet→ListenerSet(v1)xlistenersetskind removedkubectl get xlistenersets -Av1storage schema — existing CRs not rejectedsafe-upgradesValidatingAdmissionPolicyApply ordering
Gateway API CRDs (this module) must be applied before the NGF controller upgrade.
Pre-flight
kubectl get tlsroutes,xlistenersets -Ashould be empty before upgrade (the only kinds with served-version loss / rename).🤖 Generated with Claude Code
Pre-flight & operational caveats (verified against the real v1.5.1/v1.4.1 manifests)
Confirmed by downloading + diffing the actual install bundles:
xlistenersetsCRD (renamed →listenersets, kindXListenerSet→ListenerSet, groupx-k8s.io→k8s.io). Not an in-place migration.v1beta1stays served + storage (v1added alongside) → existing CRs valid, zero migration.v1alpha3 → v1(alpha still served).safe-upgradesValidatingAdmissionPolicy ships in v1.5.1 (failurePolicy: Fail, actionDeny): blocks experimental-on-standard and any rollback to ≤ v1.4.x until youkubectl delete validatingadmissionpolicy safe-upgrades.gateway.networking.k8s.io+ its binding.--server-sideis mandatory — thehttproutesCRD alone is ~533 KB, past the 262 KB client-side annotation limit. Keep it.Run before applying:
If managedFields show
kubectl-client-side-apply(or a conflicting non-kubectl manager), the install Job'skubectl apply --server-side(main.tf:100, no--force-conflicts,backoff_limit=3) errors on conflict → add--force-conflicts.Apply these CRDs before the NGF 2.6.3 controller upgrade (companion PR
Facets-cloud/facets-utility-modules#39).Summary by CodeRabbit