Skip to content

Commit 3540eeb

Browse files
Register 'default' domain during auto-setup image startup (#6619)
1 parent 2b99f2a commit 3540eeb

File tree

5 files changed

+119
-0
lines changed

5 files changed

+119
-0
lines changed

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ RUN apk add --update --no-cache ca-certificates py3-pip mysql-client
9292
RUN pip3 install cqlsh && cqlsh --version
9393

9494
COPY docker/start.sh /start.sh
95+
COPY docker/domain /etc/cadence/domain
9596

9697
CMD /start.sh
9798

docker/domain/cassandra.cql

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
-- Insert into domains table
2+
INSERT INTO domains (
3+
id,
4+
domain
5+
) VALUES (
6+
123e4567-e89b-12d3-a456-426614174000, -- Replace with your UUID
7+
{
8+
id: 123e4567-e89b-12d3-a456-426614174000, -- Replace with your UUID
9+
name: 'default',
10+
status: 0, -- Registered
11+
description: 'This is an example domain.',
12+
data: {'key1': 'value1', 'key2': 'value2'},
13+
owner_email: '[email protected]'
14+
}
15+
) IF NOT EXISTS;
16+
17+
-- Insert into domains_by_name_v2 table
18+
INSERT INTO domains_by_name_v2 (
19+
domains_partition,
20+
name,
21+
domain,
22+
config,
23+
replication_config,
24+
is_global_domain,
25+
config_version,
26+
failover_version,
27+
failover_notification_version,
28+
notification_version
29+
) VALUES (
30+
0,
31+
'default',
32+
{
33+
id: 123e4567-e89b-12d3-a456-426614174000, -- Replace with your UUID
34+
name: 'default',
35+
status: 0, -- Registered
36+
description: 'This is an example domain.',
37+
data: {'key1': 'value1', 'key2': 'value2'},
38+
owner_email: '[email protected]'
39+
},
40+
{
41+
retention: 7,
42+
emit_metric: True,
43+
history_archival_status: 0, -- Default to disabled
44+
visibility_archival_status: 0 -- Default to disabled
45+
},
46+
{
47+
active_cluster_name: 'cluster0',
48+
clusters: [{cluster_name: 'cluster0'}]
49+
},
50+
True, -- is_global_domain
51+
1, -- config_version
52+
0, -- failover_version
53+
0, -- failover_notification_version
54+
0 -- notification_version
55+
) IF NOT EXISTS;

docker/domain/mysql.sql

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-- Insert into domains table
2+
INSERT INTO domains (
3+
shard_id,
4+
id,
5+
name,
6+
data,
7+
data_encoding,
8+
is_global
9+
) VALUES (
10+
54321, -- Default shard_id
11+
UNHEX(REPLACE(UUID(), '-', '')), -- Generate a 16-byte UUID
12+
'default', -- Domain name
13+
'{"key1":"value1","key2":"value2"}', -- Example data as JSON
14+
'json', -- Encoding type
15+
1 -- Set to 1 for a global domain
16+
) ON DUPLICATE KEY UPDATE
17+
name = VALUES(name);
18+
19+
-- Insert into domain_metadata table
20+
INSERT INTO domain_metadata (
21+
notification_version
22+
) VALUES (
23+
1
24+
) ON DUPLICATE KEY UPDATE
25+
notification_version = VALUES(notification_version);

docker/domain/postgres.sql

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
-- Insert into domains table
2+
INSERT INTO domains (
3+
shard_id,
4+
id,
5+
name,
6+
data,
7+
data_encoding,
8+
is_global
9+
) VALUES (
10+
54321, -- Default shard_id
11+
gen_random_uuid(), -- Generate a UUID for the domain ID
12+
'default', -- Domain name
13+
'{"key1":"value1","key2":"value2"}', -- Example JSON data
14+
'json', -- Encoding type
15+
TRUE -- Set to TRUE for a global domain
16+
) ON CONFLICT (shard_id, id) DO UPDATE
17+
SET
18+
name = EXCLUDED.name,
19+
data = EXCLUDED.data,
20+
data_encoding = EXCLUDED.data_encoding,
21+
is_global = EXCLUDED.is_global;
22+
23+
-- Insert into domain_metadata table
24+
INSERT INTO domain_metadata (
25+
id,
26+
notification_version
27+
) VALUES (
28+
1, -- Default ID
29+
1 -- Notification version
30+
) ON CONFLICT (id) DO UPDATE
31+
SET
32+
notification_version = EXCLUDED.notification_version;

docker/start.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ setup_cassandra_schema() {
3232
cadence-cassandra-tool --ep $CASSANDRA_SEEDS create -k $VISIBILITY_KEYSPACE --rf $RF
3333
cadence-cassandra-tool --ep $CASSANDRA_SEEDS -k $VISIBILITY_KEYSPACE setup-schema -v 0.0
3434
cadence-cassandra-tool --ep $CASSANDRA_SEEDS -k $VISIBILITY_KEYSPACE update-schema -d $VISIBILITY_SCHEMA_DIR
35+
echo "Registering domain for Cassandra..."
36+
cqlsh $CASSANDRA_SEEDS -k $KEYSPACE -f /etc/cadence/domain/cassandra.cql
3537
}
3638

3739
setup_mysql_schema() {
@@ -46,6 +48,8 @@ setup_mysql_schema() {
4648
cadence-sql-tool --ep $MYSQL_SEEDS -u $MYSQL_USER --pw $MYSQL_PWD $CONNECT_ATTR create --db $VISIBILITY_DBNAME
4749
cadence-sql-tool --ep $MYSQL_SEEDS -u $MYSQL_USER --pw $MYSQL_PWD --db $VISIBILITY_DBNAME $CONNECT_ATTR setup-schema -v 0.0
4850
cadence-sql-tool --ep $MYSQL_SEEDS -u $MYSQL_USER --pw $MYSQL_PWD --db $VISIBILITY_DBNAME $CONNECT_ATTR update-schema -d $VISIBILITY_SCHEMA_DIR
51+
echo "Registering domain for MySQL..."
52+
mysql -h $MYSQL_HOST -u $MYSQL_USER -p $MYSQL_PASSWORD $MYSQL_DATABASE < /etc/cadence/domain/mysql.sql
4953
}
5054

5155
setup_postgres_schema() {
@@ -57,6 +61,8 @@ setup_postgres_schema() {
5761
cadence-sql-tool --plugin postgres --ep $POSTGRES_SEEDS -u $POSTGRES_USER --pw "$POSTGRES_PWD" -p $DB_PORT create --db $VISIBILITY_DBNAME
5862
cadence-sql-tool --plugin postgres --ep $POSTGRES_SEEDS -u $POSTGRES_USER --pw "$POSTGRES_PWD" -p $DB_PORT --db $VISIBILITY_DBNAME setup-schema -v 0.0
5963
cadence-sql-tool --plugin postgres --ep $POSTGRES_SEEDS -u $POSTGRES_USER --pw "$POSTGRES_PWD" -p $DB_PORT --db $VISIBILITY_DBNAME update-schema -d $VISIBILITY_SCHEMA_DIR
64+
echo "Registering domain for PostgreSQL..."
65+
PGPASSWORD=$POSTGRES_PASSWORD psql -h $POSTGRES_HOST -U $POSTGRES_USER -d $POSTGRES_DATABASE -f /etc/cadence/domain/postgres.sql
6066
}
6167

6268

0 commit comments

Comments
 (0)