Summary
Follow-up to #1467 / #1476. PR #1476 re-pins the agentgateway controller to the published v1.3.1 release, but the agentgateway-crds component still vendors the Gateway API Inference Extension (GAIE) v1.3.0 CRD bundle. agentgateway v1.3.1 builds against GAIE v1.5.0 (go.mod L60), whose InferencePool schema adds spec.appProtocol — the controller maps kubernetes.io/h2c to HTTP/2 and defaults to HTTP/1.1 (controller/pkg/syncer/service.go). With the v1.3.0 schema installed, a user-set appProtocol is rejected under strict validation or silently pruned, falling back to HTTP/1.1.
This is a missed capability, not a regression (the previous kgateway-train v2.2.1 controller hardcoded HTTP/1.1), so it was split out of #1476 rather than blocking it.
Scope
- Vendor the GAIE v1.5.0 CRD bundle in
recipes/components/agentgateway-crds/manifests/inference-extension-crds.yaml.
- The v1.5.0 bundle drops
inferencepools.inference.networking.x-k8s.io (only the stable inferencepools.inference.networking.k8s.io remains). Update every reference to the dropped CRD:
recipes/checks/agentgateway-crds/health-check.yaml — asserts both groups today; drop the x-k8s.io assert (the stable-group assert already exists)
tests/chainsaw/ai-conformance/cluster/assert-crds.yaml
tests/chainsaw/ai-conformance/kind-inference-dynamo/assert-crds.yaml
validators/conformance/inference_gateway_check.go (requiredCRDs)
- Regenerate the BOM (
make bom-docs) if image references change.
Not blocked by Dynamo
Verified at the versions AICR ships (dynamo-platform 1.2.1): the operator creates InferencePool via the stable inference.networking.k8s.io/v1 group (inference_pool.go), and the EPP image is built against GAIE 206d40dca75d (v1.5.0-rc.2 vintage), whose reconciler also watches the stable group. The dropped x-k8s.io CRD is unused by both writer and watcher, and spec.appProtocol is additive. ai-dynamo/dynamo#10417 (pin Dynamo to released GAIE v1.5.0) is related Dynamo-side release hygiene worth pursuing separately, but not a prerequisite.
Upgrade caveat to validate
Plain Helm/Helmfile vendored bundles encode supplemental manifests as post-install hooks, which are not rerun on upgrade — the v1.3.0 CRD bundle can remain stale on upgraded clusters. Tracked Helm releases and Flux HelmReleases reconcile removals; the vendored Argo hook lifecycle needs separate validation as part of this change.
References
Summary
Follow-up to #1467 / #1476. PR #1476 re-pins the agentgateway controller to the published
v1.3.1release, but theagentgateway-crdscomponent still vendors the Gateway API Inference Extension (GAIE) v1.3.0 CRD bundle. agentgateway v1.3.1 builds against GAIE v1.5.0 (go.mod L60), whoseInferencePoolschema addsspec.appProtocol— the controller mapskubernetes.io/h2cto HTTP/2 and defaults to HTTP/1.1 (controller/pkg/syncer/service.go). With the v1.3.0 schema installed, a user-setappProtocolis rejected under strict validation or silently pruned, falling back to HTTP/1.1.This is a missed capability, not a regression (the previous kgateway-train v2.2.1 controller hardcoded HTTP/1.1), so it was split out of #1476 rather than blocking it.
Scope
recipes/components/agentgateway-crds/manifests/inference-extension-crds.yaml.inferencepools.inference.networking.x-k8s.io(only the stableinferencepools.inference.networking.k8s.ioremains). Update every reference to the dropped CRD:recipes/checks/agentgateway-crds/health-check.yaml— asserts both groups today; drop the x-k8s.io assert (the stable-group assert already exists)tests/chainsaw/ai-conformance/cluster/assert-crds.yamltests/chainsaw/ai-conformance/kind-inference-dynamo/assert-crds.yamlvalidators/conformance/inference_gateway_check.go(requiredCRDs)make bom-docs) if image references change.Not blocked by Dynamo
Verified at the versions AICR ships (dynamo-platform
1.2.1): the operator createsInferencePoolvia the stableinference.networking.k8s.io/v1group (inference_pool.go), and the EPP image is built against GAIE206d40dca75d(v1.5.0-rc.2 vintage), whose reconciler also watches the stable group. The dropped x-k8s.io CRD is unused by both writer and watcher, andspec.appProtocolis additive. ai-dynamo/dynamo#10417 (pin Dynamo to released GAIE v1.5.0) is related Dynamo-side release hygiene worth pursuing separately, but not a prerequisite.Upgrade caveat to validate
Plain Helm/Helmfile vendored bundles encode supplemental manifests as post-install hooks, which are not rerun on upgrade — the v1.3.0 CRD bundle can remain stale on upgraded clusters. Tracked Helm releases and Flux HelmReleases reconcile removals; the vendored Argo hook lifecycle needs separate validation as part of this change.
References