Skip to content
This repository was archived by the owner on Oct 15, 2025. 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
2 changes: 1 addition & 1 deletion charts/llm-d/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
name: llm-d
type: application
version: 0.5.1
version: 0.5.2
appVersion: "0.0.1"
icon: data:null
description: A Helm chart for llm-d
Expand Down
10 changes: 5 additions & 5 deletions charts/llm-d/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# llm-d Helm Chart for OpenShift

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

A Helm chart for llm-d
Expand Down Expand Up @@ -159,11 +159,11 @@ Kubernetes: `>= 1.25.0-0`
| ingress | Ingress configuration | object | `{"annotations":{},"enabled":true,"extraHosts":[],"extraTls":[],"host":"","ingressClassName":"","path":"/","tls":{"enabled":false,"secretName":""}}` |
| ingress.annotations | Additional annotations for the Ingress resource | object | `{}` |
| ingress.enabled | Deploy Ingress | bool | `true` |
| ingress.extraHosts | List of additional hostnames to be covered with this ingress record (e.g. a CNAME) <!-- E.g. extraHosts: - name: backstage.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: - backstage.env.example.com secretName: backstage-env --> | list | `[]` |
| ingress.host | Hostname to be used to expose the route to access the backstage application (e.g: backstage.IP.nip.io) | string | `""` |
| 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 NodePort service to the inferencing gateway | 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 backstage application (e.g: IP.nip.io/backstage) | 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":""}` |
| ingress.tls.enabled | Enable TLS configuration for the host defined at `ingress.host` parameter | bool | `false` |
| ingress.tls.secretName | The name to which the TLS Secret will be called | string | `""` |
Expand Down
9 changes: 9 additions & 0 deletions charts/llm-d/templates/sample-application/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,12 @@ Sanitize the model name into a valid k8s label.

{{- $name -}}
{{- end }}


{{- define "sampleApplication.ingressHost" -}}
{{- if .Values.ingress.host -}}
{{- include "common.tplvalues.render" ( dict "value" .Values.ingress.host "context" $ ) }}
{{- else }}
{{- include "gateway.fullname" . }}.{{ default "localhost" .Values.ingress.clusterRouterBase }}
{{- end}}
{{- end }}
14 changes: 7 additions & 7 deletions charts/llm-d/templates/sample-application/ingress.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{{- if and .Values.gateway.enabled .Values.ingress.enabled (eq .Values.gateway.serviceType "NodePort") }}
{{- $gatewayFullname := include "gateway.fullname" . }}
{{- $host := include "sampleApplication.ingressHost" . }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ include "gateway.fullname" . }}
name: {{ $gatewayFullname }}
labels: {{ include "common.labels.standard" $ | nindent 4 }}
app.kubernetes.io/gateway: {{ include "gateway.fullname" . }}
app.kubernetes.io/gateway: {{ $gatewayFullname }}
app.kubernetes.io/component: sample-application
{{- if $.Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }}
Expand All @@ -24,7 +26,7 @@ spec:
tls:
{{- if .Values.ingress.tls.enabled }}
- hosts:
- {{ include "common.tplvalues.render" ( dict "value" .Values.ingress.host "context" $ ) }}
- {{ $host }}
secretName: {{ include "common.tplvalues.render" ( dict "value" .Values.ingress.tls.secretName "context" $ ) }}
{{- end }}
{{- if .Values.ingress.extraTls }}
Expand All @@ -33,16 +35,14 @@ spec:
{{- end }}
rules:
{{- range .Values.gateway.listeners }}
- {{ if $.Values.ingress.host -}}
host: {{ include "common.tplvalues.render" ( dict "value" $.Values.ingress.host "context" $ ) }}
{{ end -}}
- host: {{ $host }}
http:
paths:
- path: {{ .path }}
pathType: Prefix
backend:
service:
name: {{ include "gateway.fullname" $ }}
name: {{ $gatewayFullname }}
port:
number: {{ .port }}
{{- end }}
Expand Down
10 changes: 5 additions & 5 deletions charts/llm-d/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,19 @@ ingress:
# -- Additional annotations for the Ingress resource
annotations: {}

# -- Hostname to be used to expose the route to access the backstage application (e.g: backstage.IP.nip.io)
# -- Hostname to be used to expose the NodePort service to the inferencing gateway
host: ""

# -- List of additional hostnames to be covered with this ingress record (e.g. a CNAME)
# <!-- E.g.
# extraHosts:
# - name: backstage.env.example.com
# - name: llm-d.env.example.com
# path: / (Optional)
# pathType: Prefix (Optional)
# port: 7007 (Optional) -->
extraHosts: []

# -- Path to be used to expose the full route to access the backstage application (e.g: IP.nip.io/backstage)
# -- Path to be used to expose the full route to access the inferencing gateway
path: "/"

# -- Ingress TLS parameters
Expand All @@ -150,8 +150,8 @@ ingress:
# <!-- E.g.
# extraTls:
# - hosts:
# - backstage.env.example.com
# secretName: backstage-env -->
# - llm-d.env.example.com
# secretName: llm-d-env -->
extraTls: []

auth:
Expand Down
5 changes: 4 additions & 1 deletion quickstart/llmd-installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -246,12 +246,15 @@ install() {
helm dependency build .
log_success "✅ Dependencies built"

BASE_OCP_DOMAIN=$(kubectl get ingresscontroller default -n openshift-ingress-operator -o jsonpath='{.status.domain}')

log_info "🚚 Deploying llm-d chart with ${VALUES_PATH}..."
helm upgrade -i llm-d . \
${DEBUG} \
--namespace "${NAMESPACE}" \
--values "${VALUES_PATH}" \
--set gateway.parameters.proxyUID="${PROXY_UID}"
--set gateway.parameters.proxyUID="${PROXY_UID}" \
--set ingress.clusterRouterBase="${BASE_OCP_DOMAIN}"
log_success "✅ llm-d deployed"

log_info "🔄 Patching all ServiceAccounts with pull-secret..."
Expand Down
Loading