This is an automated email from the ASF dual-hosted git repository. lahirujayathilake pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata-custos.git
commit 65a4d7c8fbf1c6108762d633aa540ce8d78c3f04 Author: lahiruj <[email protected]> AuthorDate: Sun Feb 4 23:31:38 2024 -0500 integrating keycloak with a mysql db --- .../custos-keycloak/src/main/resources/standalone-ha.xml | 16 +++++++++++----- .../custos-keycloak/src/main/resources/standalone.xml | 16 +++++++++++----- .../src/main/containers/docker-compose.yml | 9 ++++++++- .../main/containers/init/mysql/scripts/bash/init-db.sh | 14 ++++++++++++++ 4 files changed, 44 insertions(+), 11 deletions(-) diff --git a/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone-ha.xml b/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone-ha.xml index 4e99163bc..00aa97bb8 100644 --- a/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone-ha.xml +++ b/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone-ha.xml @@ -133,15 +133,21 @@ <password>sa</password> </security> </datasource> - <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}"> - <connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url> - <driver>h2</driver> + <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true"> + <connection-url>jdbc:mysql://host.docker.internal:3306/keycloak</connection-url> + <driver>mysql</driver> + <pool> + <max-pool-size>20</max-pool-size> + </pool> <security> - <user-name>sa</user-name> - <password>sa</password> + <user-name>admin</user-name> + <password>admin</password> </security> </datasource> <drivers> + <driver name="mysql" module="com.mysql"> + <xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class> + </driver> <driver name="h2" module="com.h2database.h2"> <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> </driver> diff --git a/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone.xml b/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone.xml index dd2690d9a..829602cea 100644 --- a/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone.xml +++ b/custos-services/custos-external-services-distributions/custos-keycloak/src/main/resources/standalone.xml @@ -131,15 +131,21 @@ <password>sa</password> </security> </datasource> - <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}"> - <connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url> - <driver>h2</driver> + <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true"> + <connection-url>jdbc:mysql://host.docker.internal:3306/keycloak</connection-url> + <driver>mysql</driver> + <pool> + <max-pool-size>20</max-pool-size> + </pool> <security> - <user-name>sa</user-name> - <password>sa</password> + <user-name>admin</user-name> + <password>admin</password> </security> </datasource> <drivers> + <driver name="mysql" module="com.mysql"> + <xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class> + </driver> <driver name="h2" module="com.h2database.h2"> <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> </driver> diff --git a/custos-utilities/ide-integration/src/main/containers/docker-compose.yml b/custos-utilities/ide-integration/src/main/containers/docker-compose.yml index af90161f2..1f8291de1 100644 --- a/custos-utilities/ide-integration/src/main/containers/docker-compose.yml +++ b/custos-utilities/ide-integration/src/main/containers/docker-compose.yml @@ -8,6 +8,14 @@ services: KEYCLOAK_USER: admin KEYCLOAK_PASSWORD: admin PROXY_ADDRESS_FORWARDING: 'true' + DB_VENDOR: mysql + DB_ADDR: my_sql_local + DB_DATABASE: keycloak + DB_USER: admin + DB_PASSWORD: admin + depends_on: + - my_sql_local + nginx: image: apachecustos/keycloak-nginx:latest ports: @@ -50,7 +58,6 @@ services: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: root - MYSQL_DATABASE: core_services_db MYSQL_USER: admin MYSQL_PASSWORD: admin MAX_ALLOWED_PACKET: 1073741824 diff --git a/custos-utilities/ide-integration/src/main/containers/init/mysql/scripts/bash/init-db.sh b/custos-utilities/ide-integration/src/main/containers/init/mysql/scripts/bash/init-db.sh new file mode 100755 index 000000000..7d7ec9783 --- /dev/null +++ b/custos-utilities/ide-integration/src/main/containers/init/mysql/scripts/bash/init-db.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +echo "Creating databases and users..." + +mysql -u root -p"$MYSQL_ROOT_PASSWORD" <<-EOSQL + CREATE DATABASE IF NOT EXISTS core_services_db; + CREATE DATABASE IF NOT EXISTS keycloak; + CREATE USER IF NOT EXISTS 'admin'@'%' IDENTIFIED BY 'admin'; + GRANT ALL PRIVILEGES ON core_services_db.* TO 'admin'@'%'; + GRANT ALL PRIVILEGES ON keycloak.* TO 'admin'@'%'; + FLUSH PRIVILEGES; +EOSQL + +echo "Databases and users created"
