annotate prod/install-itcm-app.sh @ 408:e49038cbb14c

Add scripts for ITC Management application
author Marc Davis <marc.davis@mcoecn.org>
date Mon, 10 Oct 2022 14:32:06 -0400
parents
children edf477197f1b
rev   line source
408
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
1 #!/bin/bash
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
2 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
3 # read required env variables
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
4 BASEDIR="$PWD"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
5 source $BASEDIR/.env/itcm-shared.properties
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
6 source $BASEDIR/.env/itcm-app.properties
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
7 # docker login
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
8 echo "Attempting to login to $artifactUrl"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
9 docker login $artifactUrl -u $artifactUser -p $artifactPassword
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
10 # docker pull db image
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
11 echo "Attempting to pull $artifactUrl/itcm-app:$appVersion"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
12 docker pull $artifactUrl/itcm-app:$appVersion
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
13 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
14 # Builder docker run command based on settings in env files
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
15 echo "Building docker run command"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
16 dockerRunCommand="docker run --name $entityId-itcm-app
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
17 --restart=unless-stopped
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
18 --network $entityId-itcm-net
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
19 -e SPRING_DATASOURCE_URL=jdbc:postgresql://$entityId-itcm-db:5432/itcmdb
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
20 -e SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
21 -e SPRING_DATASOURCE_USERNAME=postgres
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
22 -e SPRING_DATASOURCE_PASSWORD=$dbPassword
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
23 -e SPRING_PROFILES_ACTIVE=prod
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
24 -e APPLICATION_ADMIN_PASSWORD=$adminPassword
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
25 -e APPLICATION_ADMIN_RESET=$resetAdminPassword
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
26 -e JAVA_OPTS=$java_opts"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
27 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
28 if [ ! -z "$virtualHost" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
29 dockerRunCommand="$dockerRunCommand -e VIRTUAL_HOST=$virtualHost"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
30 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
31 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
32 if [ ! -z "$virtualPort" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
33 dockerRunCommand="$dockerRunCommand -e VIRTUAL_PORT=$virtualPort"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
34 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
35 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
36 if [ ! -z "$letsencryptHost" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
37 dockerRunCommand="$dockerRunCommand -e LETSENCRYPT_HOST=$letsencryptHost"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
38 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
39 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
40 if [ ! -z "$letsencryptEmail" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
41 dockerRunCommand="$dockerRunCommand -e LETSENCRYPT_EMAIL=$letsencryptEmail"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
42 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
43 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
44 if [ ! -z "$hostPort" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
45 dockerRunCommand="$dockerRunCommand -p $hostPort"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
46 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
47 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
48 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
49 if [ ! -z "$duoEnabled" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
50 echo "Adding Duo Configuration"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
51 dockerRunCommand="$dockerRunCommand
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
52 -e SSDT_DUO_ENABLED=$duoEnabled
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
53 -e SSDT_DUO_CLIENT_ID=$duoClientId
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
54 -e SSDT_DUO_CLIENT_SECRET=$duoClientSecret
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
55 -e SSDT_DUO_API_HOSTNAME=$duoApiHostname
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
56 -e SSDT_DUO_FAIL_OPEN=$duoFailOpen
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
57 -e SSDT_DUO_ITCM_HOST=$duoItcmHost
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
58 -e SSDT_DUO_ITCM_PORT=$duoItcmPort
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
59 -e SSDT_DUO_ITCM_CONTEXT=$duoItcmContext
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
60 -e SSDT_DUO_MINUTES_UNTIL_EXPIRATION=$duoMinutesUntilExpiration"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
61 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
62 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
63 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
64 if [ ! -z "$ads_config1_enabled" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
65 echo "Add Window Active Director Configuration 1"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
66 dockerRunCommand="$dockerRunCommand
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
67 -e SSDT_ADS_CONFIG1_ENABLED=$ads_config1_enabled
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
68 -e SSDT_ADS_CONFIG1_DOMAIN=$ads_config1_domain
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
69 -e SSDT_ADS_CONFIG1_LDAP_URL=$ads_config1_ldap_url
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
70 -e SSDT_ADS_CONFIG1_ROOT_DN=$ads_config1_root_dn
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
71 -e SSDT_ADS_CONFIG1_SEARCH_FILTER=$ads_config1_search_filter"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
72 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
73 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
74 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
75 if [ ! -z "$ads_config2_enabled" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
76 echo "Add Window Active Director Configuration 2"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
77 dockerRunCommand="$dockerRunCommand
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
78 -e SSDT_ADS_CONFIG2_ENABLED=$ads_config2_enabled
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
79 -e SSDT_ADS_CONFIG2_DOMAIN=$ads_config2_domain
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
80 -e SSDT_ADS_CONFIG2_LDAP_URL=$ads_config2_ldap_url
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
81 -e SSDT_ADS_CONFIG2_ROOT_DN=$ads_config2_root_dn
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
82 -e SSDT_ADS_CONFIG2_SEARCH_FILTER=$ads_config2_search_filter"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
83 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
84 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
85 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
86 if [ ! -z "$ads_config3_enabled" ]; then
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
87 echo "Add Window Active Director Configuration 3"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
88 dockerRunCommand="$dockerRunCommand
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
89 -e SSDT_ADS_CONFIG3_ENABLED=$ads_config3_enabled
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
90 -e SSDT_ADS_CONFIG3_DOMAIN=$ads_config3_domain
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
91 -e SSDT_ADS_CONFIG3_LDAP_URL=$ads_config3_ldap_url
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
92 -e SSDT_ADS_CONFIG3_ROOT_DN=$ads_config3_root_dn
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
93 -e SSDT_ADS_CONFIG3_SEARCH_FILTER=$ads_config3_search_filter"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
94 fi
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
95 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
96 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
97 dockerRunCommand="$dockerRunCommand -d $artifactUrl/itcm-app:$appVersion"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
98 #
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
99 # Execute constructed docker run command to create $entityId-itcm-app container connected to db and docker network
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
100 echo "Executing docker run command"
e49038cbb14c Add scripts for ITC Management application
Marc Davis <marc.davis@mcoecn.org>
parents:
diff changeset
101 $dockerRunCommand