diff --git a/smp-docker/compose/tomcat-mysql/docker-compose.yml b/smp-docker/compose/tomcat-mysql/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..e9ac3145868864f5be9128f3d19296f1423b7cc3 --- /dev/null +++ b/smp-docker/compose/tomcat-mysql/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3.0" +services: + tomcat-mysql: + image: tomcat_mysql_smp + container_name: tomcat_mysql_smp + volumes: + - ./properties/db-scripts:/tmp/custom-database-scripts/ # init script. + ports: + - 3906:3306 + - 8980:8080 + + diff --git a/smp-docker/compose/tomcat-mysql/runCompose.sh b/smp-docker/compose/tomcat-mysql/runCompose.sh new file mode 100755 index 0000000000000000000000000000000000000000..31ea82a382cf3638d4736b908f639a9c925d96ef --- /dev/null +++ b/smp-docker/compose/tomcat-mysql/runCompose.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +WORKING_DIR="$(dirname $0)" +SML_INIT_DATABASE="../../../smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb.ddl" +SML_INIT_DATABASE_DATA="../../../smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-data.sql" +# soap ui data +PREFIX="smp-tomcat-mysql" + + + +echo "Working Directory: ${WORKING_DIR}" +cd "$WORKING_DIR" +# clear volume and containers - to run restart from strach + + +# READ argumnets +while getopts i: option +do + case "${option}" + in + i) SML_INIT_DATABASE_DATA=${OPTARG};; + esac +done + +# check if property folder exists if not create it +if [ ! -d "./properties/db-scripts/" ] +then + mkdir -p "./properties/db-scripts/" +fi + +# create database init script from l +cp "${SML_INIT_DATABASE}" ./properties/db-scripts/mysql5innodb.ddl +cp "${SML_INIT_DATABASE_DATA}" ./properties/db-scripts/mysql5innodb-data.sql + + + +function clearOldContainers { + echo "Clear containers and volumes" + docker-compose -p "${PREFIX}" rm -s -f -v +} + + +# +# Always delete shared-status-folder else weblogic will start to quick! +# because statuses are sync over shared-status-folder folders and it could contain status from previous run. + +clearOldContainers +# start +docker-compose -p ${PREFIX} up -d --force-recreate + +# wait until service is up +for i in `seq 100`; do timeout 1 bash -c ' curl --head --silent --fail http://localhost:8980/smp/'; if [ $? -eq 0 ] ; then break;fi; echo "$i. Wait for tomcat to start!"; sleep 5; done; + diff --git a/smp-docker/compose/tomcat-mysql/stopClearCompose.sh b/smp-docker/compose/tomcat-mysql/stopClearCompose.sh new file mode 100755 index 0000000000000000000000000000000000000000..ed564e90d00cc0f81f9332a6c7290eb3304b9174 --- /dev/null +++ b/smp-docker/compose/tomcat-mysql/stopClearCompose.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +WORKING_DIR="$(dirname $0)" +echo "Working Directory: ${WORKING_DIR}" +cd "$WORKING_DIR" + +PREFIX="smp-tomcat-mysql" + +# clear volume and containers - to run restart from scratch +function clearOldContainers { + echo "Clear containers and volumes" + docker-compose -p "${PREFIX}" rm -s -f -v +} + + +# stop and clear +clearOldContainers + diff --git a/smp-docker/images/tomcat-mysql/entrypoint.sh b/smp-docker/images/tomcat-mysql/entrypoint.sh index d2cdd09f6a60c89690337b64b7b95c9c190f4797..76d8a164556f0cbc9eae99004457844abb9956e7 100755 --- a/smp-docker/images/tomcat-mysql/entrypoint.sh +++ b/smp-docker/images/tomcat-mysql/entrypoint.sh @@ -50,12 +50,6 @@ init_tomcat() { rm -rf ${TOMCAT_HOME}/smp ln -sf ${TOMCAT_DIR}/smp ${TOMCAT_HOME}/ - # sed -i -e "s#jdbc:mysql://localhost:3306/smp#jdbc:mysql://localhost:3306/$DB_SCHEMA#g" "$SMP_HOME/apache-tomcat-$TOMCAT_VERSION/smp/conf/smp.config.properties" -# sed -i -e "s#jdbc.user\s*=\s*smp#jdbc.user=$DB_USER#g" "$SMP_HOME/apache-tomcat-$TOMCAT_VERSION/smp/conf/smp.config.properties" - ## sed -i -e "s#jdbc.password\s*=\s*secret123#jdbc.password=$DB_USER_PASSWORD#g" "$SMP_HOME/apache-tomcat-$TOMCAT_VERSION/smp/conf/smp.config.properties" - # sed -i -e "s#/keystores/sample_signatures_keystore.jks#$SMP_HOME/apache-tomcat-$TOMCAT_VERSION/smp/conf/sample_signatures_keystore.jks#g" "$SMP_HOME/apache-tomcat-$TOMCAT_VERSION/smp/conf/smp.config.properties" - - } @@ -82,18 +76,25 @@ init_mysql() { else echo "[INFO] MySQL ${DB_SCHEMA} not found, creating initial DBs" - echo 'create smp database' + echo 'Create smp database' mysql -h localhost -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD';drop schema if exists $DB_SCHEMA;DROP USER IF EXISTS $DB_USER; create schema $DB_SCHEMA;alter database $DB_SCHEMA charset=utf8; create user $DB_USER identified by '$DB_USER_PASSWORD';grant all on $DB_SCHEMA.* to $DB_USER;" - echo 'create smp database objects' - mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $DB_SCHEMA < "/tmp/smp-4.1.1-SNAPSHOT/database-scripts/mysql5innodb.ddl" - if [ -f "/tmp/artefacts/mysql5innodb-init-data.sql" ] + if [ -f "/tmp/custom-database-scripts/mysql5innodb-data.sql" ] + then + echo "Use custom database script! " + mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $DB_SCHEMA < "tmp/custom-database-scripts/mysql5innodb.ddl" + else + echo "Use default database ddl script!" + mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $DB_SCHEMA < "/tmp/smp-4.1.1-SNAPSHOT/database-scripts/mysql5innodb.ddl" fi + fi + + if [ -f "/tmp/custom-database-scripts/mysql5innodb-data.sql" ] then - echo "Use custom init script!." - mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $DB_SCHEMA < "/tmp/artefacts/mysql5innodb-init-data.sql" + echo "Use custom init script! " + mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $DB_SCHEMA < "tmp/custom-database-scripts/mysql5innodb-data.sql" else echo "Use default init script!" - mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $DB_SCHEMA < "/tmp/artefacts/smp-4.1.1-SNAPSHOT/database-scripts/mysql5innodb-init-data.sql" + mysql -h localhost -u root --password=$MYSQL_ROOT_PASSWORD $DB_SCHEMA < "/tmp/artefacts/smp-4.1.1-SNAPSHOT/database-scripts/mysql5innodb-data.sql" fi fi diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-data.sql b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-data.sql new file mode 100644 index 0000000000000000000000000000000000000000..e76d4de1c7b5b957b64292e7e2febe2cce51447b --- /dev/null +++ b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-data.sql @@ -0,0 +1,58 @@ +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (1, 'peppol_user', '$2a$10$.pqNZZ4fRDdNbLhNlnEYg.1/d4yAGpLDgeXpJFI0sw7.WtyKphFzu', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (2, 'the_admin', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (3, 'AdminSMP1TEST', '$2a$06$u6Hym7Zrbsf4gEIeAsJRceK.Kg7tei3kDypwucQQdky0lXOLCkrCO', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (4, 'AdminSMP2TEST', '$2a$10$h8Q3Kjbs6ZrGkU6ditjNueINlJOMDJ/g/OKiqFZy32WmdhLjV5TAi', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (5, 'test', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (6, 'test1', '$2a$06$toKXJgjqQINZdjQqSao3NeWz2n1S64PFPhVU1e8gIHh4xdbwzy1Uy', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (7, 'system', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SYSTEM_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (8, 'smp', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (9, 'user', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SERVICE_GROUP_ADMIN', 1, NOW(), NOW()); + + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (10, 'EHEALTH_SMP_EC', '', 'SERVICE_GROUP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (10, 'CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787', null,null, NOW(), NOW()); + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (11, 'EHEALTH_ż_ẞ_Ẅ_,O', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (11, 'CN=EHEALTH_z_ẞ_W_,O=European_z_ẞ_W_Commission,C=BE:f71ee8b11cb3b787', null,null, NOW(), NOW()); + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (12, 'EHEALTH_SMP_1000000007-1', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (12, 'CN=EHEALTH_SMP_1000000007,O=DG-DIGIT,C=BE:000000000123ABCD', null,null, NOW(), NOW()); + + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (14, 'EHEALTH_SMP_1000000007-2', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (14, 'CN=EHEALTH_SMP_1000000007,O=DG-DIGIT,C=BE', null,null, NOW(), NOW()); + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (15, 'EHEALTH&SMP_EC', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (15, 'CN=EHEALTH&SMP_EC,O=European&Commission,C=B&E:f71ee8b11cb3b787', null,null, NOW(), NOW()); + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (16, 'EHEALTH_SMP_EC2', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (16, 'CN=EHEALTH_SMP_EC,O=European Commission,C=BE:000000000000100f', null,null, NOW(), NOW()); + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (17, 'SMP_1000000007-3', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (17, 'CN=SMP_1000000007,O=DG-DIGIT,C=BE', null,null, NOW(), NOW()); + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (18, 'SMP_1000000007-4', '', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (18, 'CN=SMP_1000000007,O=DG-DIGIT,C=BE:000000000123ABCD', null,null, NOW(), NOW()); + +insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (19, 'SMP_1000000181,O=DIGIT,C=DK:123456789', '$2a$10$v2d/2E99dWHBM2ipTIip1enyaRKBTi.Xj/Iz0K8g0gjHBWdKRsHaC', 'SMP_ADMIN', 1, NOW(), NOW()); +insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (19, 'CN=SMP_1000000181,O=DIGIT,C=DK:123456789', null,null, NOW(), NOW()); + +update SMP_USER_SEQ set next_val=100 where next_val=1; + + +-- insert domain +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (1, 'domain','','CEF-SMP-002', 'sample_key', 1,0, NOW(), NOW()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (2, 'domainB','subdomain002', 'CEF-SMP-002','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (3, 'domainC','subdomain003', 'CEF-SMP-003','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (4, 'domainD','subdomain004', 'CEF-SMP-004','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (5, 'domainE','subdomain005', 'CEF-SMP-005','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (6, 'domainF','subdomain006', 'CEF-SMP-006','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (7, 'domainG','subdomain007', 'CEF-SMP-007','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (8, 'domainH','subdomain008', 'CEF-SMP-008','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (9, 'domainI','subdomain009', 'CEF-SMP-009','sample_key',1,0, CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (10, 'domainJ','subdomain010', 'CEF-SMP-010','sample_key',1,0,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (11, 'domainK','subdomain011', 'CEF-SMP-011','sample_key',1,0,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); +insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SML_SMP_ID, SIGNATURE_KEY_ALIAS, SML_BLUE_COAT_AUTH,SML_REGISTERED, CREATED_ON, LAST_UPDATED_ON) values (12, 'domainL','subdomain012', 'CEF-SMP-012','sample_key',1,0,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP()); + + +update SMP_DOMAIN_SEQ set next_val=100 where next_val=1;