Feature 11037 Installation of ingress controller in OSM community installer
[osm/devops.git] / installers / install_cluster_addons.sh
index a2bc366..245ff26 100755 (executable)
@@ -88,7 +88,25 @@ function install_helm_certmanager() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
 }
 
-#checks openebs and metallb readiness
+#installs nginx
+function install_helm_nginx() {
+    [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
+    echo "Installing nginx"
+    NGINX_VERSION="4.10.0"
+    ANNOTATIONS='--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz'
+    ANNOTATIONS=${ANNOTATIONS:-""}
+    helm upgrade --install ingress-nginx ingress-nginx \
+        --repo https://kubernetes.github.io/ingress-nginx --version ${NGINX_VERSION} \
+        --namespace ingress-nginx --create-namespace ${ANNOTATIONS}
+    # Wait until ready
+    kubectl wait --namespace ingress-nginx \
+        --for=condition=ready pod \
+        --selector=app.kubernetes.io/component=controller \
+        --timeout=120s
+    [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
+}
+
+#checks openebs, metallb and cert-manager readiness
 function check_for_readiness() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     # Default input values
@@ -233,6 +251,8 @@ install_helm_metallb
 track k8scluster k8s_metallb_ok
 install_helm_certmanager
 track k8scluster k8s_certmanager_ok
+install_helm_nginx
+track k8scluster k8s_nginx_ok
 check_for_readiness
 track k8scluster k8s_ready_ok
 configure_ipaddresspool_metallb