Skip to content
This repository was archived by the owner on Jun 20, 2026. It is now read-only.
Merged
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
4 changes: 2 additions & 2 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Set up Helm
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # renovate: tag=v3.5
with:
version: v3.10.0
version: v3.18.6

- name: Helm add bitnami chart
run: |
Expand All @@ -48,7 +48,7 @@ jobs:
python-version: 3.13

- name: Set up chart-testing
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0
uses: helm/chart-testing-action@6ec842c01de15ebb84c8627d2744a0c2f2755c9f # v2.8.0

- name: Run chart-testing (list-changed)
id: list-changed
Expand Down
20 changes: 14 additions & 6 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ jobs:
# Aligning job name with the OpenShift CI config: https://github.com/openshift/release/blob/master/core-services/prow/02_config/redhat-developer/rhdh-chart/_prowconfig.yaml#L18
name: Test Latest Release
runs-on: ubuntu-latest
# TODO: Switch this job to a provider matrix once the upstream prerequisite
# helmfiles are ready for agentgateway and other CI-supported providers:
# https://github.com/llm-d/llm-d/issues/399
env:
GATEWAY_PROVIDER: istio
steps:
- name: Checkout PR HEAD (handles forks)
if: github.event_name == 'pull_request'
Expand All @@ -47,14 +52,14 @@ jobs:
- name: Set up Helm
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # renovate: tag=v3.5
with:
version: v3.10.0
version: v3.18.6

- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
with:
python-version: 3.13

- name: Set up chart-testing
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0
uses: helm/chart-testing-action@6ec842c01de15ebb84c8627d2744a0c2f2755c9f # v2.8.0

- name: Run chart-testing (list-changed)
id: list-changed
Expand All @@ -75,9 +80,11 @@ jobs:

- name: Create KIND Cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
uses: helm/kind-action@f5f117a566cacf2b7e54d9ddbfa40584fdf3b127 # v1.14.0
with:
config: helpers/kind-testing/kind-config.yaml
version: v0.31.0
kubectl_version: v1.35.0

- name: Create custom storage class
if: steps.list-changed.outputs.changed == 'true'
Expand Down Expand Up @@ -127,8 +134,8 @@ jobs:
cd "${dir}"
curl -LsSf https://raw.githubusercontent.com/llm-d/llm-d/refs/heads/main/guides/prereq/client-setup/install-deps.sh | /bin/bash
curl -LsSf https://raw.githubusercontent.com/llm-d/llm-d/refs/heads/main/guides/prereq/gateway-provider/install-gateway-provider-dependencies.sh | /bin/bash
curl -sLO https://raw.githubusercontent.com/llm-d/llm-d/refs/heads/main/guides/prereq/gateway-provider/istio.helmfile.yaml
helmfile apply -f istio.helmfile.yaml
curl -sLO https://raw.githubusercontent.com/llm-d/llm-d/refs/heads/main/guides/prereq/gateway-provider/${GATEWAY_PROVIDER}.helmfile.yaml
helmfile apply -f "${GATEWAY_PROVIDER}.helmfile.yaml"
cd -
rm -rf "${dir}"

Expand All @@ -140,4 +147,5 @@ jobs:
ct install \
--debug \
--config ct-install.yaml \
--target-branch "$TARGET_BRANCH"
--target-branch "$TARGET_BRANCH" \
--helm-extra-set-args "--set gateway.provider=${GATEWAY_PROVIDER}"
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ This repository provides the Kubernetes infrastructure components, Helm charts,
**Infrastructure Components:**

