Skip to content

Commit 767e864

Browse files
authored
Support pgx style connectAddr. (#884)
Required to pluck the first host from the list for schema operations.
1 parent bcb5431 commit 767e864

2 files changed

Lines changed: 48 additions & 2 deletions

File tree

charts/temporal/templates/_admintools-env.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
- name: SQL_PLUGIN
2929
value: {{ required (printf "Please specify pluginName for %s store (e.g., mysql8, postgres12, postgres12_pgx)" $store.name) $store.config.pluginName }}
3030
- name: SQL_HOST
31-
value: {{ required (printf "Please specify connectAddr for %s store" $store.name) $store.config.connectAddr | splitList ":" | first }}
31+
value: {{ required (printf "Please specify connectAddr for %s store" $store.name) $store.config.connectAddr | splitList "," | first | splitList ":" | first }}
3232
- name: SQL_PORT
33-
value: {{ required (printf "Port must be specified in connectAddr for %s store. Expected format: 'host:port' (e.g., 'localhost:5432')" $store.name) ($store.config.connectAddr | splitList ":" | rest | first) | quote }}
33+
value: {{ required (printf "Port must be specified in connectAddr for %s store. Expected format: 'host:port' (e.g., 'localhost:5432')" $store.name) ($store.config.connectAddr | splitList "," | first | splitList ":" | rest | first) | quote }}
3434
- name: SQL_DATABASE
3535
value: {{ required (printf "Please specify databaseName for %s store" $store.name) $store.config.databaseName }}
3636
- name: SQL_USER

charts/temporal/tests/server_job_test.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,3 +476,49 @@ tests:
476476
value: aws-sdk-default
477477
- isNull:
478478
path: spec.template.spec.initContainers[?(@.name=="manage-schema-visibility-store")].env[?(@.name=="AWS_SESSION_TOKEN")]
479+
- it: extracts SQL_HOST and SQL_PORT from a single-host connectAddr
480+
set:
481+
server:
482+
config:
483+
persistence:
484+
datastores:
485+
default:
486+
sql:
487+
pluginName: postgres12
488+
connectAddr: "postgres-host:5432"
489+
databaseName: temporal
490+
visibility:
491+
sql:
492+
pluginName: postgres12
493+
connectAddr: "postgres-host:5432"
494+
databaseName: temporal_visibility
495+
asserts:
496+
- equal:
497+
path: spec.template.spec.initContainers[?(@.name=="manage-schema-default-store")].env[?(@.name=="SQL_HOST")].value
498+
value: postgres-host
499+
- equal:
500+
path: spec.template.spec.initContainers[?(@.name=="manage-schema-default-store")].env[?(@.name=="SQL_PORT")].value
501+
value: "5432"
502+
- it: extracts SQL_HOST and SQL_PORT from the first host in a multi-host connectAddr
503+
set:
504+
server:
505+
config:
506+
persistence:
507+
datastores:
508+
default:
509+
sql:
510+
pluginName: postgres12
511+
connectAddr: "host1:5432,host2:5432,host3:5432"
512+
databaseName: temporal
513+
visibility:
514+
sql:
515+
pluginName: postgres12
516+
connectAddr: "host1:5432,host2:5432,host3:5432"
517+
databaseName: temporal_visibility
518+
asserts:
519+
- equal:
520+
path: spec.template.spec.initContainers[?(@.name=="manage-schema-default-store")].env[?(@.name=="SQL_HOST")].value
521+
value: host1
522+
- equal:
523+
path: spec.template.spec.initContainers[?(@.name=="manage-schema-default-store")].env[?(@.name=="SQL_PORT")].value
524+
value: "5432"

0 commit comments

Comments
 (0)