Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/user/container-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Registries: `602401143452.dkr.ecr.us-west-2.amazonaws.com`, `cr.agentgateway.dev

| Component | Type | Chart | Pinned Version | Images |
|-----------|------|-------|----------------|--------|
| agentgateway | helm | agentgateway | v2.2.1 | 1 |
| agentgateway-crds | helm | agentgateway-crds | v2.2.1 | 0 |
| agentgateway | helm | agentgateway | v1.3.1 | 1 |
| agentgateway-crds | helm | agentgateway-crds | v1.3.1 | 0 |
| aws-ebs-csi-driver | helm | aws-ebs-csi-driver/aws-ebs-csi-driver | 2.59.0 | 6 |
| aws-efa | helm | aws-efa-k8s-device-plugin | v0.5.29 | 1 |
| cert-manager | helm | jetstack/cert-manager | v1.20.2 | 4 |
Expand Down Expand Up @@ -61,7 +61,7 @@ Registries: `602401143452.dkr.ecr.us-west-2.amazonaws.com`, `cr.agentgateway.dev

### agentgateway

- `cr.agentgateway.dev/controller:v2.2.1`
- `cr.agentgateway.dev/controller:v1.3.1`

### agentgateway-crds

Expand Down
46 changes: 34 additions & 12 deletions recipes/checks/agentgateway-crds/health-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,9 @@
# has reached the `Established=True` condition (CRD storage is up and
# the apiserver will accept CRs of those kinds).
#
# Scope: this component bundles BOTH the chart's
# agentgateway.dev/v1alpha1 CRDs AND the vendored Gateway API +
# Inference Extension manifests under
# recipes/components/agentgateway-crds/manifests/. The asserts below
# cover the vendored set (deterministic from in-tree files). The
# chart's own CRDs are described in
# recipes/components/agentgateway-crds/values.yaml as
# {AgentgatewayBackend, AgentgatewayPolicy, AgentgatewayParameters}
# under agentgateway.dev/v1alpha1; their plural metadata.name values
# are not vendored in-tree at v2.2.1 and should be added here once
# verified against a real cluster install (live-run is the load-bearing
# step). See #1221.
# Scope: this component bundles BOTH the chart's agentgateway.dev/v1alpha1
# CRDs and the vendored Gateway API + Inference Extension manifests under
# recipes/components/agentgateway-crds/manifests/.
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
Expand Down Expand Up @@ -88,6 +79,37 @@ spec:
status:
(conditions[?type == 'Established']):
- status: "True"
- name: validate-agentgateway-crds-established
# agentgateway.dev/v1alpha1 CRDs installed by the agentgateway-crds
# Helm chart.
try:
- assert:
resource:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: agentgatewaybackends.agentgateway.dev
status:
(conditions[?type == 'Established']):
- status: "True"
- assert:
resource:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: agentgatewayparameters.agentgateway.dev
status:
(conditions[?type == 'Established']):
- status: "True"
- assert:
resource:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: agentgatewaypolicies.agentgateway.dev
status:
(conditions[?type == 'Established']):
- status: "True"
- name: validate-inference-extension-crds-established
# Gateway API Inference Extension CRDs vendored under
# manifests/inference-extension-crds.yaml.
Expand Down
4 changes: 2 additions & 2 deletions recipes/mixins/platform-inference.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ spec:
- name: agentgateway-crds
type: Helm
source: oci://cr.agentgateway.dev/charts
version: v2.2.1
version: v1.3.1

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed at 1192ddb: this pins the agentgateway controller to v1.3.1 while the component still vendors the Inference Extension v1.3.0 CRDs (inference-extension-crds.yaml), whose InferencePool schema lacks spec.appProtocol. agentgateway v1.3.1 builds against inference-extension v1.5.0 (go.mod) and maps kubernetes.io/h2c to HTTP/2, defaulting to HTTP/1.1 (controller/pkg/syncer/service.go). With the v1.3.0 schema installed, a user-set appProtocol: kubernetes.io/h2c is rejected under strict validation or, if admitted, pruned; in the latter case the controller silently falls back to HTTP/1.1.

This is a missed new capability rather than a regression — the previous v2.2.1 pin was a transitional artifact published from the kgateway v2.2.1 release, whose controller hardcoded HTTP/1.1 — so it need not block this PR; a coordinated follow-up works.

If the follow-up vendors the v1.5.0 CRDs, note the v1.5.0 bundle drops inferencepools.inference.networking.x-k8s.io, so these must switch to inferencepools.inference.networking.k8s.io in the same PR:

  • recipes/checks/agentgateway-crds/health-check.yaml:158
  • tests/chainsaw/ai-conformance/cluster/assert-crds.yaml:55
  • tests/chainsaw/ai-conformance/kind-inference-dynamo/assert-crds.yaml:53
  • validators/conformance/inference_gateway_check.go:128 (requiredCRDs)

One upgrade caveat, scoped to hook-based vendored deployments: plain Helm/Helmfile vendored bundles encode supplemental manifests as post-install hooks, which are not rerun on upgrade, so the entire v1.3 CRD bundle can remain stale on upgraded clusters. Tracked Helm releases and Flux post HelmReleases reconcile removals; vendored Argo hook lifecycle needs separate validation.

valuesFile: components/agentgateway-crds/values.yaml
manifestFiles:
- components/agentgateway-crds/manifests/gateway-api-crds.yaml
Expand All @@ -30,7 +30,7 @@ spec:
- name: agentgateway
type: Helm
source: oci://cr.agentgateway.dev/charts
version: v2.2.1
version: v1.3.1
valuesFile: components/agentgateway/values.yaml
manifestFiles:
- components/agentgateway/manifests/inference-gateway.yaml
Expand Down
4 changes: 2 additions & 2 deletions recipes/registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ components:
helm:
defaultRepository: oci://cr.agentgateway.dev/charts
defaultChart: agentgateway-crds
defaultVersion: v2.2.1
defaultVersion: v1.3.1
defaultNamespace: agentgateway-system

- name: agentgateway
Expand All @@ -520,7 +520,7 @@ components:
helm:
defaultRepository: oci://cr.agentgateway.dev/charts
defaultChart: agentgateway
defaultVersion: v2.2.1
defaultVersion: v1.3.1
defaultNamespace: agentgateway-system
nodeScheduling:
system:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

# Assert agentgateway controller is available.
# fullnameOverride: agentgateway (from values.yaml)
# Chart: agentgateway v2.2.1 (oci://cr.agentgateway.dev/charts)
# Chart: agentgateway v1.3.1 (oci://cr.agentgateway.dev/charts)
# Satisfies CNCF AI Conformance Advanced Ingress for AI/ML Inference.
# Implements Gateway API + Inference Extension for InferencePool routing.
apiVersion: apps/v1
Expand Down
Loading