Skip to content

Commit f43498b

Browse files
authored
feat: add kgateway for CNCF AI Conformance inference gateway (#87)
Signed-off-by: Yuan Chen <yuanchen8911@gmail.com>
1 parent be07114 commit f43498b

File tree

4 files changed

+104
-0
lines changed

4 files changed

+104
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# kgateway CRDs Helm values
16+
# Installs kgateway-specific CRDs (Backends, DirectResponses, GatewayExtensions,
17+
# GatewayParameters, HTTPListenerPolicies, TrafficPolicies).
18+
#
19+
# Note: Standard Gateway API CRDs (GatewayClass, Gateway, HTTPRoute) and
20+
# Inference Extension CRDs (InferencePool, InferenceModel) must be installed
21+
# separately before deploying kgateway. See the kgateway getting started guide:
22+
# https://gateway-api-inference-extension.sigs.k8s.io/guides/
23+
24+
# This chart has no configurable values — it only installs CRDs.
25+
# The enabled flag is managed by the umbrella chart condition.
26+
enabled: true
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# kgateway Helm values
16+
# Gateway API and Inference Gateway v1.0.0 conformant implementation.
17+
# Satisfies CNCF AI Conformance Advanced Ingress for AI/ML Inference requirement.
18+
# Provides model-aware routing, weighted traffic splitting, and header-based routing.
19+
20+
# Override release name prefix to avoid eidos-stack- prefix
21+
fullnameOverride: kgateway
22+
23+
tolerations:
24+
- operator: Exists
25+
26+
resources:
27+
requests:
28+
cpu: 100m
29+
memory: 128Mi
30+
limits:
31+
cpu: 500m
32+
memory: 256Mi
33+
34+
# Enable Gateway API Inference Extension for model-aware routing
35+
inferenceExtension:
36+
enabled: true

pkg/recipe/data/overlays/inference.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ spec:
2222
# This recipe adds inference components for AI workloads.
2323
# Satisfies CNCF AI Conformance requirements:
2424
# - Gang scheduling (kai-scheduler)
25+
# - Advanced Ingress for AI/ML Inference (kgateway with inference extension)
2526
# - AI inference serving (dynamo-platform)
2627
# - AI service metrics (dynamo metrics + kube-prometheus-stack)
2728

@@ -37,6 +38,21 @@ spec:
3738
dependencyRefs:
3839
- gpu-operator
3940

41+
- name: kgateway-crds
42+
type: Helm
43+
source: oci://cr.kgateway.dev/kgateway-dev/charts
44+
version: v2.0.0
45+
valuesFile: components/kgateway-crds/values.yaml
46+
47+
- name: kgateway
48+
type: Helm
49+
source: oci://cr.kgateway.dev/kgateway-dev/charts
50+
version: v2.0.0
51+
valuesFile: components/kgateway/values.yaml
52+
dependencyRefs:
53+
- kgateway-crds
54+
- cert-manager
55+
4056
- name: dynamo-crds
4157
type: Helm
4258
source: https://helm.ngc.nvidia.com/nvidia/ai-dynamo

pkg/recipe/data/registry.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,32 @@ components:
314314
tolerationPaths:
315315
- dynamo-operator.controllerManager.tolerations
316316

317+
- name: kgateway-crds
318+
displayName: kgateway-crds
319+
valueOverrideKeys:
320+
- kgatewaycrds
321+
helm:
322+
defaultRepository: oci://cr.kgateway.dev/kgateway-dev/charts
323+
defaultChart: kgateway-crds
324+
defaultVersion: v2.0.0
325+
defaultNamespace: kgateway-system
326+
327+
- name: kgateway
328+
displayName: kgateway
329+
valueOverrideKeys:
330+
- kgateway
331+
helm:
332+
defaultRepository: oci://cr.kgateway.dev/kgateway-dev/charts
333+
defaultChart: kgateway
334+
defaultVersion: v2.0.0
335+
defaultNamespace: kgateway-system
336+
nodeScheduling:
337+
system:
338+
nodeSelectorPaths:
339+
- nodeSelector
340+
tolerationPaths:
341+
- tolerations
342+
317343
- name: kubeflow-trainer
318344
displayName: kubeflow-trainer
319345
valueOverrideKeys:

0 commit comments

Comments
 (0)