- Helm charts for deploying llm-d gateway infrastructure
- Kubernetes Gateway API configurations with support for Istio, Kgateway
(both Envoy and [agentgateway](https://agentgateway.dev/) data planes), and GKE
- Kubernetes Gateway API configurations with support for Istio,
[agentgateway](https://agentgateway.dev/), and GKE
- `kgateway` compatibility mode for inference, deprecated in favor of
standalone `agentgateway` and scheduled for removal in the next llm-d release
- Service mesh integration and traffic management policies

**Operational Tooling:**
Expand All @@ -25,7 +27,10 @@ This repository provides the Kubernetes infrastructure components, Helm charts,
- Kubernetes 1.28+ cluster
- Helm 3.10+
- Gateway API v1.4.0+ installed
- Gateway controller (Istio, Kgateway, AgentGateway or GKE) deployed in your cluster
- Gateway controller (Istio, agentgateway, or GKE) deployed in your cluster
- `kgateway` remains supported as a deprecated compatibility mode and install
path and will be removed in the next llm-d release in favor of standalone
`agentgateway`

### Install llm-d Infrastructure

Expand Down
4 changes: 2 additions & 2 deletions charts/llm-d-infra/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: v2
name: llm-d-infra
type: application
version: v1.3.10
appVersion: v0.3.0
version: v1.4.0
appVersion: v0.4.0
icon: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iODBtbSIKICAgaGVpZ2h0PSI4MG1tIgogICB2aWV3Qm94PSIwIDAgODAuMDAwMDA0IDgwLjAwMDAwMSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMSIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcwogICAgIGlkPSJkZWZzMSIgLz48cGF0aAogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLXdpZHRoOjIuMzQyOTk7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gNTEuNjI5Nyw0My4wNzY3IGMgLTAuODI1NCwwIC0xLjY1MDgsMC4yMTI4IC0yLjM4ODEsMC42Mzg0IGwgLTEwLjcyNjksNi4xOTI2IGMgLTEuNDc2MywwLjg1MjIgLTIuMzg3MywyLjQzNDUgLTIuMzg3Myw0LjEzNTQgdiAxMi4zODQ3IGMgMCwxLjcwNDEgMC45MTI4LDMuMjg1NCAyLjM4ODUsNC4xMzU4IGwgMTAuNzI1Nyw2LjE5MTggYyAxLjQ3NDcsMC44NTEzIDMuMzAxNSwwLjg1MTMgNC43NzYyLDAgTCA2NC43NDQ3LDcwLjU2MzIgQyA2Ni4yMjEsNjkuNzExIDY3LjEzMiw2OC4xMjg4IDY3LjEzMiw2Ni40Mjc4IFYgNTQuMDQzMSBjIDAsLTEuNzAzNiAtMC45MTIzLC0zLjI4NDggLTIuMzg3MywtNC4xMzU0IGwgLThlLTQsLTRlLTQgLTEwLjcyNjEsLTYuMTkyMiBjIC0wLjczNzQsLTAuNDI1NiAtMS41NjI3LC0wLjYzODQgLTIuMzg4MSwtMC42Mzg0IHogbSAwLDMuNzM5NyBjIDAuMTc3NCwwIDAuMzU0NiwwLjA0NyAwLjUxNjcsMC4xNDA2IGwgMTAuNzI3Niw2LjE5MjUgNGUtNCw0ZS00IGMgMC4zMTkzLDAuMTg0IDAuNTE0MywwLjUyMDMgMC41MTQzLDAuODkzMiB2IDEyLjM4NDcgYyAwLDAuMzcyMSAtMC4xOTI3LDAuNzA3MyAtMC41MTU1LDAuODkzNiBsIC0xMC43MjY4LDYuMTkyMiBjIC0wLjMyNDMsMC4xODcyIC0wLjcwOTEsMC4xODcyIC0xLjAzMzQsMCBsIC0xMC43MjcyLC02LjE5MjYgLThlLTQsLTRlLTQgQyA0MC4wNjU3LDY3LjEzNjcgMzkuODcwNyw2Ni44MDA3IDM5Ljg3MDcsNjYuNDI3OCBWIDU0LjA0MzEgYyAwLC0wLjM3MiAwLjE5MjcsLTAuNzA3NyAwLjUxNTUsLTAuODk0IEwgNTEuMTEzLDQ2Ljk1NyBjIDAuMTYyMSwtMC4wOTQgMC4zMzkzLC0wLjE0MDYgMC41MTY3LC0wLjE0MDYgeiIKICAgICBpZD0icGF0aDEyMiIgLz48cGF0aAogICAgIGlkPSJwYXRoMTI0IgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLXdpZHRoOjIuMzQyOTk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gNjMuMzg5MDE4LDM0LjgxOTk1OCB2IDIyLjM0NDE3NSBhIDEuODcxNTQzLDEuODcxNTQzIDAgMCAwIDEuODcxNTQxLDEuODcxNTQxIDEuODcxNTQzLDEuODcxNTQzIDAgMCAwIDEuODcxNTQxLC0xLjg3MTU0MSBWIDMyLjY1ODY0NyBaIiAvPjxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzdmMzE3ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzdmMzE3ZjtzdHJva2Utd2lkdGg6Mi4yNDM7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAzNi43MzQyLDI4LjIzNDggYyAwLjQwOTcsMC43MTY1IDEuMDA0MiwxLjMyNzMgMS43Mzk4LDEuNzU2MSBsIDEwLjcwMSw2LjIzNzIgYyAxLjQ3MjcsMC44NTg0IDMuMjk4NCwwLjg2MzcgNC43NzUsMC4wMTkgbCAxMC43NTA2LC02LjE0ODUgYyAxLjQ3OTMsLTAuODQ2IDIuMzk4NywtMi40MjM0IDIuNDA0NCwtNC4xMjY3IGwgMC4wNSwtMTIuMzg0NCBjIDAuMDEsLTEuNzAyOSAtMC45LC0zLjI4ODYgLTIuMzcxMiwtNC4xNDYxIEwgNTQuMDgzMiwzLjIwNCBDIDUyLjYxMDUsMi4zNDU1IDUwLjc4NDcsMi4zNDAyIDQ5LjMwODIsMy4xODUgTCAzOC41NTc1LDkuMzMzNSBjIC0xLjQ3ODksMC44NDU4IC0yLjM5ODQsMi40MjI3IC0yLjQwNDYsNC4xMjU0IGwgMTBlLTUsOGUtNCAtMC4wNSwxMi4zODUgYyAwLDAuODUxNSAwLjIyMTYsMS42NzM1IDAuNjMxNCwyLjM5IHogbSAzLjI0NjMsLTEuODU2NiBjIC0wLjA4OCwtMC4xNTQgLTAuMTM1MywtMC4zMzExIC0wLjEzNDUsLTAuNTE4MyBsIDAuMDUsLTEyLjM4NjYgMmUtNCwtNmUtNCBjIDAsLTAuMzY4NCAwLjE5NjMsLTAuNzA0NyAwLjUyLC0wLjg4OTkgTCA1MS4xNjY5LDYuNDM0MyBjIDAuMzIyOSwtMC4xODQ3IDAuNzA5NywtMC4xODM4IDEuMDMxNiwwIGwgMTAuNzAwNiw2LjIzNzQgYyAwLjMyMzUsMC4xODg1IDAuNTE0NSwwLjUyMjYgMC41MTMsMC44OTcgbCAtMC4wNSwxMi4zODYyIHYgOWUtNCBjIDAsMC4zNjg0IC0wLjE5NiwwLjcwNDUgLTAuNTE5NywwLjg4OTYgbCAtMTAuNzUwNiw2LjE0ODUgYyAtMC4zMjMsMC4xODQ3IC0wLjcxMDEsMC4xODQgLTEuMDMyLDAgTCA0MC4zNTkyLDI2Ljc1NjcgYyAtMC4xNjE3LC0wLjA5NCAtMC4yOTA1LC0wLjIyNDggLTAuMzc4NSwtMC4zNzg4IHoiCiAgICAgaWQ9InBhdGgxMjYiIC8+PHBhdGgKICAgICBpZD0icGF0aDEyOSIKICAgICBzdHlsZT0iZmlsbDojN2YzMTdmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojN2YzMTdmO3N0cm9rZS13aWR0aDoyLjI0MztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBkPSJNIDIzLjcyODgzNSwyMi4xMjYxODUgNDMuMTI0OTI0LDExLjAzMzIyIEEgMS44NzE1NDMsMS44NzE1NDMgMCAwIDAgNDMuODIwMzkxLDguNDc5NDY2NiAxLjg3MTU0MywxLjg3MTU0MyAwIDAgMCA0MS4yNjY2MzcsNy43ODM5OTk4IEwgMTkuOTk0NDAxLDE5Ljk0OTk2NyBaIiAvPjxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzdmMzE3ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzdmMzE3ZjtzdHJva2Utd2lkdGg6Mi4yNDM7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAzMS40NzY2LDQ4LjQ1MDQgYyAwLjQxNDUsLTAuNzEzOCAwLjY0NSwtMS41MzQ0IDAuNjQ3MiwtMi4zODU4IGwgMC4wMzIsLTEyLjM4NiBjIDAsLTEuNzA0NiAtMC45MDY0LC0zLjI4NyAtMi4zNzczLC00LjE0MTIgTCAxOS4wNjg4LDIzLjMxOCBjIC0xLjQ3MzcsLTAuODU1OCAtMy4yOTk1LC0wLjg2MDUgLTQuNzc2LC0wLjAxMSBMIDMuNTUyMSwyOS40NzI3IGMgLTEuNDc2OCwwLjg0NzggLTIuMzk0MiwyLjQyNzUgLTIuMzk4Niw0LjEzMDQgbCAtMC4wMzIsMTIuMzg1NyBjIDAsMS43MDQ3IDAuOTA2MywzLjI4NzEgMi4zNzcyLDQuMTQxMiBsIDEwLjcwOTgsNi4yMTk1IGMgMS40NzMyLDAuODU1NSAzLjI5ODcsMC44NjA2IDQuNzc1LDAuMDEyIGwgNmUtNCwtNGUtNCAxMC43NDEyLC02LjE2NTggYyAwLjczODUsLTAuNDIzOSAxLjMzNjksLTEuMDMwOCAxLjc1MTUsLTEuNzQ0NSB6IG0gLTMuMjM0LC0xLjg3ODEgYyAtMC4wODksMC4xNTM0IC0wLjIxODYsMC4yODMxIC0wLjM4MSwwLjM3NjMgbCAtMTAuNzQyMyw2LjE2NyAtNmUtNCwyZS00IGMgLTAuMzE5NCwwLjE4MzYgLTAuNzA4MiwwLjE4MzQgLTEuMDMwNywwIEwgNS4zNzgyLDQ2Ljg5NjQgQyA1LjA1NjUsNDYuNzA5NiA0Ljg2MzMsNDYuMzc0NSA0Ljg2NDMsNDYuMDAxOSBsIDAuMDMyLC0xMi4zODU4IGMgMCwtMC4zNzQ0IDAuMTk0MiwtMC43MDcyIDAuNTE4OSwtMC44OTM2IGwgMTAuNzQyMiwtNi4xNjY3IDZlLTQsLTRlLTQgYyAwLjMxOTQsLTAuMTgzNyAwLjcwNzgsLTAuMTgzNyAxLjAzMDMsMCBsIDEwLjcwOTgsNi4yMTk0IGMgMC4zMjE3LDAuMTg2OSAwLjUxNTIsMC41MjIxIDAuNTE0MiwwLjg5NDggbCAtMC4wMzIsMTIuMzg1NiBjIC00ZS00LDAuMTg3MiAtMC4wNDksMC4zNjQxIC0wLjEzNzksMC41MTc0IHoiCiAgICAgaWQ9InBhdGgxMzkiIC8+PHBhdGgKICAgICBpZD0icGF0aDE0MSIKICAgICBzdHlsZT0iZmlsbDojN2YzMTdmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojN2YzMTdmO3N0cm9rZS13aWR0aDoyLjI0MztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBkPSJNIDMyLjcxMTI5OSw2Mi43NjU3NDYgMTMuMzg4OTY5LDUxLjU0NDc5OCBhIDEuODcxNTQzLDEuODcxNTQzIDAgMCAwIC0yLjU1ODI5NSwwLjY3ODU2OCAxLjg3MTU0MywxLjg3MTU0MyAwIDAgMCAwLjY3ODU2OSwyLjU1ODI5NiBsIDIxLjE5MTM0NCwxMi4zMDYzMyB6IiAvPjwvc3ZnPgo=
description: llm-d-infra are the infrastructure components surrounding the llm-d system - a Kubernetes-native high-performance distributed LLM inference framework
keywords:
Expand Down
26 changes: 19 additions & 7 deletions charts/llm-d-infra/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# llm-d-infra Helm Chart

![Version: v1.3.10](https://img.shields.io/badge/Version-v1.3.10-informational?style=flat-square)
![Version: v1.4.0](https://img.shields.io/badge/Version-v1.4.0-informational?style=flat-square)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)

llm-d-infra are the infrastructure components surrounding the llm-d system - a Kubernetes-native high-performance distributed LLM inference framework
Expand Down Expand Up @@ -41,7 +41,8 @@ sudo mv kubectl /usr/local/bin/
- Kubernetes 1.30+ (OpenShift 4.17+)
- Helm 3.10+ or [latest release](https://github.com/helm/helm/releases)
- [Gateway API v1.3.0](https://gateway-api.sigs.k8s.io/guides/) or [latest release](https://github.com/kubernetes-sigs/gateway-api/releases)
- [Kgateway](https://kgateway.dev/) (or [Istio](http://istio.io/)) installed in the cluster (see for [examples](https://github.com/llm-d-incubation/llm-d-infra/blob/main/chart-dependencies/kgateway/install.sh) we use in our CI)
- [agentgateway](https://agentgateway.dev/) or [Istio](http://istio.io/) installed in the cluster
- `kgateway` remains supported as a deprecated compatibility mode and install path and will be removed in the next llm-d release in favor of standalone `agentgateway`

## Usage

Expand Down Expand Up @@ -109,13 +110,24 @@ Kubernetes: `>= 1.28.0-0`
| gateway.annotations | Additional annotations provided to the Gateway resource | object | `{}` |
| gateway.destinationRule | see: https://istio.io/latest/docs/reference/config/networking/destination-rule/ | object | `{"enabled":false,"exportTo":[],"host":"localhost","subsets":[],"trafficPolicy":{},"workloadSelector":{}}` |
| gateway.enabled | Deploy resources related to Gateway | bool | `true` |
| gateway.exposure | Gateway exposure intent and defaults | object | `{"type":""}` |
| gateway.fullnameOverride | String to fully override gateway.fullname | string | `""` |
| gateway.gatewayClassName | Gateway class that determines the backend used Currently supported values: "kgateway" or "agentgateway-v2" for kgateway, "istio", "data-science-gateway-class", or "gke-l7-regional-external-managed" | string | `"istio"` |
| gateway.gatewayParameters.floatingUserId | Enable floating user ID for OpenShift compatibility When true, allows OpenShift to assign user IDs from its allowed range instead of using a hardcoded user ID | bool | `false` |
| gateway.gatewayClassName | Deprecated: "kgateway" and "agentgateway-v2" are compatibility aliases and are rendered as "agentgateway". | string | `""` |
| gateway.gatewayParameters.agentgateway | Shared AgentgatewayParameters for standalone "agentgateway" and the deprecated "kgateway" compatibility mode. | object | `{"env":[],"istio":{},"rawConfig":{},"shutdown":{}}` |
| gateway.gatewayParameters.agentgateway.env | Additional environment variables for the agentgateway proxy | list | `[]` |
| gateway.gatewayParameters.agentgateway.istio | Optional Istio integration settings for the agentgateway proxy | object | `{}` |
| gateway.gatewayParameters.agentgateway.rawConfig | Raw agentgateway config merged into the generated configuration | object | `{}` |
| gateway.gatewayParameters.agentgateway.shutdown | Optional shutdown behavior for the agentgateway proxy | object | `{}` |
| gateway.gatewayParameters.enabled | Enable provider-specific infrastructure parameter resources | bool | `true` |
| gateway.gatewayParameters.istio | Istio-specific parameters rendered into the gateway ConfigMap when gateway.provider resolves to "istio" | object | `{"accessLogging":true}` |
| gateway.gatewayParameters.istio.accessLogging | For istio to include access logging or not | bool | `true` |
| gateway.gatewayParameters.logLevel | Log level for provider-managed gateway data plane components | string | `"warn"` |
| gateway.gatewayParameters.resources | Resource requests/limits <br /> Ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-requests-and-limits-of-pod-and-container | object | `{"limits":{"cpu":"2","memory":"1Gi"},"requests":{"cpu":"100m","memory":"128Mi"}}` |
| gateway.labels | Additional labels provided to the Gateway resource | object | `{}` |
| gateway.listeners | Set of listeners exposed via the Gateway, also propagated to the Ingress if enabled | list | `[{"allowedRoutes":{"namespaces":{"from":"All"}},"name":"default","port":80,"protocol":"HTTP"}]` |
| gateway.nameOverride | String to partially override gateway.fullname | string | `""` |
| gateway.provider | Deprecated: "kgateway" selects the deprecated kgateway compatibility mode and install path and will be removed in the next llm-d release. | string | `"istio"` |
| gateway.service | Gateway service configuration | object | `{"type":""}` |
| gateway.tls | TLS configuration for gateway | object | See below |
| gateway.tls.referenceGrant | ReferenceGrant configuration for cross-namespace TLS certificate access | object | See below |
| gateway.tls.referenceGrant.enabled | Enable ReferenceGrant creation (disabled by default) | bool | `false` |
Expand All @@ -125,10 +137,10 @@ Kubernetes: `>= 1.28.0-0`
| gateway.tls.servingCertSecretName | Name of the secret for serving certificates (used by data-science-gateway-class) | string | `"data-science-gateway-service-tls"` |
| ingress | Ingress configuration | object | See below |
| ingress.annotations | Additional annotations for the Ingress resource | object | `{}` |
| ingress.enabled | Deploy Ingress (service type must also be ClusterIP) | bool | `false` |
| ingress.enabled | Deploy Ingress (effective gateway service type must be ClusterIP) | bool | `false` |
| ingress.extraHosts | List of additional hostnames to be covered with this ingress record (e.g. a CNAME) <!-- E.g. extraHosts: - name: llm-d.env.example.com path: / (Optional) pathType: Prefix (Optional) port: 7007 (Optional) --> | list | `[]` |
| ingress.extraTls | The TLS configuration for additional hostnames to be covered with this ingress record. <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls <!-- E.g. extraTls: - hosts: - llm-d.env.example.com secretName: llm-d-env --> | list | `[]` |
| ingress.host | Hostname to be used to expose the ClusterIP service to the inferencing gateway | string | `""` |
| ingress.host | Hostname used to expose the gateway when the effective service type is ClusterIP | string | `""` |
| ingress.ingressClassName | Name of the IngressClass cluster resource which defines which controller will implement the resource (e.g nginx) | string | `""` |
| ingress.path | Path to be used to expose the full route to access the inferencing gateway | string | `"/"` |
| ingress.tls | Ingress TLS parameters | object | `{"enabled":false,"secretName":""}` |
Expand All @@ -142,5 +154,5 @@ Kubernetes: `>= 1.28.0-0`
This chart deploys all infrastructure required to run the [llm-d](https://llm-d.ai/) project. It includes:

- A Gateway
- Gateway Parameters if Kgateway is chosen as a provider
- AgentgatewayParameters for standalone agentgateway and the deprecated kgateway compatibility mode
- An optional ingress to sit in front of the gateway
5 changes: 3 additions & 2 deletions charts/llm-d-infra/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ sudo mv kubectl /usr/local/bin/
- Kubernetes 1.30+ (OpenShift 4.17+)
- Helm 3.10+ or [latest release](https://github.com/helm/helm/releases)
- [Gateway API v1.3.0](https://gateway-api.sigs.k8s.io/guides/) or [latest release](https://github.com/kubernetes-sigs/gateway-api/releases)
- [Kgateway](https://kgateway.dev/) (or [Istio](http://istio.io/)) installed in the cluster (see for [examples](https://github.com/llm-d-incubation/llm-d-infra/blob/main/chart-dependencies/kgateway/install.sh) we use in our CI)
- [agentgateway](https://agentgateway.dev/) or [Istio](http://istio.io/) installed in the cluster
- `kgateway` remains supported as a deprecated compatibility mode and install path and will be removed in the next llm-d release in favor of standalone `agentgateway`

## Usage

Expand Down Expand Up @@ -96,5 +97,5 @@ The command removes all the Kubernetes components associated with the chart and
This chart deploys all infrastructure required to run the [llm-d](https://llm-d.ai/) project. It includes:

- A Gateway
- Gateway Parameters if Kgateway is chosen as a provider
- AgentgatewayParameters for standalone agentgateway and the deprecated kgateway compatibility mode
- An optional ingress to sit in front of the gateway
Loading
Loading