+ 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 NBI
+ juju config -m $MODEL_NAME nbi site_url=https://nbi.${API_SERVER}.xip.io
+ juju config -m $MODEL_NAME ng-ui site_url=https://ui.${API_SERVER}.xip.io
+
+ # Expose Grafana
+ juju config -m $MODEL_NAME grafana-k8s juju-external-hostname=grafana.${API_SERVER}.xip.io
+ juju expose -m $MODEL_NAME grafana-k8s
+ wait_for_port grafana-k8s 0
+
+ # Expose Prometheus
+ juju config -m $MODEL_NAME prometheus-k8s juju-external-hostname=prometheus.${API_SERVER}.xip.io
+ juju expose -m $MODEL_NAME prometheus-k8s
+ wait_for_port prometheus-k8s 1
+
+ # Apply annotations
+ sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=ng-ui"