From e02069a01f3f616f3674c55cc9ffe9e8214902c9 Mon Sep 17 00:00:00 2001 From: hpp222 Date: Mon, 16 Oct 2023 12:15:51 +0000 Subject: [PATCH] refactor: embed config file into a typescript variable and remove initialize_sql property --- entryPoint.txt | 1 - src/keycloak.ts | 10 ++++------ test/__snapshots__/integ.snapshot.test.ts.snap | 6 +----- test/cluster-quarkus.test.ts | 4 ---- 4 files changed, 5 insertions(+), 16 deletions(-) delete mode 100644 entryPoint.txt diff --git a/entryPoint.txt b/entryPoint.txt deleted file mode 100644 index 55a7e1f..0000000 --- a/entryPoint.txt +++ /dev/null @@ -1 +0,0 @@ -sh,-c,touch cache-ispn-jdbc-ping.xml && echo " " > cache-ispn-jdbc-ping.xml && cp cache-ispn-jdbc-ping.xml /opt/keycloak/conf/cache-ispn-jdbc-ping.xml && /opt/keycloak/bin/kc.sh build && /opt/keycloak/bin/kc.sh start \ No newline at end of file diff --git a/src/keycloak.ts b/src/keycloak.ts index 9f47082..0e25378 100644 --- a/src/keycloak.ts +++ b/src/keycloak.ts @@ -1,5 +1,3 @@ -import * as fs from 'fs'; -import * as path from 'path'; import * as cdk from 'aws-cdk-lib'; import { aws_certificatemanager as certmgr, @@ -749,8 +747,8 @@ export class ContainerService extends Construct { let containerPort = 8443; let protocol = elbv2.ApplicationProtocol.HTTPS; - let entryPoint = fs.readFileSync(path.join(__dirname, '../entryPoint.txt'), 'utf8').split(','); - let workingDirectory = '/opt/keycloak'; + let entryPoint = undefined; + let workingDirectory = undefined; const image = props.containerImage ?? ecs.ContainerImage.fromRegistry(this.getKeyCloakDockerImageUri(props.keycloakVersion.version)); const isQuarkusDistribution = parseInt(props.keycloakVersion.version.split('.')[0]) > 16; let environment: {[key: string]: string} = { @@ -785,6 +783,8 @@ export class ContainerService extends Construct { if (isQuarkusDistribution) { containerPort = 8080; protocol = elbv2.ApplicationProtocol.HTTP; + entryPoint = 'sh,-c,touch cache-ispn-jdbc-ping.xml && echo " " > cache-ispn-jdbc-ping.xml && cp cache-ispn-jdbc-ping.xml /opt/keycloak/conf/cache-ispn-jdbc-ping.xml && /opt/keycloak/bin/kc.sh build && /opt/keycloak/bin/kc.sh start'.split(','); + workingDirectory = '/opt/keycloak'; environment = { KC_DB: 'mysql', KC_DB_URL_DATABASE: 'keycloak', @@ -794,9 +794,7 @@ export class ContainerService extends Construct { KC_HOSTNAME: props.hostname!, KC_HOSTNAME_STRICT_BACKCHANNEL: 'true', KC_PROXY: 'edge', - INITIALIZE_SQL: 'CREATE TABLE IF NOT EXISTS JGROUPSPING (own_addr varchar(200) NOT NULL, cluster_name varchar(200) NOT NULL, ping_data VARBINARY(255), constraint PK_JGROUPSPING PRIMARY KEY (own_addr, cluster_name));', KC_CACHE_CONFIG_FILE: 'cache-ispn-jdbc-ping.xml', - }; secrets = { KC_DB_PASSWORD: ecs.Secret.fromSecretsManager(props.database.secret, 'password'), diff --git a/test/__snapshots__/integ.snapshot.test.ts.snap b/test/__snapshots__/integ.snapshot.test.ts.snap index 94010ec..51b7c8f 100644 --- a/test/__snapshots__/integ.snapshot.test.ts.snap +++ b/test/__snapshots__/integ.snapshot.test.ts.snap @@ -648,7 +648,7 @@ Object { "EntryPoint": Array [ "sh", "-c", - "touch cache-ispn-jdbc-ping.xml && echo \\" \\" > cache-ispn-jdbc-ping.xml && cp cache-ispn-jdbc-ping.xml /opt/keycloak/conf/cache-ispn-jdbc-ping.xml && /opt/keycloak/bin/kc.sh build && /opt/keycloak/bin/kc.sh start", + "touch cache-ispn-jdbc-ping.xml && echo \\" \\" > cache-ispn-jdbc-ping.xml && cp cache-ispn-jdbc-ping.xml /opt/keycloak/conf/cache-ispn-jdbc-ping.xml && /opt/keycloak/bin/kc.sh build && /opt/keycloak/bin/kc.sh start", ], "Environment": Array [ Object { @@ -688,10 +688,6 @@ Object { "Name": "KC_PROXY", "Value": "edge", }, - Object { - "Name": "INITIALIZE_SQL", - "Value": "CREATE TABLE IF NOT EXISTS JGROUPSPING (own_addr varchar(200) NOT NULL, cluster_name varchar(200) NOT NULL, ping_data VARBINARY(255), constraint PK_JGROUPSPING PRIMARY KEY (own_addr, cluster_name));", - }, Object { "Name": "KC_CACHE_CONFIG_FILE", "Value": "cache-ispn-jdbc-ping.xml", diff --git a/test/cluster-quarkus.test.ts b/test/cluster-quarkus.test.ts index 48a6561..ef16720 100644 --- a/test/cluster-quarkus.test.ts +++ b/test/cluster-quarkus.test.ts @@ -421,10 +421,6 @@ test('with env', () => { Name: 'KC_PROXY', Value: 'edge', }, - { - Name: 'INITIALIZE_SQL', - Value: 'CREATE TABLE IF NOT EXISTS JGROUPSPING (own_addr varchar(200) NOT NULL, cluster_name varchar(200) NOT NULL, ping_data VARBINARY(255), constraint PK_JGROUPSPING PRIMARY KEY (own_addr, cluster_name));', - }, { Name: 'KC_CACHE_CONFIG_FILE', Value: 'cache-ispn-jdbc-ping.xml',