diff --git a/charts/llm-d/Chart.yaml b/charts/llm-d/Chart.yaml
index 02e493e..5ca90cc 100644
--- a/charts/llm-d/Chart.yaml
+++ b/charts/llm-d/Chart.yaml
@@ -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
diff --git a/charts/llm-d/README.md b/charts/llm-d/README.md
index 0bfc457..2768fc5 100644
--- a/charts/llm-d/README.md
+++ b/charts/llm-d/README.md
@@ -1,7 +1,7 @@
# llm-d Helm Chart for OpenShift
-
+

A Helm chart for llm-d
@@ -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) | list | `[]` |
-| ingress.extraTls | The TLS configuration for additional hostnames to be covered with this ingress record.
Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | 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) | list | `[]` |
+| ingress.extraTls | The TLS configuration for additional hostnames to be covered with this ingress record.
Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | 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 | `""` |
diff --git a/charts/llm-d/templates/sample-application/_helpers.tpl b/charts/llm-d/templates/sample-application/_helpers.tpl
index dbe4179..175722d 100644
--- a/charts/llm-d/templates/sample-application/_helpers.tpl
+++ b/charts/llm-d/templates/sample-application/_helpers.tpl
@@ -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 }}
diff --git a/charts/llm-d/templates/sample-application/ingress.yaml b/charts/llm-d/templates/sample-application/ingress.yaml
index d4babfc..d8676e4 100644
--- a/charts/llm-d/templates/sample-application/ingress.yaml
+++ b/charts/llm-d/templates/sample-application/ingress.yaml
@@ -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 }}
@@ -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 }}
@@ -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 }}
diff --git a/charts/llm-d/values.yaml b/charts/llm-d/values.yaml
index 0772d3b..6a0da6d 100644
--- a/charts/llm-d/values.yaml
+++ b/charts/llm-d/values.yaml
@@ -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)
#
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
@@ -150,8 +150,8 @@ ingress:
#
+ # - llm-d.env.example.com
+ # secretName: llm-d-env -->
extraTls: []
auth:
diff --git a/quickstart/llmd-installer.sh b/quickstart/llmd-installer.sh
index a42cfc2..23c3af4 100755
--- a/quickstart/llmd-installer.sh
+++ b/quickstart/llmd-installer.sh
@@ -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..."