@@ -3,15 +3,52 @@ set -eo pipefail
3
3
4
4
if ! humctl get application 5min-idp; then
5
5
humctl create application 5min-idp
6
+ echo " App created"
6
7
fi
7
8
9
+ echo " Deploying workload"
10
+
8
11
humctl score deploy --app 5min-idp --env development -f ./score.yaml
9
12
10
- echo " Waiting for deploy"
13
+ echo " Waiting for deployment"
14
+
15
+ sleep 1
16
+
17
+ DEPLOYMENT_ID=$( humctl get deployment . -o json \
18
+ --app 5min-idp \
19
+ --env development \
20
+ | jq -r .metadata.id)
21
+
22
+ IS_DONE=false
23
+ CURRENT_STATUS=" "
11
24
12
- # TODO Use humctl to wait for deploy to finish once GA
13
- sleep 20
25
+ while [ " $IS_DONE " = false ]; do
26
+ CURRENT_STATUS=$( humctl get deployment " ${DEPLOYMENT_ID} " -o json \
27
+ --app 5min-idp \
28
+ --env development \
29
+ | jq -r .status.status)
30
+
31
+ if [ " $CURRENT_STATUS " = " in progress" ]; then
32
+ echo " Deployment still in progress..."
33
+ sleep 2
34
+ elif [ " $CURRENT_STATUS " = " failed" ]; then
35
+ echo " Deployment failed!"
36
+ IS_DONE=true
37
+ else
38
+ echo " Deployment complete!"
39
+ IS_DONE=true
40
+ fi
41
+ done
42
+ if [ " $CURRENT_STATUS " = " failed" ]; then
43
+ humctl get deployment-error --app 5min-idp --env development
44
+ exit 1
45
+ fi
14
46
15
47
workload_host=$( humctl get active-resources --app 5min-idp --env development -o yaml | yq ' .[] | select(.metadata.type == "route") | .status.resource.host' )
16
48
49
+ echo " Waiting for workload to be available"
50
+
51
+ # manually change the host here as the workload host resolves to localhost, which is not reachable from the container
52
+ curl -I --retry 10 --retry-delay 3 --connect-to " $workload_host :30080:5min-idp-control-plane:30080" " http://$workload_host :30080"
53
+
17
54
echo " Workload available at: http://$workload_host :30080"
0 commit comments