-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathdeploy-personal.sh
executable file
·101 lines (72 loc) · 3.34 KB
/
deploy-personal.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/bash
SCRIPTS_DIR=`dirname $0`
. $SCRIPTS_DIR/parse-arguments.sh
. $SCRIPTS_DIR/setup-environment.sh
TEMPLATE_REPO=https://raw.githubusercontent.com/$DASHBOARD_REPO
TEMPLATE_FILE=$DASHBOARD_VARIANT.json
if [ x"$DASHBOARD_MODE" != x"" ]; then
TEMPLATE_FILE=$DASHBOARD_VARIANT-$DASHBOARD_MODE.json
fi
TEMPLATE_PATH=$TEMPLATE_REPO/$DASHBOARD_VERSION/templates/$TEMPLATE_FILE
echo "### Install workshop resource definitions."
if [ -d $WORKSHOP_DIR/resources/ ]; then
oc apply -f $WORKSHOP_DIR/resources/ --recursive
if [ "$?" != "0" ]; then
fail "Failed to create workshop resource definitions."
exit 1
fi
fi
echo "### Creating workshop deployment."
TEMPLATE_ARGS=""
TEMPLATE_ARGS="$TEMPLATE_ARGS --param WORKSHOP_NAME=$WORKSHOP_NAME"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param NAME_PREFIX=$NAME_PREFIX"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param WORKSHOP_IMAGE=$WORKSHOP_IMAGE"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param DOWNLOAD_URL=$DOWNLOAD_URL"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param WORKSHOP_FILE=$WORKSHOP_FILE"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param WORKSHOP_ENVVARS=$WORKSHOP_ENVVARS"
if [ x"$DASHBOARD_MODE" == x"" ]; then
TEMPLATE_ARGS="$TEMPLATE_ARGS --param AUTH_USERNAME=$AUTH_USERNAME"
if [ ! -z ${AUTH_USERNAME+x} ]; then
TEMPLATE_ARGS="$TEMPLATE_ARGS --param AUTH_PASSWORD=$AUTH_PASSWORD"
fi
TEMPLATE_ARGS="$TEMPLATE_ARGS --param GATEWAY_ENVVARS=$GATEWAY_ENVVARS"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param TERMINAL_ENVVARS=$TERMINAL_ENVVARS"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param CONSOLE_IMAGE=$CONSOLE_IMAGE"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param CLUSTER_SUBDOMAIN=$CLUSTER_SUBDOMAIN"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param OPENSHIFT_PROJECT=$OPENSHIFT_PROJECT"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param OPENSHIFT_USERNAME=$OPENSHIFT_USERNAME"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param OPENSHIFT_PASSWORD=$OPENSHIFT_PASSWORD"
fi
if [ x"$DASHBOARD_MODE" == x"cluster-admin" ]; then
TEMPLATE_ARGS="$TEMPLATE_ARGS --param AUTH_USERNAME=$AUTH_USERNAME"
if [ ! -z ${AUTH_USERNAME+x} ]; then
TEMPLATE_ARGS="$TEMPLATE_ARGS --param AUTH_PASSWORD=$AUTH_PASSWORD"
fi
TEMPLATE_ARGS="$TEMPLATE_ARGS --param GATEWAY_ENVVARS=$GATEWAY_ENVVARS"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param TERMINAL_ENVVARS=$TERMINAL_ENVVARS"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param CONSOLE_IMAGE=$CONSOLE_IMAGE"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param WORKSHOP_NAMESPACE=$NAMESPACE"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param CLUSTER_SUBDOMAIN=$CLUSTER_SUBDOMAIN"
TEMPLATE_ARGS="$TEMPLATE_ARGS --param OPENSHIFT_PROJECT=$OPENSHIFT_PROJECT"
fi
oc process -n "$NAMESPACE" -f $TEMPLATE_PATH $TEMPLATE_ARGS | \
oc apply -n "$NAMESPACE" -f -
if [ "$?" != "0" ]; then
fail "Failed to create deployment for dashboard."
exit 1
fi
echo "### Waiting for the dashboard to deploy."
oc rollout status "dc/$NAME_PREFIX$WORKSHOP_NAME" -n "$NAMESPACE"
if [ "$?" != "0" ]; then
fail "Deployment of dashboard failed to complete."
exit 1
fi
echo "### Waiting for the dashboard to deploy."
oc rollout status "dc/$NAME_PREFIX$WORKSHOP_NAME" -n "$NAMESPACE"
if [ "$?" != "0" ]; then
fail "Deployment of dashboard failed to complete."
exit 1
fi
echo "### Route details for the dashboard are as follows."
oc get route "$NAME_PREFIX$WORKSHOP_NAME" -n "$NAMESPACE" \
-o template --template '{{.spec.host}}{{"\n"}}'