Newer
Older
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
#!/usr/bin/env bash
set -ex
substitute_values() {
cat << EOF > ./valuesForSubstitution.json
{
"<DATA_PARTITION_ID>": "${DATA_PARTITION_ID}",
"<PARTITION_POSTGRESQL_DB_NAME>": "${PARTITION_POSTGRESQL_DB_NAME}",
"<PARTITION_POSTGRESQL_USERNAME>": "${PARTITION_POSTGRESQL_USERNAME}",
"<PARTITION_POSTGRESQL_PASSWORD>": "${PARTITION_POSTGRESQL_PASSWORD}"
}
EOF
# shellcheck disable=SC2207
KEYS=( $(jq -r 'keys_unsorted[]' ./valuesForSubstitution.json) )
# shellcheck disable=SC2207
VALUES=( $(jq -r 'values[]' ./valuesForSubstitution.json) )
for i in "${!KEYS[@]}"; do
find ./ -type f -exec sed -i -e "s/${KEYS[$i]}/${VALUES[$i]}/g" {} \;
done
}
execute_sql_scripts() {
export PGPASSWORD=${POSTGRESQL_PASSWORD}
psql -h "${POSTGRESQL_HOST}" -U "${POSTGRESQL_USERNAME}" -p "${POSTGRESQL_PORT}" -f "./bootstrap.sql"
}
# General connection variables
source ./validate-env.sh "DATA_PARTITION_ID"
# Service users and passwords
source ./validate-env.sh "PARTITION_POSTGRESQL_DB_NAME"
source ./validate-env.sh "PARTITION_POSTGRESQL_USERNAME"
source ./validate-env.sh "PARTITION_POSTGRESQL_PASSWORD"
source ./validate-env.sh "POSTGRESQL_HOST"
source ./validate-env.sh "POSTGRESQL_PORT"
source ./validate-env.sh "POSTGRESQL_USERNAME"
source ./validate-env.sh "POSTGRESQL_PASSWORD"
source ./validate-env.sh "POSTGRESQL_DATABASE"
substitute_values
execute_sql_scripts
touch /tmp/bootstrap_ready
# sleeping if success
sleep 365d