diff --git a/demo/complex/.env b/demo/complex/.env index cabe686..d58a3c3 100644 --- a/demo/complex/.env +++ b/demo/complex/.env @@ -3,14 +3,15 @@ ENV=demo USERTOKEN= REPO_DATABASE_TYPE=mariadb REPO_JDBC_URL=default -REPO_HOST=midpoint-data +REPO_HOST=midpoint_data REPO_PORT=default REPO_DATABASE=registry REPO_USER=registry_user REPO_MISSING_SCHEMA_ACTION=create REPO_UPGRADEABLE_SCHEMA_ACTION=stop -REPO_PASSWORD_FILE=/run/secrets/m_database_password.txt -KEYSTORE_PASSWORD_FILE=/run/secrets/m_keystore_password.txt -MEM=2048m +REPO_PASSWORD_FILE=/run/secrets/mp_database_password.txt +MP_KEYSTORE_PASSWORD_FILE=/run/secrets/mp_keystore_password.txt +MP_MEM_MAX=2048m +MP_MEM_INIT=1024m LOGOUT_URL=https://localhost:8443/Shibboleth.sso/Logout SSO_HEADER=uid diff --git a/demo/complex/README.md b/demo/complex/README.md index 4d99adf..7e24d42 100644 --- a/demo/complex/README.md +++ b/demo/complex/README.md @@ -2,7 +2,7 @@ This is a demonstration of using midPoint dockerization for TIER environment in # Building and execution ``` -$ ../../midpoint/build.sh +$ ../../build.sh $ docker-compose up --build ``` diff --git a/demo/complex/configs-and-secrets/grouper/application/grouper.client.properties b/demo/complex/configs-and-secrets/grouper/application/grouper.client.properties index ee9895f..d25ad96 100644 --- a/demo/complex/configs-and-secrets/grouper/application/grouper.client.properties +++ b/demo/complex/configs-and-secrets/grouper/application/grouper.client.properties @@ -48,7 +48,7 @@ grouperClient.ldap.password = # url of web service, should include everything up to the first resource to access # e.g. http://groups.school.edu:8090/grouper-ws/servicesRest # e.g. https://groups.school.edu/grouper-ws/servicesRest -grouperClient.webService.url = https://grouper-ws/grouper-ws/servicesRest +grouperClient.webService.url = https://grouper_ws/grouper-ws/servicesRest # kerberos principal used to connect to web service grouperClient.webService.login = banderson diff --git a/demo/complex/configs-and-secrets/grouper/application/grouper.hibernate.properties b/demo/complex/configs-and-secrets/grouper/application/grouper.hibernate.properties index f4849ba..deb0d75 100644 --- a/demo/complex/configs-and-secrets/grouper/application/grouper.hibernate.properties +++ b/demo/complex/configs-and-secrets/grouper/application/grouper.hibernate.properties @@ -20,7 +20,7 @@ # e.g. hsqldb (b): jdbc:hsqldb:hsql://localhost:9001/grouper # e.g. postgres: jdbc:postgresql://localhost:5432/database # e.g. mssql: jdbc:sqlserver://localhost:3280;databaseName=grouper -hibernate.connection.url = jdbc:mysql://grouper-data:3306/grouper?CharSet=utf8&useUnicode=true&characterEncoding=utf8 +hibernate.connection.url = jdbc:mysql://grouper_data:3306/grouper?CharSet=utf8&useUnicode=true&characterEncoding=utf8 hibernate.connection.username = root # If you are using an empty password, depending upon your version of diff --git a/demo/complex/docker-compose.yml b/demo/complex/docker-compose.yml index bd2fb36..aa9b0f9 100644 --- a/demo/complex/docker-compose.yml +++ b/demo/complex/docker-compose.yml @@ -1,21 +1,21 @@ version: "3.3" services: - grouper-daemon: - build: ./grouper-daemon/ - command: bash -c "while ! curl -s grouper-data:3306 > /dev/null; do echo waiting for mysql on grouper-data to start; sleep 3; done; while ! curl -s ldap://directory:389 > /dev/null; do echo waiting for ldap on directory to start; sleep 3; done; exec daemon" + grouper_daemon: + build: ./grouper_daemon/ + command: bash -c "while ! curl -s grouper_data:3306 > /dev/null; do echo waiting for mysql on grouper_data to start; sleep 3; done; while ! curl -s ldap://directory:389 > /dev/null; do echo waiting for ldap on directory to start; sleep 3; done; exec daemon" depends_on: - - grouper-data + - grouper_data - directory environment: - - ENV=demo + - ENV + - USERTOKEN - GROUPER_CLIENT_WEBSERVICE_PASSWORD_FILE=password - GROUPER_DATABASE_PASSWORD_FILE=/run/secrets/g_database_password.txt - RABBITMQ_PASSWORD_FILE=/run/secrets/rabbitmq_password.txt - SUBJECT_SOURCE_LDAP_PASSWORD=password - - USERTOKEN=build-2 networks: - - back + - net secrets: - g_database_password.txt - rabbitmq_password.txt @@ -34,21 +34,21 @@ services: target: /opt/grouper/conf/grouper.client.properties - grouper-ui: - build: ./grouper-ui/ - command: bash -c "while ! curl -s grouper-data:3306 > /dev/null; do echo waiting for mysql on grouper-data to start; sleep 3; done; while ! curl -s ldap://directory:389 > /dev/null; do echo waiting for ldap on directory to start; sleep 3; done; exec ui" + grouper_ui: + build: ./grouper_ui/ + command: bash -c "while ! curl -s grouper_data:3306 > /dev/null; do echo waiting for mysql on grouper_data to start; sleep 3; done; while ! curl -s ldap://directory:389 > /dev/null; do echo waiting for ldap on directory to start; sleep 3; done; exec ui" depends_on: - - grouper-data + - grouper_data - directory environment: - - ENV=demo + - ENV + - USERTOKEN - GROUPER_DATABASE_PASSWORD_FILE=/run/secrets/g_database_password.txt - SUBJECT_SOURCE_LDAP_PASSWORD=password - - USERTOKEN=build-2 networks: - - back + - net ports: - - "443:443" + - 443:443 secrets: - g_database_password.txt - source: grouper.hibernate.properties @@ -84,57 +84,60 @@ services: source: ./configs-and-secrets/grouper/httpd/host-cert.pem target: /etc/pki/tls/certs/cachain.pem - grouper-data: - build: ./grouper-data/ + grouper_data: + build: ./grouper_data/ networks: - - back + - net ports: - - "3306:3306" + - 3306:3306 volumes: - grouper_data:/var/lib/mysql directory: build: ./directory/ ports: - - "389:389" + - 389:389 networks: - - back + - net volumes: - ldap:/var/lib/dirsrv sources: build: ./sources/ ports: - - "13306:3306" + - 13306:3306 networks: - - back + - net volumes: - source_data:/var/lib/mysql targets: build: ./targets/ ports: - - "23306:389" + - 23306:389 networks: - - back + - net volumes: - target_data:/var/lib/mysql - midpoint-data: + midpoint_data: image: tier/mariadb:mariadb10 ports: - - "33306:3306" + - 33306:3306 networks: - - back + - net volumes: - - midpoint_data:/var/lib/mysql + - midpoint_mysql:/var/lib/mysql + - midpoint_data:/var/lib/mysqlmounted + environment: + - CREATE_NEW_DATABASE=if_needed - midpoint-server: - build: ./midpoint-server/ + midpoint_server: + build: ./midpoint_server/ depends_on: - - midpoint-data + - midpoint_data ports: - - "8443:443" + - 8443:443 environment: - AUTHENTICATION - ENV @@ -150,18 +153,20 @@ services: - REPO_UPGRADEABLE_SCHEMA_ACTION - REPO_SCHEMA_VERSION_IF_MISSING - REPO_SCHEMA_VARIANT - - KEYSTORE_PASSWORD_FILE - - MEM + - MP_KEYSTORE_PASSWORD_FILE + - MP_MEM_MAX + - MP_MEM_INIT + - MP_JAVA_OPTS - SSO_HEADER - LOGOUT_URL - TIER_BEACON_OPT_OUT networks: - - back + - net secrets: - - m_database_password.txt - - m_keystore_password.txt - - m_sp-key.pem - - m_host-key.pem + - mp_database_password.txt + - mp_keystore_password.txt + - mp_sp-key.pem + - mp_host-key.pem volumes: - midpoint_home:/opt/midpoint/var - type: bind @@ -189,9 +194,9 @@ services: - JETTY_BROWSER_SSL_KEYSTORE_PASSWORD=password - JETTY_BACKCHANNEL_SSL_KEYSTORE_PASSWORD=password networks: - - back + - net ports: - - "4443:4443" + - 4443:4443 mq: image: rabbitmq:management @@ -199,12 +204,12 @@ services: - RABBITMQ_NODENAME=docker-rabbit hostname: rabbitmq networks: - - back + - net ports: - - "15672:15672" + - 15672:15672 networks: - back: + net: driver: bridge secrets: @@ -224,13 +229,13 @@ secrets: subject.properties: file: ./configs-and-secrets/grouper/application/subject.properties # midPoint - m_host-key.pem: + mp_host-key.pem: file: ./configs-and-secrets/midpoint/httpd/host-key.pem - m_sp-key.pem: + mp_sp-key.pem: file: ./configs-and-secrets/midpoint/shibboleth/sp-key.pem - m_database_password.txt: + mp_database_password.txt: file: ./configs-and-secrets/midpoint/application/database_password.txt - m_keystore_password.txt: + mp_keystore_password.txt: file: ./configs-and-secrets/midpoint/application/keystore_password.txt volumes: @@ -239,4 +244,5 @@ volumes: target_data: ldap: midpoint_data: + midpoint_mysql: midpoint_home: diff --git a/demo/complex/grouper-daemon/Dockerfile b/demo/complex/grouper_daemon/Dockerfile similarity index 100% rename from demo/complex/grouper-daemon/Dockerfile rename to demo/complex/grouper_daemon/Dockerfile diff --git a/demo/complex/grouper-data/Dockerfile b/demo/complex/grouper_data/Dockerfile similarity index 100% rename from demo/complex/grouper-data/Dockerfile rename to demo/complex/grouper_data/Dockerfile diff --git a/demo/complex/grouper-data/container_files/conf/grouper.hibernate.properties b/demo/complex/grouper_data/container_files/conf/grouper.hibernate.properties similarity index 100% rename from demo/complex/grouper-data/container_files/conf/grouper.hibernate.properties rename to demo/complex/grouper_data/container_files/conf/grouper.hibernate.properties diff --git a/demo/complex/grouper-data/container_files/conf/grouper.properties b/demo/complex/grouper_data/container_files/conf/grouper.properties similarity index 100% rename from demo/complex/grouper-data/container_files/conf/grouper.properties rename to demo/complex/grouper_data/container_files/conf/grouper.properties diff --git a/demo/complex/grouper-data/container_files/conf/subject.properties b/demo/complex/grouper_data/container_files/conf/subject.properties similarity index 100% rename from demo/complex/grouper-data/container_files/conf/subject.properties rename to demo/complex/grouper_data/container_files/conf/subject.properties diff --git a/demo/complex/grouper-data/container_files/seed-data/demo.gsh b/demo/complex/grouper_data/container_files/seed-data/demo.gsh similarity index 100% rename from demo/complex/grouper-data/container_files/seed-data/demo.gsh rename to demo/complex/grouper_data/container_files/seed-data/demo.gsh diff --git a/demo/complex/grouper-ui/Dockerfile b/demo/complex/grouper_ui/Dockerfile similarity index 100% rename from demo/complex/grouper-ui/Dockerfile rename to demo/complex/grouper_ui/Dockerfile diff --git a/demo/complex/grouper-ui/container_files/shibboleth/shibd.logger b/demo/complex/grouper_ui/container_files/shibboleth/shibd.logger similarity index 100% rename from demo/complex/grouper-ui/container_files/shibboleth/shibd.logger rename to demo/complex/grouper_ui/container_files/shibboleth/shibd.logger diff --git a/demo/complex/midpoint-objects/resources/scriptedsql-grouper2.xml b/demo/complex/midpoint-objects/resources/scriptedsql-grouper2.xml index ddd0c4b..250ddb1 100644 --- a/demo/complex/midpoint-objects/resources/scriptedsql-grouper2.xml +++ b/demo/complex/midpoint-objects/resources/scriptedsql-grouper2.xml @@ -18,7 +18,7 @@ - grouper-data + grouper_data 3306 root diff --git a/demo/complex/midpoint-server/Dockerfile b/demo/complex/midpoint_server/Dockerfile similarity index 100% rename from demo/complex/midpoint-server/Dockerfile rename to demo/complex/midpoint_server/Dockerfile diff --git a/demo/complex/midpoint-server/container_files/mp-home/icf-connectors/net.tirasa.connid.bundles.db.scriptedsql-2.2.6-SNAPSHOT.jar b/demo/complex/midpoint_server/container_files/mp-home/icf-connectors/net.tirasa.connid.bundles.db.scriptedsql-2.2.6-SNAPSHOT.jar similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/icf-connectors/net.tirasa.connid.bundles.db.scriptedsql-2.2.6-SNAPSHOT.jar rename to demo/complex/midpoint_server/container_files/mp-home/icf-connectors/net.tirasa.connid.bundles.db.scriptedsql-2.2.6-SNAPSHOT.jar diff --git a/demo/complex/midpoint-server/container_files/mp-home/lib/amqp-client-5.3.0.jar b/demo/complex/midpoint_server/container_files/mp-home/lib/amqp-client-5.3.0.jar similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/lib/amqp-client-5.3.0.jar rename to demo/complex/midpoint_server/container_files/mp-home/lib/amqp-client-5.3.0.jar diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/grouper/SchemaScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/grouper/SchemaScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/grouper/SchemaScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/grouper/SchemaScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/grouper/SearchScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/grouper/SearchScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/grouper/SearchScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/grouper/SearchScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/grouper/TestScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/grouper/TestScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/grouper/TestScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/grouper/TestScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/grouper2/SchemaScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/grouper2/SchemaScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/grouper2/SchemaScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/grouper2/SchemaScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/grouper2/SearchScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/grouper2/SearchScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/grouper2/SearchScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/grouper2/SearchScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/grouper2/SyncScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/grouper2/SyncScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/grouper2/SyncScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/grouper2/SyncScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/grouper2/TestScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/grouper2/TestScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/grouper2/TestScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/grouper2/TestScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/sis-persons/SchemaScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis-persons/SchemaScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/sis-persons/SchemaScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis-persons/SchemaScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/sis-persons/SearchScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis-persons/SearchScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/sis-persons/SearchScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis-persons/SearchScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/sis-persons/TestScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis-persons/TestScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/sis-persons/TestScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis-persons/TestScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/sis/SchemaScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis/SchemaScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/sis/SchemaScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis/SchemaScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/sis/SearchScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis/SearchScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/sis/SearchScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis/SearchScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/res/sis/TestScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis/TestScript.groovy similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/res/sis/TestScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis/TestScript.groovy diff --git a/demo/complex/midpoint-server/container_files/mp-home/schema/user-schema.xsd b/demo/complex/midpoint_server/container_files/mp-home/schema/user-schema.xsd similarity index 100% rename from demo/complex/midpoint-server/container_files/mp-home/schema/user-schema.xsd rename to demo/complex/midpoint_server/container_files/mp-home/schema/user-schema.xsd diff --git a/demo/complex/tests/main.bats b/demo/complex/tests/main.bats index 6ec5782..564c239 100755 --- a/demo/complex/tests/main.bats +++ b/demo/complex/tests/main.bats @@ -6,22 +6,23 @@ load ../../../library @test "000 Cleanup before running the tests" { (cd ../simple ; docker-compose down -v) (cd ../shibboleth ; docker-compose down -v) + (cd ../postgresql ; docker-compose down -v) docker-compose down -v } @test "010 Initialize and start the composition" { docker ps -a >> /tmp/log docker ps - ! (docker ps | grep -E "shibboleth_(idp|directory)_1|complex_(midpoint-server|midpoint-data)_1|simple_(midpoint-server|midpoint-data)_1") + ! (docker ps | grep -E "shibboleth_(idp|directory)_1|(complex|simple|shibboleth|postgresql)_(midpoint_server|midpoint_data)_1") cp tests/resources/sql/* sources/container_files/seed-data/ docker-compose up -d --build } @test "020 Wait until components are started" { touch $BATS_TMPDIR/not-started - wait_for_midpoint_start complex_midpoint-server_1 complex_midpoint-data_1 + wait_for_midpoint_start complex_midpoint_server_1 complex_midpoint_data_1 wait_for_shibboleth_idp_start complex_idp_1 - wait_for_grouper_ui_start complex_grouper-ui_1 + wait_for_grouper_ui_start complex_grouper_ui_1 rm $BATS_TMPDIR/not-started }