From b141679a75e5a197415c6565f17df3b25e5e4577 Mon Sep 17 00:00:00 2001 From: alicia-koh Date: Wed, 19 Feb 2025 11:20:10 +0800 Subject: [PATCH] Create and switch to alp_fhir db --- docker-compose.yml | 23 +++++++++++++++++++++++ fhir_functions/alp-fhir-init/src/env.ts | 14 +++++++------- fhir_functions/alp-fhir-svc/src/env.ts | 16 ++++++++-------- fhir_functions/package.json | 2 +- services/alp-fhir/config.json | 16 ++++++++-------- 5 files changed, 47 insertions(+), 24 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 61c34a96d..c8c1b6718 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,6 +47,15 @@ x-envs: PG__PORT: ${PG_PORT:-5432} PG__IDLE_TIMEOUT_IN_MS: 1000 PG__DIALECT: postgresql + pg_fhir: &x-pg-fhir + PG_FHIR__DB_NAME: alp_fhir + PG_FHIR__DEBUG: ${PG_DEBUG:-1} + PG_FHIR__HOST: ${PG_HOST:-${PROJECT_NAME:-d2e}-minerva-postgres-1} + PG_FHIR__MAX_POOL: 10 + PG_FHIR__MIN_POOL: 0 + PG_FHIR__PORT: ${PG_PORT:-5432} + PG_FHIR__IDLE_TIMEOUT_IN_MS: 1000 + PG_FHIR__DIALECT: postgresql fhir: &x-fhir FHIR__CLIENT_ID: db6b2304-f236-45ec-b10c-a852681e7129 FHIR__CLIENT_SECRET: ${FHIR__CLIENT_SECRET} @@ -136,6 +145,7 @@ services: - *x-fhir - *x-minio - *x-pg + - *x-pg-fhir REP_PG: postgres://postgres:mypass@broadsea-atlasdb:5432/postgres SERVICE_ENV: |- { @@ -462,6 +472,10 @@ services: "+white_rabbit": {}, "+trex": {} } + }, + "+${PG_DB_NAME:-alp_fhir}": { + "schemas": { + } } } } @@ -474,6 +488,14 @@ services: "readerPassword": "${PG_WRITE_PASSWORD}", "writer": "${PG_WRITE_USER:-alp_pg_write_user}", "writerPassword": "${PG_WRITE_PASSWORD}" + }, + "${PG_DB_NAME:-alp_fhir}": { + "manager": "${PG_ADMIN_USER:-alp_pg_admin_user}", + "managerPassword": "${PG_ADMIN_PASSWORD}", + "reader": "${PG_WRITE_USER:-alp_pg_write_user}", + "readerPassword": "${PG_WRITE_PASSWORD}", + "writer": "${PG_WRITE_USER:-alp_pg_write_user}", + "writerPassword": "${PG_WRITE_PASSWORD}" } } POSTGRES_SUPERUSER: ${PG_SUPER_USER:-postgres} @@ -997,6 +1019,7 @@ services: - *x-pg - *x-redis - *x-fhir + PG__DB_NAME: alp_fhir PG_SUPER_PASSWORD: ${PG_SUPER_PASSWORD} PG_SUPER_USER: ${PG_SUPER_USER:-postgres} REDIS_PASSWORD: ${REDIS_PASSWORD} diff --git a/fhir_functions/alp-fhir-init/src/env.ts b/fhir_functions/alp-fhir-init/src/env.ts index 9208987c4..c5634cdb6 100644 --- a/fhir_functions/alp-fhir-init/src/env.ts +++ b/fhir_functions/alp-fhir-init/src/env.ts @@ -7,16 +7,16 @@ export const env = { PORT: Number(_env.PORT!), DUCKDB_PATH: _env.DUCKDB_PATH, PLUGIN_PATH: _env.PLUGIN_PATH, - GATEWAY_CA_CERT: _env.TLS__INTERNAL__CA_CRT?.replace(/\\n/g, '\n'), + GATEWAY_CA_CERT: _env.TLS__INTERNAL__CA_CRT?.replace(/\\n/g, "\n"), IDP__ALP_DATA_CLIENT_ID: _env.IDP__ALP_DATA_CLIENT_ID, IDP__ALP_DATA__CLIENT_SECRET: _env.IDP__ALP_DATA__CLIENT_SECRET, ALP_GATEWAY_OAUTH__URL: _env.ALP_GATEWAY_OAUTH__URL, - SERVICE_ROUTES: _env.SERVICE_ROUTES || '{}', + SERVICE_ROUTES: _env.SERVICE_ROUTES || "{}", PG_SUPER_USER: _env.PG_SUPER_USER, PG_SUPER_PASSWORD: _env.PG_SUPER_PASSWORD, - PG__HOST: _env.PG__HOST, - PG__PORT: _env.PG__PORT, - PG__DB_NAME: _env.PG__DB_NAME -} + PG__HOST: _env.PG_FHIR__HOST, + PG__PORT: _env.PG_FHIR__PORT, + PG__DB_NAME: _env.PG_FHIR__DB_NAME, +}; -export const services = JSON.parse(env.SERVICE_ROUTES) \ No newline at end of file +export const services = JSON.parse(env.SERVICE_ROUTES); diff --git a/fhir_functions/alp-fhir-svc/src/env.ts b/fhir_functions/alp-fhir-svc/src/env.ts index c8fe992d9..c25c71eb7 100644 --- a/fhir_functions/alp-fhir-svc/src/env.ts +++ b/fhir_functions/alp-fhir-svc/src/env.ts @@ -7,20 +7,20 @@ export const env = { PORT: Number(_env.PORT!), DUCKDB_PATH: _env.DUCKDB_PATH, PLUGIN_PATH: _env.PLUGIN_PATH, - GATEWAY_CA_CERT: _env.TLS__INTERNAL__CA_CRT?.replace(/\\n/g, '\n'), + GATEWAY_CA_CERT: _env.TLS__INTERNAL__CA_CRT?.replace(/\\n/g, "\n"), IDP__ALP_DATA_CLIENT_ID: _env.IDP__ALP_DATA_CLIENT_ID, IDP__ALP_DATA__CLIENT_SECRET: _env.IDP__ALP_DATA__CLIENT_SECRET, ALP_GATEWAY_OAUTH__URL: _env.ALP_GATEWAY_OAUTH__URL, - SERVICE_ROUTES: _env.SERVICE_ROUTES || '{}', + SERVICE_ROUTES: _env.SERVICE_ROUTES || "{}", PG_SUPER_USER: _env.PG_SUPER_USER, PG_SUPER_PASSWORD: _env.PG_SUPER_PASSWORD, - PG__HOST: _env.PG__HOST, - PG__PORT: _env.PG__PORT, - PG__DB_NAME: _env.PG__DB_NAME, + PG__HOST: _env.PG_FHIR__HOST, + PG__PORT: _env.PG_FHIR__PORT, + PG__DB_NAME: _env.PG_FHIR__DB_NAME, CACHEDB__HOST: _env.CACHEDB__HOST, CACHEDB__PORT: _env.CACHEDB__PORT, FHIR_SCHEMA_PATH: _env.FHIR_SCHEMA_PATH, - FHIR_SCHEMA_FILE_NAME: _env.FHIR_SCHEMA_FILE_NAME -} + FHIR_SCHEMA_FILE_NAME: _env.FHIR_SCHEMA_FILE_NAME, +}; -export const services = JSON.parse(env.SERVICE_ROUTES) \ No newline at end of file +export const services = JSON.parse(env.SERVICE_ROUTES); diff --git a/fhir_functions/package.json b/fhir_functions/package.json index 03ed68063..198179f0b 100644 --- a/fhir_functions/package.json +++ b/fhir_functions/package.json @@ -20,7 +20,7 @@ "function": "/alp-fhir-init", "imports": "/alp-fhir-init/import.json", "env": "alp-fhir-init", - "waitfor": "http://alp-minerva-fhir-server-1:8103/healthcheck" + "waitfor": "http://fhir-server-1:8103/healthcheck" } ], "api": [ diff --git a/services/alp-fhir/config.json b/services/alp-fhir/config.json index 83ff34570..f173444aa 100644 --- a/services/alp-fhir/config.json +++ b/services/alp-fhir/config.json @@ -1,15 +1,15 @@ { "port": 8103, - "baseUrl": "http://alp-minerva-fhir-server-1:8103/", - "issuer": "http://alp-minerva-fhir-server-1:8103/", - "audience": "http://alp-minerva-fhir-server-1:8103/", - "jwksUrl": "http://alp-minerva-fhir-server-1:8103/.well-known/jwks.json", - "authorizeUrl": "http://alp-minerva-fhir-server-1:8103/oauth2/authorize", - "tokenUrl": "http://alp-minerva-fhir-server-1:8103/oauth2/token", - "userInfoUrl": "http://alp-minerva-fhir-server-1:8103/oauth2/userinfo", + "baseUrl": "http://fhir-server-1:8103/", + "issuer": "http://fhir-server-1:8103/", + "audience": "http://fhir-server-1:8103/", + "jwksUrl": "http://fhir-server-1:8103/.well-known/jwks.json", + "authorizeUrl": "http://fhir-server-1:8103/oauth2/authorize", + "tokenUrl": "http://fhir-server-1:8103/oauth2/token", + "userInfoUrl": "http://fhir-server-1:8103/oauth2/userinfo", "appBaseUrl": "https://localhost:41130/", "binaryStorage": "file:binary", - "storageBaseUrl": "http://alp-minerva-fhir-server-1:8103/storage/", + "storageBaseUrl": "http://fhir-server-1:8103/storage/", "signingKeyId": "my-key-id", "signingKey": "-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\nDEK-Info: DES-EDE3-CBC,4C2E1B45FFF24610\n\n0SOZn3P0Bd9lZgv2eSWWLMQ4JqxhbJ+dWM+V1TtSwqxe3VP24z4bys5VRpmsEpqn\nROKxdXCeqAbYsLo8V9dOQvwaxo2TTWFgUFj7sQYklyr1g5S9+KCp+1B/5E7UgNDd\nhXA2u4uhz6Bck0mTPwoy3oHjNUaNBZilMdwiR3qeiGYC0DyX69+IJgwFUTt2a1jc\nU5aUyellGYa47QRZcePgyk7Cl4FcBW9YA0pS4rNpO4wNVN6GGuZti4c0Y3PHXSRE\nDse95ZN9iWBtufjpjk4s8MX0rzqMWcjbAhTs2N5YBgKsv2czm5YMdXsYH6tGL7a1\nPyNia0r1AnHAD3pK+vzaZGaLrvubZikrt7dr+Tp1U45b2YaZlMMaXwGU6WEK7kwr\n4sbl9hqQf/+oqBAdyJIgxIhFumK+ukUIlCV+b/XUuoatDXD127JwEyEM78Nzg5Bc\n/bKGEo9uehXpuIi0jp1BtegUIkfoV543PZZgslGVdzq0vXOir+PiHJBLlbWXXSAb\nEWKOQW2/bZ8JIHhi3Ag7KDlTVF1XetJ2TqYOOP9izfMp4lJ2vLtkH7P+jEKG8z6b\nurnXYkDWYEbzhG1frEssVQN0GP3wdyEK+n6LBCuj52Uje/M7LwahPX6dJRYPOpL9\nbApSNNJLahRRQREHp1wqEWism3r4+yRa4ha/BGc4dfKTsUtJEiHqdWvDzomN5C6A\nC7u3zjUv3ZZLoCLCbBUsiVdlJZJ5u/ymky5LKVbsscmZj93HE7/FL56I17bmTlDo\npvkJWk9SmVXvs3lwMMBRbykj974ZWEMw9EjCoP9rDJ0UNsy2kVRFfXoPMKL5S01D\niBRVSZB7k7qJofGtlBpDfooHOw4uAJ/6A0l8vpOm/Vpk8tdiRLL/RuzEKz5G3ltm\nrXPn83avfNc5+EvaM8IIKyPTvHegE5XszGK3NNlzUO1Ydze/xQPhdrp4QYFzJOuB\nXVIazLeXSJ5EjJ1ylWAWgNzsx+42NWeA2CZAZz+IJFw6C2iHEB8f8Nw6iJmFfm3I\nWsrvCRbuwIsW9fjtHTpOCCpxXu5EcvN5BKwFXeBatB7xqR6EnPbk6xDxZdroEKhH\nEZU4PlHu+BwTKKCwa4Ynwn1Qpu453qgNzaxgHLbdFipW5/AkreNWK5Il+5Bl8G90\no/MhO66eBXv3JbOtMUAqs9+Qyl5K1TaNqbStWmsiq+36Niz4ZRg7L/7W6zjG/hTH\npignoDyJYPjFFQ/sTsTUv0oKVI6KIYFlIHBDnGGnH09926sd+U/isSeMDP+Qa32m\nhHzScmDPsdyjdFsdXsJjZHe7mqCijGXu/LW4CoWoqln4y29c5BMJazwnIwegrLjJ\nQeW6InUhGZLy+uJbs1ZWxlqzOmMoTx2VVgoABdOHn/mQEC/AreUdvPMkVVYEuxel\nmAMOoefncx/EPxn7gY2SrEdmSnk9VuzR30KMC1qSw196QbQHR1G2vxKcXPwe/LH9\n7Pa0gwwqCaS2ggYt5Rvlxm7DeBIGHzGtPILnl1qyVGaqn64244JeLi9bY/O+E+uq\nBSgQmt2NwPK2RQgzzt/ETUXoOFHKiwS1v2Vp4H2PPDI8CzvlRralsQ==\n-----END RSA PRIVATE KEY-----", "signingKeyPassphrase": "top_secret",