comparison prod/update-ipdp-app.sh @ 610:eac0afd727a8 tip

DS-56 Merge
author calmes@ssdt-ohio.org
date Wed, 02 Jul 2025 13:27:07 +0100
parents 5cb80996e4d5
children
comparison
equal deleted inserted replaced
609:30a35d908d92 610:eac0afd727a8
1 #!/bin/bash
2 #
3 # read required env variables
4 BASEDIR="$PWD"
5 source $BASEDIR/.env/ipdp-shared.properties
6 source $BASEDIR/.env/ipdp-app.properties
7 #
8 # docker login
9 echo "Attempting to login to $artifactUrl"
10 docker login $artifactUrl -u $artifactUser -p $artifactPassword
11 #
12 # docker pull app image
13 echo "Attempting to pull $artifactUrl/ipdp-app:$appVersion"
14 docker pull $artifactUrl/ipdp-app:$appVersion
15 #
16 # docker stop ipdp app container
17 echo "Attempting to stop $entityId-ipdp-app container"
18 docker stop $entityId-ipdp-app
19 #
20 # docker rm ipdp app container
21 echo "Attempting to remove $entityId-ipdp-app container"
22 docker rm $entityId-ipdp-app
23 #
24 # Builder docker run command based on settings in env files
25 echo "Building docker run command"
26 dockerRunCommand="docker run --name $entityId-ipdp-app
27 --restart=unlipdp-stopped
28 --network $entityId-ipdp-net
29 -e SPRING_DATASOURCE_URL=jdbc:postgresql://$entityId-ipdp-db:5432/ipdpdb
30 -e SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
31 -e SPRING_DATASOURCE_USERNAME=postgres
32 -e SPRING_DATASOURCE_PASSWORD=$dbPassword
33 -e SPRING_PROFILES_ACTIVE=prod
34 -e APPLICATION_ADMIN_PASSWORD=$adminPassword
35 -e APPLICATION_ADMIN_RESET=$resetAdminPassword
36 -e USPS_CONFIGURATION_HOST=$uspsHost
37 -e USPS_CONFIGURATION_PORT=$uspsPort
38 -e USPS_CONFIGURATION_APIKEY=$uspsApiKey
39 -e USPS_CONFIGURATION_REMOTEAPIKEY=$uspsRemoteApiKey
40 -e WORKFLOWS_CONFIGURATION_HOST=$workflowsHost
41 -e WORKFLOWS_CONFIGURATION_PORT=$workflowsPort
42 -e WORKFLOWS_CONFIGURATION_API_KEY=$workflowsApiKey
43 -e WORKFLOWS_CONFIGURATION_REMOTE_API_KEY=$workflowsRemoteApiKey
44 -e JAVA_OPTS=$java_opts"
45 #
46 if [ ! -z "$virtualHost" ]; then
47 dockerRunCommand="$dockerRunCommand -e VIRTUAL_HOST=$virtualHost"
48 fi
49 #
50 if [ ! -z "$virtualPort" ]; then
51 dockerRunCommand="$dockerRunCommand -e VIRTUAL_PORT=$virtualPort"
52 fi
53 #
54 if [ ! -z "$letsencryptHost" ]; then
55 dockerRunCommand="$dockerRunCommand -e LETSENCRYPT_HOST=$letsencryptHost"
56 fi
57 #
58 if [ ! -z "$letsencryptEmail" ]; then
59 dockerRunCommand="$dockerRunCommand -e LETSENCRYPT_EMAIL=$letsencryptEmail"
60 fi
61 #
62 if [ ! -z "$hostPort" ]; then
63 dockerRunCommand="$dockerRunCommand -p $hostPort"
64 fi
65 #
66 #
67 if [ ! -z "$duoEnabled" ]; then
68 echo "Adding Duo Configuration"
69 dockerRunCommand="$dockerRunCommand
70 -e DUO_ENABLED=$duoEnabled
71 -e DUO_CLIENT_ID=$duoClientId
72 -e DUO_CLIENT_SECRET=$duoClientSecret
73 -e DUO_API_HOSTNAME=$duoApiHostname
74 -e DUO_FAIL_OPEN=$duoFailOpen
75 -e DUO_ESS_HOST=$duoipdpHost
76 -e DUO_ESS_PORT=$duoipdpPort
77 -e DUO_ESS_CONTEXT=$duoipdpContext
78 -e DUO_MINUTES_UNTIL_EXPIRATION=$duoMinutesUntilExpiration"
79 fi
80 #
81 #
82 if [ ! -z "$miniOrangeEnabled" ]; then
83 echo "Adding MiniOrange Configuration"
84 dockerRunCommand="$dockerRunCommand
85 -e MINI_ORANGE_ENABLED=$miniOrangeEnabled
86 -e MINI_ORANGE_CLIENT_ID=$miniOrangeClientId
87 -e MINI_ORANGE_CLIENT_SECRET=$miniOrangeClientSecret
88 -e MINI_ORANGE_API_HOSTNAME=$miniOrangeApiHostname
89 -e MINI_ORANGE_FAIL_OPEN=$miniOrangeFailOpen
90 -e MINI_ORANGE_APP_HOST=$miniOrangeipdpHost
91 -e MINI_ORANGE_MINUTES_UNTIL_EXPIRATION=$miniOrangeMinutesUntilExpiration"
92 fi
93 #
94 #
95 if [ ! -z "$ads_config1_enabled" ]; then
96 echo "Add Window Active Director Configuration 1"
97 dockerRunCommand="$dockerRunCommand
98 -e SSDT_ADS_CONFIG1_ENABLED=$ads_config1_enabled
99 -e SSDT_ADS_CONFIG1_DOMAIN=$ads_config1_domain
100 -e SSDT_ADS_CONFIG1_LDAP_URL=$ads_config1_ldap_url
101 -e SSDT_ADS_CONFIG1_ROOT_DN=$ads_config1_root_dn
102 -e SSDT_ADS_CONFIG1_SEARCH_FILTER=$ads_config1_search_filter"
103 fi
104 #
105 #
106 if [ ! -z "$ads_config2_enabled" ]; then
107 echo "Add Window Active Director Configuration 2"
108 dockerRunCommand="$dockerRunCommand
109 -e SSDT_ADS_CONFIG2_ENABLED=$ads_config2_enabled
110 -e SSDT_ADS_CONFIG2_DOMAIN=$ads_config2_domain
111 -e SSDT_ADS_CONFIG2_LDAP_URL=$ads_config2_ldap_url
112 -e SSDT_ADS_CONFIG2_ROOT_DN=$ads_config2_root_dn
113 -e SSDT_ADS_CONFIG2_SEARCH_FILTER=$ads_config2_search_filter"
114 fi
115 #
116 #
117 if [ ! -z "$ads_config3_enabled" ]; then
118 echo "Add Window Active Director Configuration 3"
119 dockerRunCommand="$dockerRunCommand
120 -e SSDT_ADS_CONFIG3_ENABLED=$ads_config3_enabled
121 -e SSDT_ADS_CONFIG3_DOMAIN=$ads_config3_domain
122 -e SSDT_ADS_CONFIG3_LDAP_URL=$ads_config3_ldap_url
123 -e SSDT_ADS_CONFIG3_ROOT_DN=$ads_config3_root_dn
124 -e SSDT_ADS_CONFIG3_SEARCH_FILTER=$ads_config3_search_filter"
125 fi
126 #
127 #
128 support_instance=${support_instance:-false}
129 if [ "$support_instance" = "true" ]; then
130 echo "Setting application instance type to Support"
131 dockerRunCommand="$dockerRunCommand -e APPLICATION_INSTANCE_TYPE=Support"
132 fi
133 #
134 #
135 dockerRunCommand="$dockerRunCommand -d $artifactUrl/ipdp-app:$appVersion"
136 #
137 # Execute constructed docker run command to create $entityId-ipdp-app container connected to db and docker network
138 echo "Executing docker run command"
139 $dockerRunCommand