Support configurable ingress class name for OSM ingress resources 81/15381/1
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Tue, 9 Sep 2025 11:07:50 +0000 (13:07 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Tue, 9 Sep 2025 11:07:50 +0000 (13:07 +0200)
Change-Id: If0cca9e796b5a85980bfb9c60a1e5c0755240b3e
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
installers/00-default-install-options.rc
installers/01-export-osm-install-options.sh
installers/40-deploy-osm.sh
installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml
installers/helm/osm/templates/nbi/nbi-ingress.yaml
installers/helm/osm/templates/ng_ui/ngui-ingress.yaml
installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml
installers/helm/osm/values.yaml
installers/minio/00-base-config.rc
installers/minio/ingress-manifests/console/ingress-console.yaml
installers/minio/ingress-manifests/tenant/ingress-tenant.yaml

index 1961d4f..5593e83 100644 (file)
@@ -48,3 +48,5 @@ export OPENSHIFT_MGMT_CLUSTER=
 export MGMT_CLUSTER_CA_FILE=
 export OSM_K8S_NGINX_IPADDRESS=
 export OSM_HELM_TIMEOUT=
+export OSM_CLUSTER_INGRESS_CLASS=
+export AUX_CLUSTER_INGRESS_CLASS=
\ No newline at end of file
index 414a55f..86dc5d0 100755 (executable)
@@ -64,6 +64,8 @@ export OPENSHIFT_MGMT_CLUSTER=${OPENSHIFT_MGMT_CLUSTER}
 export MGMT_CLUSTER_CA_FILE=${MGMT_CLUSTER_CA_FILE}
 export OSM_K8S_NGINX_IPADDRESS=${OSM_K8S_NGINX_IPADDRESS}
 export OSM_HELM_TIMEOUT=${OSM_HELM_TIMEOUT}
+export OSM_CLUSTER_INGRESS_CLASS=${OSM_CLUSTER_INGRESS_CLASS}
+export AUX_CLUSTER_INGRESS_CLASS=${AUX_CLUSTER_INGRESS_CLASS}
 EOF
 
 cat "${OSM_HOME_DIR}/user-install-options.rc"
index 6b138e0..93b4630 100755 (executable)
@@ -82,6 +82,13 @@ OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.image.repositoryBase=${DOCKER_REGIS
 
 OSM_BASE_DOMAIN="${OSM_BASE_DOMAIN:-"${OSM_K8S_NGINX_IPADDRESS}.nip.io"}"
 OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.hostname=${OSM_BASE_DOMAIN}"
+if [ -n "${OSM_CLUSTER_INGRESS_CLASS}" ]; then
+    OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.ingressClassName=${OSM_CLUSTER_INGRESS_CLASS}"
+    OSM_HELM_OPTS="${OSM_HELM_OPTS} --set grafana.ingress.ingressClassName=${OSM_CLUSTER_INGRESS_CLASS}"
+    OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.server.ingress.ingressClassName=${OSM_CLUSTER_INGRESS_CLASS}"
+    OSM_HELM_OPTS="${OSM_HELM_OPTS} --set airflow.ingress.web.ingressClassName=${OSM_CLUSTER_INGRESS_CLASS}"
+    # OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.alertmanager.ingress.ingressClassName=${OSM_CLUSTER_INGRESS_CLASS}"
+fi
 OSM_HELM_OPTS="${OSM_HELM_OPTS} --set grafana.ingress.hosts={grafana.${OSM_BASE_DOMAIN}}"
 OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.server.ingress.hosts={prometheus.${OSM_BASE_DOMAIN}}"
 OSM_HELM_OPTS="${OSM_HELM_OPTS} --set airflow.ingress.web.hosts={airflow.${OSM_BASE_DOMAIN}}"
index 9479d9c..34feb49 100644 (file)
@@ -22,7 +22,7 @@ metadata:
   labels:
     {{- include "osm.labels" . | nindent 4 }}
 spec:
-  ingressClassName: nginx
+  ingressClassName: {{ .Values.global.ingressClassName | default "nginx" }}
   rules:
 {{- if .Values.alertmanager.ingress.host }}
   - host: {{ .Values.alertmanager.ingress.host }}
index a47c655..1c96ccc 100644 (file)
@@ -24,7 +24,7 @@ metadata:
   annotations:
     nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
 spec:
-  ingressClassName: nginx
+  ingressClassName: {{ .Values.global.ingressClassName | default "nginx" }}
   rules:
 {{- if .Values.nbi.ingress.host }}
   - host: {{ .Values.nbi.ingress.host }}
index 99d689f..abe9ccf 100644 (file)
@@ -24,7 +24,7 @@ metadata:
   annotations:
     nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
 spec:
-  ingressClassName: nginx
+  ingressClassName: {{ .Values.global.ingressClassName | default "nginx" }}
   rules:
 {{- if .Values.ngui.ingress.host }}
   - host: {{ .Values.ngui.ingress.host }}
index d803574..2ca0df8 100644 (file)
@@ -22,7 +22,7 @@ metadata:
   labels:
     {{- include "osm.labels" . | nindent 4 }}
 spec:
-  ingressClassName: nginx
+  ingressClassName: {{ .Values.global.ingressClassName | default "nginx" }}
   rules:
 {{- if .Values.webhookTranslator.ingress.host }}
   - host: {{ .Values.webhookTranslator.ingress.host }}
index 792e145..5155af2 100644 (file)
@@ -32,6 +32,7 @@ global:
   imagePullSecrets: []
   nameOverride: ""
   fullnameOverride: ""
+  # ingressClassName: "nginx"
 
   serviceAccount:
     # Specifies whether a service account should be created
index e4cf1d6..0d59f1b 100644 (file)
@@ -36,3 +36,6 @@ export MINIO_TENANT_VOLUMES=${MINIO_TENANT_VOLUMES:-4}
 # Expose with Ingress
 export MINIO_EXPOSE_CONSOLE=true
 export MINIO_EXPOSE_TENANT=true
+
+# Ingress classname
+export MINIO_INGRESS_CLASSNAME=${AUX_CLUSTER_INGRESS_CLASS:-nginx}
index 5d3301e..f52090f 100644 (file)
@@ -21,7 +21,7 @@ metadata:
   name: minio-console-ingress
   namespace: minio-operator
 spec:
-  ingressClassName: nginx
+  ingressClassName: ${MINIO_INGRESS_CLASSNAME}
   rules:
   - host: ${MINIO_INGRESS_CONSOLE_HOST}
     http:
index bd1be7e..44a7823 100644 (file)
@@ -27,7 +27,7 @@ metadata:
     nginx.ingress.kubernetes.io/rewrite-target: /
     nginx.ingress.kubernetes.io/proxy-body-size: "0"
 spec:
-  ingressClassName: nginx
+  ingressClassName: ${MINIO_INGRESS_CLASSNAME}
   tls:
   - hosts:
       - ${MINIO_INGRESS_TENANT_HOST}