From b89a41f8ffae94736499bba6a87555f7c787965e Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Tue, 9 Sep 2025 13:07:50 +0200 Subject: [PATCH] Support configurable ingress class name for OSM ingress resources Change-Id: If0cca9e796b5a85980bfb9c60a1e5c0755240b3e Signed-off-by: garciadeblas --- installers/00-default-install-options.rc | 2 ++ installers/01-export-osm-install-options.sh | 2 ++ installers/40-deploy-osm.sh | 7 +++++++ .../osm/templates/alertmanager/alertmanager-ingress.yaml | 2 +- installers/helm/osm/templates/nbi/nbi-ingress.yaml | 2 +- installers/helm/osm/templates/ng_ui/ngui-ingress.yaml | 2 +- .../webhook_translator/webhook-translator-ingress.yaml | 2 +- installers/helm/osm/values.yaml | 1 + installers/minio/00-base-config.rc | 3 +++ .../minio/ingress-manifests/console/ingress-console.yaml | 2 +- .../minio/ingress-manifests/tenant/ingress-tenant.yaml | 2 +- 11 files changed, 21 insertions(+), 6 deletions(-) diff --git a/installers/00-default-install-options.rc b/installers/00-default-install-options.rc index 1961d4fd..5593e832 100644 --- a/installers/00-default-install-options.rc +++ b/installers/00-default-install-options.rc @@ -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 diff --git a/installers/01-export-osm-install-options.sh b/installers/01-export-osm-install-options.sh index 414a55f0..86dc5d0f 100755 --- a/installers/01-export-osm-install-options.sh +++ b/installers/01-export-osm-install-options.sh @@ -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" diff --git a/installers/40-deploy-osm.sh b/installers/40-deploy-osm.sh index 6b138e0d..93b46308 100755 --- a/installers/40-deploy-osm.sh +++ b/installers/40-deploy-osm.sh @@ -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}}" diff --git a/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml b/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml index 9479d9c7..34feb495 100644 --- a/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml +++ b/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml @@ -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 }} diff --git a/installers/helm/osm/templates/nbi/nbi-ingress.yaml b/installers/helm/osm/templates/nbi/nbi-ingress.yaml index a47c655f..1c96cccb 100644 --- a/installers/helm/osm/templates/nbi/nbi-ingress.yaml +++ b/installers/helm/osm/templates/nbi/nbi-ingress.yaml @@ -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 }} diff --git a/installers/helm/osm/templates/ng_ui/ngui-ingress.yaml b/installers/helm/osm/templates/ng_ui/ngui-ingress.yaml index 99d689f3..abe9ccf3 100644 --- a/installers/helm/osm/templates/ng_ui/ngui-ingress.yaml +++ b/installers/helm/osm/templates/ng_ui/ngui-ingress.yaml @@ -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 }} diff --git a/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml b/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml index d803574c..2ca0df81 100644 --- a/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml +++ b/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml @@ -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 }} diff --git a/installers/helm/osm/values.yaml b/installers/helm/osm/values.yaml index 792e1458..5155af25 100644 --- a/installers/helm/osm/values.yaml +++ b/installers/helm/osm/values.yaml @@ -32,6 +32,7 @@ global: imagePullSecrets: [] nameOverride: "" fullnameOverride: "" + # ingressClassName: "nginx" serviceAccount: # Specifies whether a service account should be created diff --git a/installers/minio/00-base-config.rc b/installers/minio/00-base-config.rc index e4cf1d6c..0d59f1b8 100644 --- a/installers/minio/00-base-config.rc +++ b/installers/minio/00-base-config.rc @@ -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} diff --git a/installers/minio/ingress-manifests/console/ingress-console.yaml b/installers/minio/ingress-manifests/console/ingress-console.yaml index 5d3301e3..f52090f5 100644 --- a/installers/minio/ingress-manifests/console/ingress-console.yaml +++ b/installers/minio/ingress-manifests/console/ingress-console.yaml @@ -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: diff --git a/installers/minio/ingress-manifests/tenant/ingress-tenant.yaml b/installers/minio/ingress-manifests/tenant/ingress-tenant.yaml index bd1be7e6..44a7823c 100644 --- a/installers/minio/ingress-manifests/tenant/ingress-tenant.yaml +++ b/installers/minio/ingress-manifests/tenant/ingress-tenant.yaml @@ -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} -- 2.25.1