Support configurable ingress class name for OSM ingress resources
Change-Id: If0cca9e796b5a85980bfb9c60a1e5c0755240b3e
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/installers/00-default-install-options.rc b/installers/00-default-install-options.rc
index 852ac2d..ea39c3a 100644
--- a/installers/00-default-install-options.rc
+++ b/installers/00-default-install-options.rc
@@ -48,3 +48,5 @@
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 414a55f..86dc5d0 100755
--- a/installers/01-export-osm-install-options.sh
+++ b/installers/01-export-osm-install-options.sh
@@ -64,6 +64,8 @@
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 ee12c8f..e13abd5 100755
--- a/installers/40-deploy-osm.sh
+++ b/installers/40-deploy-osm.sh
@@ -82,6 +82,13 @@
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 9479d9c..34feb49 100644
--- a/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml
+++ b/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml
@@ -22,7 +22,7 @@
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 a47c655..1c96ccc 100644
--- a/installers/helm/osm/templates/nbi/nbi-ingress.yaml
+++ b/installers/helm/osm/templates/nbi/nbi-ingress.yaml
@@ -24,7 +24,7 @@
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 99d689f..abe9ccf 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 @@
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 d803574..2ca0df8 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 @@
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 486018b..637ca8b 100644
--- a/installers/helm/osm/values.yaml
+++ b/installers/helm/osm/values.yaml
@@ -32,6 +32,7 @@
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 e4cf1d6..0d59f1b 100644
--- a/installers/minio/00-base-config.rc
+++ b/installers/minio/00-base-config.rc
@@ -36,3 +36,6 @@
# 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 5d3301e..f52090f 100644
--- a/installers/minio/ingress-manifests/console/ingress-console.yaml
+++ b/installers/minio/ingress-manifests/console/ingress-console.yaml
@@ -21,7 +21,7 @@
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 bd1be7e..44a7823 100644
--- a/installers/minio/ingress-manifests/tenant/ingress-tenant.yaml
+++ b/installers/minio/ingress-manifests/tenant/ingress-tenant.yaml
@@ -27,7 +27,7 @@
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}