This is an automated email from the ASF dual-hosted git repository.

wilfred-s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-release.git


The following commit(s) were added to refs/heads/master by this push:
     new ef6250c  [YUNIKORN-3287] Support Gateway API HTTPRoute in Helm chart 
(#231)
ef6250c is described below

commit ef6250cc479c62627cd5633ac8889d4cb07a1ccb
Author: PoiBlackTea <[email protected]>
AuthorDate: Thu Jul 23 10:03:32 2026 +1000

    [YUNIKORN-3287] Support Gateway API HTTPRoute in Helm chart (#231)
    
    Closes: #231
    
    Signed-off-by: Wilfred Spiegelenburg <[email protected]>
---
 helm-charts/yunikorn/README.md                |  4 ++
 helm-charts/yunikorn/templates/httproute.yaml | 55 +++++++++++++++++++++++++++
 helm-charts/yunikorn/values.yaml              | 23 +++++++++++
 3 files changed, 82 insertions(+)

diff --git a/helm-charts/yunikorn/README.md b/helm-charts/yunikorn/README.md
index 10e58ee..8fe1f71 100644
--- a/helm-charts/yunikorn/README.md
+++ b/helm-charts/yunikorn/README.md
@@ -115,6 +115,10 @@ The following table lists the configurable parameters of 
the YuniKorn chart and
 | `web.goGC`                                      | Web app GC threshold 
(GOGC)                                                                          
 | `100`                           |
 | `embedAdmissionController`                      | Flag for 
enabling/disabling the admission controller                                     
             | `true`                          |
 | `enableWebService`                              | Flag for 
enabling/disabling web service                                                  
             | `true`                          |
+| `httpRoute.enabled`                             | Flag for 
enabling/disabling HTTPRoute resource for Gateway API                           
             | `false`                         |
+| `httpRoute.annotations`                         | Annotations for the 
HTTPRoute resource                                                              
  | `{}`                            |
+| `httpRoute.parentRefs`                          | Parent Gateway references 
for the HTTPRoute                                                           | 
`[]`                            |
+| `httpRoute.hostnames`                           | Hostnames to match for the 
HTTPRoute                                                                  | 
`[]`                            |
 | `nodeSelector`                                  | Scheduler deployment 
nodeSelector(s)                                                                 
 | `{}`                            |
 | `tolerations`                                   | Scheduler deployment 
tolerations                                                                     
 | `[]`                            |
 | `affinity`                                      | Scheduler deployment 
affinity                                                                        
 | `{}`                            |
diff --git a/helm-charts/yunikorn/templates/httproute.yaml 
b/helm-charts/yunikorn/templates/httproute.yaml
new file mode 100644
index 0000000..3517f3d
--- /dev/null
+++ b/helm-charts/yunikorn/templates/httproute.yaml
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- if and .Values.httpRoute.enabled .Values.enableWebService }}
+apiVersion: gateway.networking.k8s.io/v1
+kind: HTTPRoute
+metadata:
+  name: yunikorn-httproute
+  labels:
+    app: yunikorn
+    chart: {{ include "yunikorn.chart" . }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  {{- with .Values.httpRoute.annotations }}
+  annotations:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+spec:
+  {{- with .Values.httpRoute.parentRefs }}
+  parentRefs:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+  {{- with .Values.httpRoute.hostnames }}
+  hostnames:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+  rules:
+    {{- if .Values.httpRoute.rules }}
+      {{- toYaml .Values.httpRoute.rules | nindent 4 }}
+    {{- else }}
+    - matches:
+        - path:
+            type: PathPrefix
+            value: /
+      backendRefs:
+        - group: ""
+          kind: Service
+          name: yunikorn-service
+          port: {{ .Values.service.portWeb }}
+          weight: 1
+    {{- end }}
+{{- end }}
diff --git a/helm-charts/yunikorn/values.yaml b/helm-charts/yunikorn/values.yaml
index cd60f9a..f98be32 100644
--- a/helm-charts/yunikorn/values.yaml
+++ b/helm-charts/yunikorn/values.yaml
@@ -88,6 +88,29 @@ ingress:
   pathType: Prefix
   tls: []
 
+# HTTPRoute configuration to expose the YuniKorn UI through the Gateway API.
+# This requires the Gateway API CRDs to be installed on your cluster.
+#
+# When enabled is true, the HTTPRoute resource will be deployed.
+# Note: You must configure `parentRefs` to attach the route to an existing 
Gateway.
+httpRoute:
+  enabled: false
+  annotations: {}
+
+  # At least one parentRef is required to attach the route to a Gateway.
+  parentRefs: []
+  #  - group: gateway.networking.k8s.io
+  #    kind: Gateway
+  #    name: yunikorn-gateway
+  #    namespace: yunikorn
+
+  # Hostnames to match for the HTTPRoute.
+  hostnames: []
+  #  - chart-example.local
+
+  # Custom routing rules. If empty, a default rule mapping to the UI service 
is used.
+  # rules: []
+
 resources:
   requests:
     cpu: 200m


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to