+ if [ ! -v KUBECFG ]; then
+ API_SERVER=${DEFAULT_IP}
+ else
+ API_SERVER=$(kubectl config view --minify | grep server | cut -f 2- -d ":" | tr -d " ")
+ proto="$(echo $API_SERVER | grep :// | sed -e's,^\(.*://\).*,\1,g')"
+ url="$(echo ${API_SERVER/$proto/})"
+ user="$(echo $url | grep @ | cut -d@ -f1)"
+ hostport="$(echo ${url/$user@/} | cut -d/ -f1)"
+ API_SERVER="$(echo $hostport | sed -e 's,:.*,,g')"
+ fi
+
+ # Expose OSM services
+ # Expose Grafana
+ juju config grafana-k8s juju-external-hostname=grafana.${API_SERVER}.xip.io
+ juju expose grafana-k8s
+ wait_for_port grafana-k8s 0
+
+ # Expose NBI
+ juju config nbi-k8s juju-external-hostname=nbi.${API_SERVER}.xip.io
+ juju expose nbi-k8s
+ wait_for_port nbi-k8s 1
+
+ # Expose NG UI
+ juju config ng-ui juju-external-hostname=ui.${API_SERVER}.xip.io
+ juju expose ng-ui
+ wait_for_port ng-ui 2
+
+ # Expose Prometheus
+ juju config prometheus-k8s juju-external-hostname=prometheus.${API_SERVER}.xip.io
+ juju expose prometheus-k8s
+ wait_for_port prometheus-k8s 3
+
+ # Apply annotations
+ sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/backend-protocol=HTTPS -n osm -l juju-app=nbi-k8s"
+ sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=nbi-k8s"
+ sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=ng-ui"