Skip to content

chore(recipes): vendor GAIE v1.5.0 CRDs for agentgateway (appProtocol support) #1646

Description

@yuanchen8911

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

  1. Vendor the GAIE v1.5.0 CRD bundle in recipes/components/agentgateway-crds/manifests/inference-extension-crds.yaml.
  2. 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)
  3. 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

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions