Skip to content

Commit d2f41f0

Browse files
authored
Add SKIP_DB_CREATE env to auto-setup.sh (#2495)
1 parent ed29a48 commit d2f41f0

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

docker/auto-setup.sh

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ set -eux -o pipefail
66

77
DB="${DB:-cassandra}"
88
SKIP_SCHEMA_SETUP="${SKIP_SCHEMA_SETUP:-false}"
9+
SKIP_DB_CREATE="${SKIP_DB_CREATE:-false}"
910

1011
# Cassandra
1112
KEYSPACE="${KEYSPACE:-temporal}"
@@ -140,12 +141,16 @@ setup_cassandra_schema() {
140141
{ export CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD}; } 2> /dev/null
141142

142143
SCHEMA_DIR=${TEMPORAL_HOME}/schema/cassandra/temporal/versioned
143-
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" create -k "${KEYSPACE}" --rf "${CASSANDRA_REPLICATION_FACTOR}"
144+
if [ "${SKIP_DB_CREATE}" != "true" ]; then
145+
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" create -k "${KEYSPACE}" --rf "${CASSANDRA_REPLICATION_FACTOR}"
146+
fi
144147
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" -k "${KEYSPACE}" setup-schema -v 0.0
145148
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" -k "${KEYSPACE}" update-schema -d "${SCHEMA_DIR}"
146149

147150
VISIBILITY_SCHEMA_DIR=${TEMPORAL_HOME}/schema/cassandra/visibility/versioned
148-
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" create -k "${VISIBILITY_KEYSPACE}" --rf "${CASSANDRA_REPLICATION_FACTOR}"
151+
if [ "${SKIP_DB_CREATE}" != "true" ]; then
152+
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" create -k "${VISIBILITY_KEYSPACE}" --rf "${CASSANDRA_REPLICATION_FACTOR}"
153+
fi
149154
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" -k "${VISIBILITY_KEYSPACE}" setup-schema -v 0.0
150155
temporal-cassandra-tool --ep "${CASSANDRA_SEEDS}" -k "${VISIBILITY_KEYSPACE}" update-schema -d "${VISIBILITY_SCHEMA_DIR}"
151156
}
@@ -161,11 +166,16 @@ setup_mysql_schema() {
161166
fi
162167

163168
SCHEMA_DIR=${TEMPORAL_HOME}/schema/mysql/v57/temporal/versioned
164-
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" create --db "${DBNAME}"
169+
if [ "${SKIP_DB_CREATE}" != "true" ]; then
170+
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" create --db "${DBNAME}"
171+
fi
165172
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" --db "${DBNAME}" setup-schema -v 0.0
166173
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" --db "${DBNAME}" update-schema -d "${SCHEMA_DIR}"
174+
167175
VISIBILITY_SCHEMA_DIR=${TEMPORAL_HOME}/schema/mysql/v57/visibility/versioned
168-
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" create --db "${VISIBILITY_DBNAME}"
176+
if [ "${SKIP_DB_CREATE}" != "true" ]; then
177+
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" create --db "${VISIBILITY_DBNAME}"
178+
fi
169179
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" --db "${VISIBILITY_DBNAME}" setup-schema -v 0.0
170180
temporal-sql-tool --ep "${MYSQL_SEEDS}" -u "${MYSQL_USER}" "${MYSQL_CONNECT_ATTR[@]}" --db "${VISIBILITY_DBNAME}" update-schema -d "${VISIBILITY_SCHEMA_DIR}"
171181
}
@@ -176,13 +186,14 @@ setup_postgres_schema() {
176186

177187
SCHEMA_DIR=${TEMPORAL_HOME}/schema/postgresql/v96/temporal/versioned
178188
# Create database only if its name is different from the user name. Otherwise PostgreSQL container itself will create database.
179-
if [ "${DBNAME}" != "${POSTGRES_USER}" ]; then
189+
if [[ ${DBNAME} != "${POSTGRES_USER}" && ${SKIP_DB_CREATE} != true ]]; then
180190
temporal-sql-tool --plugin postgres --ep "${POSTGRES_SEEDS}" -u "${POSTGRES_USER}" -p "${DB_PORT}" create --db "${DBNAME}"
181191
fi
182192
temporal-sql-tool --plugin postgres --ep "${POSTGRES_SEEDS}" -u "${POSTGRES_USER}" -p "${DB_PORT}" --db "${DBNAME}" setup-schema -v 0.0
183193
temporal-sql-tool --plugin postgres --ep "${POSTGRES_SEEDS}" -u "${POSTGRES_USER}" -p "${DB_PORT}" --db "${DBNAME}" update-schema -d "${SCHEMA_DIR}"
194+
184195
VISIBILITY_SCHEMA_DIR=${TEMPORAL_HOME}/schema/postgresql/v96/visibility/versioned
185-
if [ "${VISIBILITY_DBNAME}" != "${POSTGRES_USER}" ]; then
196+
if [ "${VISIBILITY_DBNAME}" != "${POSTGRES_USER}" ] && [ "${SKIP_DB_CREATE}" != "true" ]; then
186197
temporal-sql-tool --plugin postgres --ep "${POSTGRES_SEEDS}" -u "${POSTGRES_USER}" -p "${DB_PORT}" create --db "${VISIBILITY_DBNAME}"
187198
fi
188199
temporal-sql-tool --plugin postgres --ep "${POSTGRES_SEEDS}" -u "${POSTGRES_USER}" -p "${DB_PORT}" --db "${VISIBILITY_DBNAME}" setup-schema -v 0.0
@@ -205,7 +216,7 @@ setup_schema() {
205216
# === Elasticsearch functions ===
206217

207218
validate_es_env() {
208-
if [ "${ENABLE_ES}" == true ]; then
219+
if [ "${ENABLE_ES}" == "true" ]; then
209220
if [ -z "${ES_SEEDS}" ]; then
210221
echo "ES_SEEDS env must be set if ENABLE_ES is ${ENABLE_ES}"
211222
exit 1
@@ -285,24 +296,24 @@ setup_server(){
285296
done
286297
echo "Temporal server started."
287298

288-
if [ "${SKIP_DEFAULT_NAMESPACE_CREATION}" != true ]; then
299+
if [ "${SKIP_DEFAULT_NAMESPACE_CREATION}" != "true" ]; then
289300
register_default_namespace
290301
fi
291302

292-
if [ "${SKIP_ADD_CUSTOM_SEARCH_ATTRIBUTES}" != true ]; then
303+
if [ "${SKIP_ADD_CUSTOM_SEARCH_ATTRIBUTES}" != "true" ]; then
293304
add_custom_search_attributes
294305
fi
295306
}
296307

297308
# === Main ===
298309

299-
if [ "${SKIP_SCHEMA_SETUP}" != true ]; then
310+
if [ "${SKIP_SCHEMA_SETUP}" != "true" ]; then
300311
validate_db_env
301312
wait_for_db
302313
setup_schema
303314
fi
304315

305-
if [ "${ENABLE_ES}" == true ]; then
316+
if [ "${ENABLE_ES}" == "true" ]; then
306317
validate_es_env
307318
wait_for_es
308319
setup_es_index

0 commit comments

Comments
 (0)