From 1e22ead7ebbfa157bfe45006c8f1890216ed370c Mon Sep 17 00:00:00 2001 From: Paul Caskey Date: Tue, 8 Aug 2023 19:51:24 +0000 Subject: [PATCH] update Grouper to 4.4.0 --- Workbench/docker-compose.yml | 7 ++-- Workbench/grouper_daemon/Dockerfile | 2 +- Workbench/grouper_data/Dockerfile | 40 +++++++------------ .../conf/grouper.hibernate.properties | 4 +- .../container_files/mysql/createSQLuser.sql | 5 --- .../container_files/sql/createSQLuser.sql | 4 ++ Workbench/grouper_ui/Dockerfile | 2 +- Workbench/grouper_ws/Dockerfile | 2 +- 8 files changed, 27 insertions(+), 39 deletions(-) delete mode 100644 Workbench/grouper_data/container_files/mysql/createSQLuser.sql create mode 100644 Workbench/grouper_data/container_files/sql/createSQLuser.sql diff --git a/Workbench/docker-compose.yml b/Workbench/docker-compose.yml index e6ab89e..362f509 100644 --- a/Workbench/docker-compose.yml +++ b/Workbench/docker-compose.yml @@ -165,14 +165,14 @@ services: aliases: - grouper-data ports: - - 3306:3306 + - 45432:5432 healthcheck: - test: curl -s 127.0.0.1:3306 + test: /usr/bin/pg_isready interval: 30s timeout: 30s retries: 3 volumes: - - grouper_data:/var/lib/mysql + - grouper_data:/var/lib/pgsql/data/ directory: build: ./directory/ @@ -620,6 +620,7 @@ secrets: volumes: grouper_data: + grouper_data_2: source_data: comanage_data: comanage_midpoint_data: diff --git a/Workbench/grouper_daemon/Dockerfile b/Workbench/grouper_daemon/Dockerfile index 6a4f9b8..b9a458f 100644 --- a/Workbench/grouper_daemon/Dockerfile +++ b/Workbench/grouper_daemon/Dockerfile @@ -1,4 +1,4 @@ -FROM i2incommon/grouper:2.6.19 +FROM i2incommon/grouper:4.4.0 LABEL author="tier-packaging@internet2.edu " diff --git a/Workbench/grouper_data/Dockerfile b/Workbench/grouper_data/Dockerfile index 56990ae..87662aa 100644 --- a/Workbench/grouper_data/Dockerfile +++ b/Workbench/grouper_data/Dockerfile @@ -1,42 +1,30 @@ -FROM i2incommon/grouper:2.6.19 +FROM i2incommon/grouper:4.4.0 LABEL author="tier-packaging@internet2.edu " RUN yum install -y epel-release \ && yum update -y \ - && yum install -y mariadb-server mariadb \ + && dnf module enable -y postgresql:12 \ + && dnf install -y postgresql-server \ && yum clean all \ && rm -rf /var/cache/yum COPY container_files/conf/ /opt/grouper/grouperWebapp/WEB-INF/classes/ COPY container_files/bootstrap/ /tmp/ -COPY container_files/mysql/createSQLuser.sql / +COPY container_files/sql/createSQLuser.sql / -RUN ln -s /usr/bin/resolveip /usr/libexec/resolveip +#setup DB +RUN chown -R postgres:postgres /var/lib/pgsql/ +RUN echo "password" > /db-user-pwd.txt +RUN sudo -u postgres initdb -D /var/lib/pgsql/data/ --username=postgres --pwfile=/db-user-pwd.txt -RUN mysql_install_db \ - && chown -R mysql:mysql /var/lib/mysql/ \ - && sed -i 's/^\(bind-address\s.*\)/# \1/' /etc/my.cnf \ - && sed -i 's/^\(log_error\s.*\)/# \1/' /etc/my.cnf \ - && sed -i 's/\[mysqld\]/\[mysqld\]\ncharacter_set_server = utf8/' /etc/my.cnf \ - && sed -i 's/\[mysqld\]/\[mysqld\]\ncollation_server = utf8_general_ci/' /etc/my.cnf \ - && sed -i 's/\[mysqld\]/\[mysqld\]\nport = 3306/' /etc/my.cnf \ - && cat /etc/my.cnf \ - && echo "/usr/bin/mysqld_safe &" > /tmp/config \ - && echo "mysqladmin --silent --wait=30 ping || exit 1" >> /tmp/config \ - && echo "mysql -e 'GRANT ALL PRIVILEGES ON *.* TO \"root\"@\"%\" WITH GRANT OPTION;'" >> /tmp/config \ - && echo "mysql -e 'CREATE DATABASE grouper CHARACTER SET utf8 COLLATE utf8_bin;'" >> /tmp/config \ - && echo "mysql < /createSQLuser.sql" >> /tmp/config \ - && bash /tmp/config \ - && rm -f /tmp/config - -RUN (mysqld_safe & ) \ - && while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 1; done; \ - /opt/grouper/grouperWebapp/WEB-INF/bin/gsh.sh -registry -check -runscript -noprompt && \ +#create grouper DB +RUN sudo -u postgres pg_ctl start -D /var/lib/pgsql/data/ \ + && psql -U postgres -f /createSQLuser.sql \ + && /opt/grouper/grouperWebapp/WEB-INF/bin/gsh.sh -registry -check -runscript -noprompt && \ /opt/grouper/grouperWebapp/WEB-INF/bin/gsh.sh /tmp/initialize.gsh && \ /opt/grouper/grouperWebapp/WEB-INF/bin/gsh.sh /tmp/set-prov.gsh -EXPOSE 3306 - +EXPOSE 5432 -CMD mysqld_safe +CMD sudo -u postgres postgres -D /var/lib/pgsql/data/ diff --git a/Workbench/grouper_data/container_files/conf/grouper.hibernate.properties b/Workbench/grouper_data/container_files/conf/grouper.hibernate.properties index c0a1e47..f7ef3b1 100644 --- a/Workbench/grouper_data/container_files/conf/grouper.hibernate.properties +++ b/Workbench/grouper_data/container_files/conf/grouper.hibernate.properties @@ -20,12 +20,12 @@ # 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://localhost:3306/grouper?CharSet=utf8&useUnicode=true&characterEncoding=utf8 +hibernate.connection.url = jdbc:postgresql://localhost:5432/grouper hibernate.connection.username = grouper # If you are using an empty password, depending upon your version of # Java and Ant you may need to specify a password of "". # Note: you can keep passwords external and encrypted: https://bugs.internet2.edu/jira/browse/GRP-122 hibernate.connection.password = password -registry.auto.ddl.upToVersion = 2.6.* +registry.auto.ddl.upToVersion = 4.*.* diff --git a/Workbench/grouper_data/container_files/mysql/createSQLuser.sql b/Workbench/grouper_data/container_files/mysql/createSQLuser.sql deleted file mode 100644 index f89839f..0000000 --- a/Workbench/grouper_data/container_files/mysql/createSQLuser.sql +++ /dev/null @@ -1,5 +0,0 @@ -CREATE USER 'grouper'@'%' IDENTIFIED BY 'password'; -CREATE USER 'grouper'@'localhost' IDENTIFIED BY 'password'; -GRANT ALL PRIVILEGES ON * . * TO 'grouper'@'%'; -GRANT ALL PRIVILEGES ON * . * TO 'grouper'@'localhost'; -FLUSH PRIVILEGES; diff --git a/Workbench/grouper_data/container_files/sql/createSQLuser.sql b/Workbench/grouper_data/container_files/sql/createSQLuser.sql new file mode 100644 index 0000000..8037ea4 --- /dev/null +++ b/Workbench/grouper_data/container_files/sql/createSQLuser.sql @@ -0,0 +1,4 @@ +CREATE DATABASE grouper; +CREATE USER grouper WITH PASSWORD 'password'; +CREATE SCHEMA grouper; +GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA grouper TO grouper; diff --git a/Workbench/grouper_ui/Dockerfile b/Workbench/grouper_ui/Dockerfile index caec998..23d49a0 100644 --- a/Workbench/grouper_ui/Dockerfile +++ b/Workbench/grouper_ui/Dockerfile @@ -1,4 +1,4 @@ -FROM i2incommon/grouper:2.6.19 +FROM i2incommon/grouper:4.4.0 LABEL author="tier-packaging@internet2.edu " diff --git a/Workbench/grouper_ws/Dockerfile b/Workbench/grouper_ws/Dockerfile index d6b603c..89dd81e 100644 --- a/Workbench/grouper_ws/Dockerfile +++ b/Workbench/grouper_ws/Dockerfile @@ -1,4 +1,4 @@ -FROM i2incommon/grouper:2.6.19 +FROM i2incommon/grouper:4.4.0 LABEL author="tier-packaging@internet2.edu "