@@ -6,6 +6,7 @@ set -eux -o pipefail
66
77DB=" ${DB:- cassandra} "
88SKIP_SCHEMA_SETUP=" ${SKIP_SCHEMA_SETUP:- false} "
9+ SKIP_DB_CREATE=" ${SKIP_DB_CREATE:- false} "
910
1011# Cassandra
1112KEYSPACE=" ${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
207218validate_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
303314fi
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