From 2b8d75bb89cc3e4c21588fe37c56a5c599e4dd2a Mon Sep 17 00:00:00 2001 From: mchyzer <mchyzer@isc.upenn.edu> Date: Thu, 22 Sep 2022 00:34:30 -0400 Subject: [PATCH] 2.6.16 --- .gitignore | 1 + Dockerfile | 35 ++---- Dockerfile2 | 76 +++++++++++ build.sh | 3 + build2.sh | 3 + container_files/api/log4j2.xml | 119 +++++++++--------- .../containerDockerfileInstall.sh | 72 ++++++++--- .../containerDockerfileInstallDos2unix.sh | 1 + .../containerDockerfileInstallGrouper.sh | 7 ++ .../containerDockerfileInstallJava.sh | 28 +++-- .../containerDockerfileInstallPermissions.sh | 22 ++-- .../tier-support/supervisord-tomee.conf | 1 + .../test/testContainer.Dockerfile | 2 +- container_files/usr-local-bin/libraryPrep.sh | 16 +++ .../usr-local-bin/librarySetupFiles.sh | 89 +++++++++++-- .../usr-local-bin/librarySetupPipe.sh | 2 +- rm.sh | 3 + run.sh | 19 +++ run2.sh | 4 + ssh.sh | 3 + 20 files changed, 379 insertions(+), 127 deletions(-) create mode 100644 Dockerfile2 create mode 100755 build.sh create mode 100755 build2.sh rename container_files/{ => docker-build-bin}/containerDockerfileInstall.sh (74%) rename container_files/{ => docker-build-bin}/containerDockerfileInstallDos2unix.sh (89%) rename container_files/{ => docker-build-bin}/containerDockerfileInstallGrouper.sh (86%) rename container_files/{ => docker-build-bin}/containerDockerfileInstallJava.sh (54%) rename container_files/{ => docker-build-bin}/containerDockerfileInstallPermissions.sh (88%) create mode 100755 rm.sh create mode 100755 run.sh create mode 100755 run2.sh create mode 100755 ssh.sh diff --git a/.gitignore b/.gitignore index cb7d7046..288333c8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ bin/start.sh bin/stop.sh bin/test.sh /.project +**/*~ diff --git a/Dockerfile b/Dockerfile index 10d12527..08306d82 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,15 +5,16 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \ ImageType="Grouper" \ ImageName=$imagename \ ImageOS=centos7 - + ARG GROUPER_CONTAINER_VERSION -ENV GROUPER_VERSION=2.6.15 \ +ENV GROUPER_VERSION=2.6.16 \ GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION \ JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto \ PATH=$PATH:$JAVA_HOME/bin \ GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF +# net-tools curl mlocate strace telnet man vim rsyslog cron httpd mod_ssl cronie RUN yum update -y \ && yum install -y logrotate python3-pip rsync sudo patch supervisor wget tar unzip dos2unix file \ && pip3 install --upgrade setuptools \ @@ -24,35 +25,20 @@ RUN yum update -y \ # Install Corretto Java JDK #Corretto download page: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html + ARG CORRETTO_URL_PERM=https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.rpm ARG CORRETTO_RPM=amazon-corretto-8-x64-linux-jdk.rpm -# if we are doing layers for caching while developing the container, can call run from here and not from containreDockerfileInstall.sh... -#COPY container_files/containerDockerfileInstallJava.sh /opt/container_files/ -#COPY container_files/morphString.properties /opt/container_files/ -#COPY container_files/grouper.installer.properties /opt/container_files/ -#COPY container_files/containerDockerfileInstallGrouper.sh /opt/container_files/ - -#RUN cd /tmp \ -# && chmod +x /opt/container_files/*.sh \ -# && /opt/container_files/containerDockerfileInstallDos2unix.sh /opt/container_files \ -# && /opt/container_files/containerDockerfileInstallJava.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION \ -# && /opt/container_files/containerDockerfileInstallGrouper.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION # real copy command (if not caching), uncomment this and change comments of COPY above to work on install script COPY container_files/ /opt/container_files/ -#RUN cd /tmp \ -# && chmod +x /opt/container_files/*.sh \ -# && /opt/container_files/containerDockerfileInstallDos2unix.sh /opt/container_files \ -# && /opt/container_files/containerDockerfileInstall.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION - RUN cd /tmp \ - && chmod +x /opt/container_files/*.sh \ - && /opt/container_files/containerDockerfileInstallDos2unix.sh /opt/container_files \ - && /opt/container_files/containerDockerfileInstallJava.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION \ - && /opt/container_files/containerDockerfileInstallGrouper.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION \ - && /opt/container_files/containerDockerfileInstall.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION + && chmod +x /opt/container_files/docker-build-bin/*.sh \ + && /opt/container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh /opt/container_files \ + && /opt/container_files/docker-build-bin/containerDockerfileInstallJava.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION \ + && /opt/container_files/docker-build-bin/containerDockerfileInstallGrouper.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION \ + && /opt/container_files/docker-build-bin/containerDockerfileInstall.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION # testing container @@ -66,6 +52,3 @@ EXPOSE 80 443 HEALTHCHECK NONE ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] -## uncomment ping, and comment out other entrypoint to just have a simple runnable container -#ENTRYPOINT ["ping"] -#CMD ["google.com"] \ No newline at end of file diff --git a/Dockerfile2 b/Dockerfile2 new file mode 100644 index 00000000..17bfeba9 --- /dev/null +++ b/Dockerfile2 @@ -0,0 +1,76 @@ +FROM centos:centos7 + +LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \ + Vendor="TIER" \ + ImageType="Grouper" \ + ImageName=$imagename \ + ImageOS=centos7 + +ARG GROUPER_CONTAINER_VERSION + +ENV GROUPER_VERSION=2.6.16 \ + GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION \ + JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto \ + PATH=$PATH:$JAVA_HOME/bin \ + GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF + +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime \ + && echo "NETWORKING=yes" > /etc/sysconfig/network +RUN rm -fr /var/cache/yum/* && yum clean all && yum -y install --setopt=tsflags=nodocs epel-release && yum -y update && \ + yum -y install net-tools wget curl tar unzip mlocate logrotate strace telnet man vim rsyslog cron httpd mod_ssl dos2unix cronie supervisor && \ + yum clean all + +RUN yum update -y \ + && yum install -y logrotate python3-pip rsync sudo patch supervisor wget tar unzip dos2unix file \ + && pip3 install --upgrade setuptools \ + && yum clean -y all \ + && groupadd -r tomcat \ + && useradd -r -m -s /sbin/nologin -g tomcat tomcat \ + && mkdir -p /opt/container_files + +# Install Corretto Java JDK +#Corretto download page: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html + +#ARG CORRETTO_URL_PERM=https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.rpm +#ARG CORRETTO_RPM=amazon-corretto-8-x64-linux-jdk.rpm +ARG CORRETTO_URL_PERM=https://corretto.aws/downloads/latest/amazon-corretto-8-aarch64-linux-jdk.rpm +ARG CORRETTO_RPM=amazon-corretto-8-aarch64-linux-jdk.rpm + + +COPY container_files/docker-build-bin /opt/container_files/docker-build-bin/ +COPY container_files/morphString.properties /opt/container_files/ +COPY container_files/grouper.installer.properties /opt/container_files/ +RUN mkdir /opt/container_files/java-corretto +COPY container_files/java-corretto/corretto-signing-key.pub /opt/container_files/java-corretto +COPY container_files/tier-support /opt/container_files/tier-support/ +RUN cd /tmp \ + && chmod +x /opt/container_files/docker-build-bin/*.sh \ + && /opt/container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh /opt/container_files \ + && /opt/container_files/docker-build-bin/containerDockerfileInstallJava.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION \ + && /opt/container_files/docker-build-bin/containerDockerfileInstallGrouper.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION + + +# real copy command (if not caching), uncomment this and change comments of COPY above to work on install script +COPY container_files/ /opt/container_files/ + +RUN cd /tmp \ + && /opt/container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh /opt/container_files \ + && /opt/container_files/docker-build-bin/containerDockerfileInstall.sh $CORRETTO_URL_PERM $CORRETTO_RPM $JAVA_HOME $GROUPER_VERSION + + +# testing container +# see output with docker build . --tag my:grouper +# DOCKER_BUILDKIT=0 docker build --progress=plain -t mygrouper . +# docker run --detach --name mygrouper mygrouper:latest +# docker exec -it mygrouper bash + +WORKDIR /opt/grouper/grouperWebapp/WEB-INF/ +EXPOSE 80 443 +HEALTHCHECK NONE + +#ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] + +# LOCAL start uncomment ping, and comment out other entrypoint to just have a simple runnable container +ENTRYPOINT ["ping"] +CMD ["google.com"] +# LOCAL end \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..6a1b0f46 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +docker build -t my-grouper . diff --git a/build2.sh b/build2.sh new file mode 100755 index 00000000..f51bd2f2 --- /dev/null +++ b/build2.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +docker build -t my-grouper -f Dockerfile2 . diff --git a/container_files/api/log4j2.xml b/container_files/api/log4j2.xml index 8f035ce8..93b596aa 100644 --- a/container_files/api/log4j2.xml +++ b/container_files/api/log4j2.xml @@ -10,164 +10,167 @@ <Console name="stderr" target="SYSTEM_ERR"> <PatternLayout pattern="${grouplogprefix};${env}${usertoken}${layout}"/> </Console> + __FILESTART__ <RollingFile name="file_catalina" fileName="/opt/grouper/logs/catalina.out" filePattern="/opt/grouper/logs/catalina.out.%d{yyyy-MM-dd}" > - <PatternLayout pattern="${grouplogprefix};catalina.out;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}catalina.out;${env}${usertoken}${layout}"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="30" /> </RollingFile> <RollingFile name="file_grouper_error" fileName="/opt/grouper/logs/grouper.log" filePattern="/opt/grouper/logs/grouper.log.%d{yyyy-MM-dd}" > - <PatternLayout pattern="${grouplogprefix};grouper_error.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouper_error.log;${env}${usertoken}${layout}"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="30" /> </RollingFile> <RollingFile name="file_grouper_daemon" fileName="/opt/grouper/logs/grouperDaemon.log" filePattern="/opt/grouper/logs/grouperDaemon.log.%d{yyyy-MM-dd}" > - <PatternLayout pattern="${grouplogprefix};grouperDaemon.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouperDaemon.log;${env}${usertoken}${layout}"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="30" /> </RollingFile> <RollingFile name="file_grouper_pspng" fileName="/opt/grouper/logs/pspng.log" filePattern="/opt/grouper/logs/pspng.log.%d{yyyy-MM-dd}" > - <PatternLayout pattern="${grouplogprefix};pspng.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}pspng.log;${env}${usertoken}${layout}"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="30" /> </RollingFile> <RollingFile name="file_grouper_provisioning" fileName="/opt/grouper/logs/provisioning.log" filePattern="/opt/grouper/logs/provisioning.log.%d{yyyy-MM-dd}" > - <PatternLayout pattern="${grouplogprefix};provisioning.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}provisioning.log;${env}${usertoken}${layout}"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="30" /> </RollingFile> <RollingFile name="file_grouper_ws" fileName="/opt/grouper/logs/grouper_ws.log" filePattern="/opt/grouper/logs/grouper_ws.log.%d{yyyy-MM-dd}" > - <PatternLayout pattern="${grouplogprefix};grouper_ws.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouper_ws.log;${env}${usertoken}${layout}"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="30" /> </RollingFile> <RollingFile name="file_grouper_ws_longRunning" fileName="/opt/grouper/logs/grouper_ws_longRunning.log" filePattern="/opt/grouper/logs/grouper_ws_longRunning.log.%d{yyyy-MM-dd}" > - <PatternLayout pattern="${grouplogprefix};grouper_ws_longRunning.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouper_ws_longRunning.log;${env}${usertoken}${layout}"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> </Policies> <DefaultRolloverStrategy max="30" /> </RollingFile> + __FILEEND__ + __LOGPIPESTART__ <File name="logpipe_catalina" fileName="/tmp/logpipe"> - <PatternLayout pattern="tomee;catalina.out;${sys:ENV}${sys:USERTOKEN}${layout}"/> + <PatternLayout pattern="${grouplogprefix}tomee;catalina.out;${env}${usertoken}${layout}"/> </File> <File name="logpipe_grouper_error" fileName="/tmp/logpipe"> - <PatternLayout pattern="${grouplogprefix};grouper_error.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouper_error.log;${env}${usertoken}${layout}"/> </File> <File name="logpipe_grouper_daemon" fileName="/tmp/logpipe"> - <PatternLayout pattern="${grouplogprefix};grouperDaemon.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouperDaemon.log;${env}${usertoken}${layout}"/> </File> <File name="logpipe_grouper_pspng" fileName="/tmp/logpipe"> - <PatternLayout pattern="${grouplogprefix};pspng.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}pspng.log;${env}${usertoken}${layout}"/> </File> <File name="logpipe_grouper_provisioning" fileName="/tmp/logpipe"> - <PatternLayout pattern="${grouplogprefix};provisioning.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}provisioning.log;${env}${usertoken}${layout}"/> </File> <File name="logpipe_grouper_ws" fileName="/tmp/logpipe"> - <PatternLayout pattern="${grouplogprefix};grouper_ws.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouper_ws.log;${env}${usertoken}${layout}"/> </File> <File name="logpipe_grouper_ws_longRunning" fileName="/tmp/logpipe"> - <PatternLayout pattern="${grouplogprefix};grouper_ws_longRunning.log;${env}${usertoken}${layout}"/> + <PatternLayout pattern="${grouplogprefix}grouper_ws_longRunning.log;${env}${usertoken}${layout}"/> </File> - + __LOGPIPEEND__ <!--MOREAPPENDERS--> </Appenders> <Loggers> <Root level="error"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Root> <Logger name="org.apache.catalina" level="info" additivity="false"> - <AppenderRef ref="logpipe_catalina" /> - <AppenderRef ref="file_catalina"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_catalina" />__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_catalina"/>__FILEEND__ </Logger> - <Logger name="edu.internet2.middleware" level="warn" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + <Logger name="edu.internet2.middleware" level="info" additivity="false"> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.loader.GrouperLoaderLog" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_daemon"/> - <AppenderRef ref="file_grouper_daemon"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_daemon"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_daemon"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.pspng" level="warn" additivity="false"> - <AppenderRef ref="logpipe_grouper_pspng"/> - <AppenderRef ref="file_grouper_pspng"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_pspng"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_pspng"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningObjectLog" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_provisioning"/> - <AppenderRef ref="file_grouper_provisioning"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.syncToGrouper.SyncToGrouperFromSqlDaemon" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogCommands" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.stem.StemViewPrivilegeEsbListener" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.stem.StemViewPrivilegeFullDaemonLogic" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="org.apache.tools.ant" level="warn" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.util.PerformanceLogger" level="info" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.ws.util.GrouperWsLog" level="off" additivity="false"> - <AppenderRef ref="logpipe_grouper_ws"/> - <AppenderRef ref="file_grouper_ws"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_ws"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_ws"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.ws.util.GrouperWsLongRunningLog" level="off" additivity="false"> - <AppenderRef ref="logpipe_grouper_ws_longRunning"/> - <AppenderRef ref="file_grouper_ws_longRunning"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_ws_longRunning"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_ws_longRunning"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.ui.customUi.CustomUiEngine" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.upenn.isc.pennGrouper.o365" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.remedy.GrouperRemedyLog" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_provisioning"/> - <AppenderRef ref="file_grouper_provisioning"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.remedy.digitalMarketplace.GrouperDigitalMarketplaceLog" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_provisioning"/> - <AppenderRef ref="file_grouper_provisioning"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouperBox.GrouperBoxLog" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_provisioning"/> - <AppenderRef ref="file_grouper_provisioning"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouperClient.jdbc.tableSync.GcTableSyncLog" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_error"/> - <AppenderRef ref="file_grouper_error"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.zoom" level="debug" additivity="false"> - <AppenderRef ref="logpipe_grouper_provisioning"/> - <AppenderRef ref="file_grouper_provisioning"/> + __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ + __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ </Logger> <!--MORELOGGERS--> diff --git a/container_files/containerDockerfileInstall.sh b/container_files/docker-build-bin/containerDockerfileInstall.sh similarity index 74% rename from container_files/containerDockerfileInstall.sh rename to container_files/docker-build-bin/containerDockerfileInstall.sh index 382a22be..3482397e 100644 --- a/container_files/containerDockerfileInstall.sh +++ b/container_files/docker-build-bin/containerDockerfileInstall.sh @@ -8,180 +8,224 @@ chmod 775 $(find /opt/container_files -type d) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) chmod 775 \$(find /opt/container_files -type d), result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi chmod 664 $(find /opt/container_files -type f) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) chmod 664 \$(find /opt/container_files -type f), result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi chmod 775 $(find /opt/container_files -type f -name "*.sh") returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) chmod 775 \$(find /opt/container_files -type f -name \"*.sh\"), result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/grouper/grouperWebapp/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/grouper/grouperWebapp/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/tomee/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/tomee/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/grouper/$4/grouperInstaller.jar /opt/grouper/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/grouper/$4/grouperInstaller.jar /opt/grouper/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/grouper/$4/container/tomee/* /opt/tomee/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/grouper/$4/container/tomee/* /opt/tomee/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/tomee/temp returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/tomee/temp, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/tomee/work returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/tomee/work, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/grouper/$4/container/webapp/* /opt/grouper/grouperWebapp/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/grouper/$4/container/webapp/* /opt/grouper/grouperWebapp/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi rm -rf /opt/grouper/$4 returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) rm -rf /opt/grouper/$4, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi rm -rf /opt/tomee/webapps/docs/ /opt/tomee/webapps/host-manager/ /opt/tomee/webapps/manager/ /opt/tomee/logs/* /opt/tomee/temp/* /opt/tomee/work/* /opt/tomee/conf/logging.properties returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) rm -rf /opt/tomee/webapps/docs/ /opt/tomee/webapps/host-manager/ /opt/tomee/webapps/manager/ /opt/tomee/logs/* /opt/tomee/temp/* /opt/tomee/work/*\ /opt/tomee/conf/logging.properties, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp -R /opt/container_files/api/* /opt/grouper/grouperWebapp/WEB-INF/classes/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp -R /opt/container_files/api/* /opt/grouper/grouperWebapp/WEB-INF/classes/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp -R /opt/container_files/tomee/* /opt/tomee/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp -R /opt/container_files/tomee/* /opt/tomee/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/tomee/conf/Catalina/localhost/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/tomee/conf/Catalina/localhost/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi ln -sf /usr/share/zoneinfo/UTC /etc/localtime returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) ln -sf /usr/share/zoneinfo/UTC /etc/localtime, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi rm -f /etc/alternatives/java returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) rm -f /etc/alternatives/java, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi ln -s $3/bin/java /etc/alternatives/java returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) ln -s $3/bin/java /etc/alternatives/java, result: $returnCode" - -mv /opt/container_files/tier-support /opt -returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/container_files/tier-support /opt, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/container_files/usr-local-bin/* /usr/local/bin/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/container_files/usr-local-bin/* /usr/local/bin/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/container_files/httpd/* /etc/httpd/conf.d/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/container_files/httpd/* /etc/httpd/conf.d/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/container_files/shibboleth/* /etc/shibboleth/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/container_files/shibboleth/* /etc/shibboleth/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp /dev/null /etc/httpd/conf.d/ssl.conf returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /dev/null /etc/httpd/conf.d/ssl.conf, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi rm -f /opt/tomee/bin/log4j-* returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) rm -f /opt/tomee/bin/log4j-*, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/tier-support/log4j_fix/tomeeBin/log4j-* /opt/tomee/bin/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/tier-support/log4j_fix/tomeeBin/log4j-* /opt/tomee/bin/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi rm -f /opt/tomee/lib/slf4j-* returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) rm -f /opt/tomee/lib/slf4j-*, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/tier-support/log4j_fix/tomeeLib/slf4j-* /opt/tomee/lib/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/tier-support/log4j_fix/tomeeLib/slf4j-* /opt/tomee/lib/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi rm -f /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-api-* returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) rm -f /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-api-*, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/tier-support/log4j_fix/webinfLib/* /opt/grouper/grouperWebapp/WEB-INF/lib/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/tier-support/log4j_fix/webinfLib/* /opt/grouper/grouperWebapp/WEB-INF/lib/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi touch /opt/grouper/grouperEnv.sh returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) touch /opt/grouper/grouperEnv.sh, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/tomee/work/Catalina/localhost/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/tomee/work/Catalina/localhost/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/grouper/certs/client returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/grouper/certs/client, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/grouper/certs/anchors returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/grouper/certs/anchors, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/container_files/certs/* /opt/grouper/certs/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mv /opt/container_files/certs/* /opt/grouper/certs/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi echo 'umask 002' >> /home/tomcat/.bashrc returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) echo 'umask 002' >> /home/tomcat/.bashrc, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/tier-support/originalFiles returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) mkdir -p /opt/tier-support/originalFiles, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml /opt/tier-support/originalFiles 2>/dev/null returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp /etc/httpd/conf/httpd.conf /opt/tier-support/originalFiles 2>/dev/null returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /etc/httpd/conf/httpd.conf /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp /etc/httpd/conf.d/ssl-enabled.conf /opt/tier-support/originalFiles 2>/dev/null returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /etc/httpd/conf.d/ssl-enabled.conf /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" - -cp /etc/httpd/conf.d/httpd-shib.conf /opt/tier-support/originalFiles 2>/dev/null -returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /etc/httpd/conf.d/httpd-shib.conf /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" - -cp /etc/httpd/conf.d/shib.conf /opt/tier-support/originalFiles 2>/dev/null -returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /etc/httpd/conf.d/shib.conf /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi + +if [ -f /etc/httpd/conf.d/httpd-shib.conf ]; then + cp /etc/httpd/conf.d/httpd-shib.conf /opt/tier-support/originalFiles 2>/dev/null + returnCode=$? + echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /etc/httpd/conf.d/httpd-shib.conf /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi +fi + +if [ -f /etc/httpd/conf.d/shib.conf ]; then + cp /etc/httpd/conf.d/shib.conf /opt/tier-support/originalFiles 2>/dev/null + returnCode=$? + echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /etc/httpd/conf.d/shib.conf /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi +fi cp /opt/tomee/conf/server.xml /opt/tier-support/originalFiles 2>/dev/null returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /opt/tomee/conf/server.xml /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp /opt/tomee/conf/Catalina/localhost/grouper.xml /opt/tier-support/originalFiles 2>/dev/null returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /opt/tomee/conf/Catalina/localhost/grouper.xml /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cp /opt/grouper/grouperWebapp/WEB-INF/web.xml /opt/tier-support/originalFiles 2>/dev/null returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) cp /opt/grouper/grouperWebapp/WEB-INF/web.xml /opt/tier-support/originalFiles 2>/dev/null, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi -/opt/container_files/containerDockerfileInstallPermissions.sh tomcat root +/opt/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh tomcat root returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) /opt/container_files/containerDockerfileInstallPermissions.sh tomcat root, result: $returnCode" +echo "grouperDockerfile; INFO: (containerDockerfileInstall.sh) /opt/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh tomcat root, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi diff --git a/container_files/containerDockerfileInstallDos2unix.sh b/container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh similarity index 89% rename from container_files/containerDockerfileInstallDos2unix.sh rename to container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh index 6d42356a..9c26c3c3 100644 --- a/container_files/containerDockerfileInstallDos2unix.sh +++ b/container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh @@ -5,4 +5,5 @@ if [ $lines -ne 0 ]; then dos2unix $(find $1 -type f -name "*.sh" -exec file "{}" ";" | grep CRLF | cut -d: -f1) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallDos2unix.sh) dos2unix \$(find $1 -type f -name \"*.sh\" -exec file \"{}\" \";\" | grep CRLF | cut -d: -f1), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi diff --git a/container_files/containerDockerfileInstallGrouper.sh b/container_files/docker-build-bin/containerDockerfileInstallGrouper.sh similarity index 86% rename from container_files/containerDockerfileInstallGrouper.sh rename to container_files/docker-build-bin/containerDockerfileInstallGrouper.sh index 58161654..5e5614ce 100644 --- a/container_files/containerDockerfileInstallGrouper.sh +++ b/container_files/docker-build-bin/containerDockerfileInstallGrouper.sh @@ -8,29 +8,36 @@ mv /opt/container_files/tier-support /opt returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallGrouper.sh) mv /opt/container_files/tier-support /opt, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mkdir -p /opt/grouper/$GROUPER_VERSION returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallGrouper.sh) , result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi wget -q -O /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar https://oss.sonatype.org/service/local/repositories/releases/content/edu/internet2/middleware/grouper/grouper-installer/$GROUPER_VERSION/grouper-installer-$GROUPER_VERSION.jar returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallGrouper.sh) wget -q -O /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar https://oss.sonatype.org/service/local/repositories/releases/content/edu/internet2/middleware/grouper/grouper-installer/$GROUPER_VERSION/grouper-installer-$GROUPER_VERSION.jar, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi mv /opt/container_files/grouper.installer.properties /opt/grouper/$GROUPER_VERSION returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallGrouper.sh) mv /opt/container_files/grouper.installer.properties /opt/grouper/$GROUPER_VERSION, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi # Temporary morphString file used for building, not used in production mv /opt/container_files/morphString.properties /opt/grouper/$GROUPER_VERSION returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallGrouper.sh) mv /opt/container_files/morphString.properties /opt/grouper/$GROUPER_VERSION, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi cd /opt/grouper/$GROUPER_VERSION/ returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallGrouper.sh) cd /opt/grouper/$GROUPER_VERSION/, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi $JAVA_HOME/bin/java -cp :grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallGrouper.sh) $JAVA_HOME/bin/java -cp :grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi diff --git a/container_files/containerDockerfileInstallJava.sh b/container_files/docker-build-bin/containerDockerfileInstallJava.sh similarity index 54% rename from container_files/containerDockerfileInstallJava.sh rename to container_files/docker-build-bin/containerDockerfileInstallJava.sh index f8ab88f7..d578be9b 100644 --- a/container_files/containerDockerfileInstallJava.sh +++ b/container_files/docker-build-bin/containerDockerfileInstallJava.sh @@ -1,27 +1,37 @@ #!/bin/bash # $1 ARG CORRETTO_URL_PERM=https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.rpm +# $1 ARG CORRETTO_URL_PERM=https://corretto.aws/downloads/latest/amazon-corretto-8-aarch64-linux-jdk.rpm # $2 ARG CORRETTO_RPM=amazon-corretto-8-x64-linux-jdk.rpm # $3 ARG JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto # $4 ARG GROUPER_VERSION=2.6.14 -curl -O -L $1 +CORRETTO_URL_PERM=$1 +CORRETTO_RPM=$2 +JAVA_HOME=$3 +GROUPER_VERSION=$4 + +curl -O -L $CORRETTO_URL_PERM returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) curl -O -L $1, result: $returnCode" +echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) curl -O -L $CORRETTO_URL_PERM, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi rpm --import /opt/container_files/java-corretto/corretto-signing-key.pub returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) rpm --import /opt/container_files/java-corretto/corretto-signing-key.pub corretto-signing-key.pub, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi -rpm -K $2 +rpm -K $CORRETTO_RPM returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) rpm -K $2, result: $returnCode" +echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) rpm -K $CORRETTO_RPM, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi -rpm -i $2 +rpm -i $CORRETTO_RPM returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) rpm -i $2, result: $returnCode" +echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) rpm -i $CORRETTO_RPM, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi -rm -r $2 +rm -r $CORRETTO_RPM returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) rm -r $2, result: $returnCode" - +echo "grouperDockerfile; INFO: (containerDockerfileInstallJava.sh) rm -r $CORRETTO_RPM, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi diff --git a/container_files/containerDockerfileInstallPermissions.sh b/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh similarity index 88% rename from container_files/containerDockerfileInstallPermissions.sh rename to container_files/docker-build-bin/containerDockerfileInstallPermissions.sh index 9c6d8105..00fbb954 100644 --- a/container_files/containerDockerfileInstallPermissions.sh +++ b/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh @@ -1,7 +1,7 @@ #!/bin/bash if [ $# -lt 2 ]; then - echo 'pass in user and group, e.g. /opt/container_files/containerDockerfileInstallPermissions.sh tomcat root' + echo 'pass in user and group, e.g. /opt/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh tomcat root' exit 1 fi @@ -13,6 +13,7 @@ if [ $lines -ne 0 ]; then chown $user:$group $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts ! -user $user -print) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chown $user:$group \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts ! -user $user -print), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts ! -group $group -print | wc -l) @@ -20,6 +21,7 @@ if [ $lines -ne 0 ]; then chown $user:$group $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts ! -group $group -print) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chown $user:$group \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts ! -group $group -print), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ -type d ! -perm -g+rws | wc -l) @@ -27,6 +29,7 @@ if [ $lines -ne 0 ]; then chmod g+rws $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ -type d ! -perm -g+rws) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod g+rws \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ -type d ! -perm -g+rws ), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts -type f ! -perm -g+rw | wc -l) @@ -34,6 +37,7 @@ if [ $lines -ne 0 ]; then chmod g+rw $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts -type f ! -perm -g+rw) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod g+rw \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts -type f ! -perm -g+rw ), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts -perm -o+w | wc -l) @@ -41,6 +45,7 @@ if [ $lines -ne 0 ]; then chmod o-w $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts -perm -o+w) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod o-w \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /usr/local/bin /etc/httpd/conf.d/ /usr/lib/jvm/java/jre/lib/security/cacerts -perm -o+w ), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name "*.sh" ! -perm -g+x | wc -l) @@ -48,6 +53,7 @@ if [ $lines -ne 0 ]; then chmod +x $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name "*.sh" ! -perm -g+x) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod +x \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name \"*.sh\" ! -perm -g+x), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name "*.sh" ! -perm -u+x | wc -l) @@ -55,6 +61,7 @@ if [ $lines -ne 0 ]; then chmod +x $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name "*.sh" ! -perm -u+x) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod +x \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name \"*.sh\" ! -perm -u+x), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name "*.sh" ! -perm -o+x | wc -l) @@ -62,21 +69,20 @@ if [ $lines -ne 0 ]; then chmod +x $(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name "*.sh" ! -perm -o+x) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod +x \$(find /opt/container_files/ /opt/grouper/ /opt/tier/ /opt/tier-support/ /opt/tomee/ /etc/httpd/conf/ /home/tomcat/ /etc/httpd/conf.d/ -type f -name \"*.sh\" ! -perm -o+x), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi -/opt/container_files/containerDockerfileInstallDos2unix.sh /usr/local/bin +/opt/container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh /usr/local/bin returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) /opt/container_files/containerDockerfileInstallDos2unix.sh /usr/local/bin, result: $returnCode" - -find /usr/local/bin/ -type f -print0 | xargs -0 dos2unix -returnCode=$? -echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) find /usr/local/bin/ -type f -print0 | xargs -0 dos2unix, result: $returnCode" +echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) /opt/container_files/docker-build-bin/containerDockerfileInstallDos2unix.sh /usr/local/bin, result: $returnCode" +if [ $returnCode != 0 ]; then exit $returnCode; fi lines=$(find /usr/local/bin -type f ! -perm -g+x | wc -l) if [ $lines -ne 0 ]; then chmod +x $(find /usr/local/bin -type f ! -perm -g+x) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod +x \$(find /usr/local/bin -type f ! -perm -g+x), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi lines=$(find /usr/local/bin -type f ! -perm -o+x | wc -l) @@ -84,6 +90,7 @@ if [ $lines -ne 0 ]; then chmod +x $(find /usr/local/bin -type f ! -perm -o+x) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod +x \$(find /usr/local/bin -type f ! -perm -o+x), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi @@ -92,4 +99,5 @@ if [ $lines -ne 0 ]; then chmod +x $(find /usr/local/bin -type f ! -perm -u+x) returnCode=$? echo "grouperDockerfile; INFO: (containerDockerfileInstallPermissions.sh) chmod +x \$(find /usr/local/bin -type f ! -perm -u+x), result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi diff --git a/container_files/tier-support/supervisord-tomee.conf b/container_files/tier-support/supervisord-tomee.conf index 52fe3c43..473b78ad 100644 --- a/container_files/tier-support/supervisord-tomee.conf +++ b/container_files/tier-support/supervisord-tomee.conf @@ -5,5 +5,6 @@ stderr_logfile = /tmp/logtomcat stderr_logfile_maxbytes=0 stdout_logfile = /tmp/logtomcat stdout_logfile_maxbytes=0 +environment=UMASK=002 diff --git a/container_files/tier-support/test/testContainer.Dockerfile b/container_files/tier-support/test/testContainer.Dockerfile index ccc4dd9b..2e67420b 100644 --- a/container_files/tier-support/test/testContainer.Dockerfile +++ b/container_files/tier-support/test/testContainer.Dockerfile @@ -7,4 +7,4 @@ FROM i2incommon/grouper:__BASE_CONTAINER__ # this will overlay all the files from /opt/grouperContainer/slashRoot on to / COPY slashRoot / -RUN /opt/container_files/containerDockerfileInstallPermissions.sh tomcat root \ No newline at end of file +RUN /opt/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh tomcat root \ No newline at end of file diff --git a/container_files/usr-local-bin/libraryPrep.sh b/container_files/usr-local-bin/libraryPrep.sh index 37962a5f..5a6c4fcc 100644 --- a/container_files/usr-local-bin/libraryPrep.sh +++ b/container_files/usr-local-bin/libraryPrep.sh @@ -458,6 +458,22 @@ prep_finishBegin() { fi fi + + if [ -z "$GROUPER_LOG_TO_HOST" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_LOG_TO_HOST=false" + export GROUPER_LOG_TO_HOST=false + fi + + if [ -z "$GROUPER_LOG_TO_PIPE" ] ; then + if [ "$GROUPER_LOG_TO_HOST" = "true" ]; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_LOG_TO_PIPE=false" + export GROUPER_LOG_TO_PIPE=false + else + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_LOG_TO_PIPE=true" + export GROUPER_LOG_TO_PIPE=true + fi + fi + } prep_finishEnd() { diff --git a/container_files/usr-local-bin/librarySetupFiles.sh b/container_files/usr-local-bin/librarySetupFiles.sh index ad1a33e7..f048669b 100644 --- a/container_files/usr-local-bin/librarySetupFiles.sh +++ b/container_files/usr-local-bin/librarySetupFiles.sh @@ -40,14 +40,6 @@ setupFiles_rsyncSlashRoot() { } setupFiles_localLogging() { - if [ "$GROUPER_LOG_TO_HOST" = "true" ]; then - sed -i "s|__FILE__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml - echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__FILE__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" - else - sed -i "s|__LOGPIPE__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml - echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__LOGPIPE__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" - fi - additionalLoggersFile=/opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.additionalLoggers.xml.txt if [ -f $additionalLoggersFile ]; then sed -i "/<!--MORELOGGERS-->/r $additionalLoggersFile" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml @@ -64,6 +56,80 @@ setupFiles_localLogging() { if [ $returnCode != 0 ]; then exit $returnCode; fi fi + if [ "$GROUPER_LOG_TO_HOST" = "true" ]; then + sed -i "s|__FILESTART__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__FILESTART__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__FILEEND__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__FILEEND__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + else + sed -i "s|__FILESTART__|<!--|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__FILESTART__|<!--|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__FILEEND__|-->|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__FILEEND__|-->|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + fi + if [ "$GROUPER_LOG_TO_PIPE" = "true" ]; then + sed -i "s|__LOGPIPESTART__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__LOGPIPESTART__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__LOGPIPEEND__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__LOGPIPEEND__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + else + sed -i "s|__LOGPIPESTART__|<!--|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__LOGPIPESTART__|<!--|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__LOGPIPEEND__|-->|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__LOGPIPEEND__|-->|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + fi + + # add semicolons + LOCAL_ENV= + if [ ! -z "$ENV" ] ; then + LOCAL_ENV="$ENV;" + fi + + LOCAL_USERTOKEN= + if [ ! -z "$USERTOKEN" ] ; then + LOCAL_USERTOKEN="$USERTOKEN;" + fi + + LOCAL_GROUPER_LOG_PREFIX= + if [ ! -z "$GROUPER_LOG_PREFIX" ] ; then + LOCAL_GROUPER_LOG_PREFIX="$GROUPER_LOG_PREFIX;" + fi + + sed -i "s|__ENV__|$LOCAL_ENV|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__ENV__|$LOCAL_ENV|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__USERTOKEN__|$LOCAL_USERTOKEN|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__USERTOKEN__|$LOCAL_USERTOKEN|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__GROUPER_LOG_PREFIX__|$LOCAL_GROUPER_LOG_PREFIX|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__GROUPER_LOG_PREFIX__|$LOCAL_GROUPER_LOG_PREFIX|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + } setupFiles_loggingPrefix() { @@ -78,9 +144,9 @@ setupFiles_chownDirs() { # do this last if [ "$GROUPER_CHOWN_DIRS" = "true" ] then - /opt/container_files/containerDockerfileInstallPermissions.sh tomcat root + /opt/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh tomcat root returnCode=$? - echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_chownDirs) /opt/container_files/containerDockerfileInstallPermissions.sh tomcat root, result: $returnCode" + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_chownDirs) /opt/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh tomcat root, result: $returnCode" if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -91,7 +157,7 @@ setupFiles_storeEnvVars() { echo "#!/bin/sh" > /opt/grouper/grouperEnv.sh echo "" >> /opt/grouper/grouperEnv.sh - + echo "UMASK=002" >> /opt/grouper/grouperEnv.sh # go through env vars, should start with GROUPER*; this handles quoting but not multiline export -p | grep "^declare -x GROUPER" | sort >> /opt/grouper/grouperEnv.sh returnCode=$? @@ -285,6 +351,7 @@ setupFiles_analyzeOriginalFiles() { echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_WEBAPP_WEB_XML=false" export GROUPER_ORIGFILE_WEBAPP_WEB_XML=false fi + } diff --git a/container_files/usr-local-bin/librarySetupPipe.sh b/container_files/usr-local-bin/librarySetupPipe.sh index 4d8589cc..ce78f52c 100644 --- a/container_files/usr-local-bin/librarySetupPipe.sh +++ b/container_files/usr-local-bin/librarySetupPipe.sh @@ -52,7 +52,7 @@ setupPipe_shibdLog() { setupPipe_tomcatLog() { if [ "$GROUPER_USE_PIPES" == "true" ]; then - if [ "$GROUPER_RUN_TOMEE" = "true" ] && [ "$GROUPER_LOG_TO_HOST" != "true" ] + if [ "$GROUPER_RUN_TOMEE" = "true" ] && [ "$GROUPER_LOG_TO_PIPE" = "true" ] then setupPipe /tmp/logtomcat (cat <> /tmp/logtomcat | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "tomee;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' &>/tmp/logpipe) & diff --git a/rm.sh b/rm.sh new file mode 100755 index 00000000..f5af8a3b --- /dev/null +++ b/rm.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +docker rm -f my-grouper diff --git a/run.sh b/run.sh new file mode 100755 index 00000000..effc3b51 --- /dev/null +++ b/run.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +docker run -d -p 443:443 --name my-grouper \ + -e GROUPER_UI_GROUPER_AUTH=true \ + -e GROUPER_SELF_SIGNED_CERT=true \ + -e GROUPER_RUN_SHIB_SP=false \ + -e GROUPER_AUTO_DDL_UPTOVERSION='v2.6.*' \ + -e GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES='0.0.0.0/0' \ + -e GROUPERSYSTEM_QUICKSTART_PASS=pass \ + -e GROUPER_UI=true \ + -e GROUPER_DATABASE_URL=jdbc:postgresql://docker.for.mac.localhost:5432/grouper_v2_6?currentSchema=public \ + -e GROUPER_DATABASE_USERNAME=grouper \ + -e GROUPER_DATABASE_PASSWORD=pass \ + -e GROUPER_LOG_TO_HOST=true \ + -e GROUPER_LOG_TO_PIPE=true \ + -e ENV="foo(2)" \ + -e USERTOKEN=myUserToken \ + my-grouper:latest ui + diff --git a/run2.sh b/run2.sh new file mode 100755 index 00000000..8481628d --- /dev/null +++ b/run2.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +docker run -d --name my-grouper my-grouper:latest + diff --git a/ssh.sh b/ssh.sh new file mode 100755 index 00000000..61624a0f --- /dev/null +++ b/ssh.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +docker exec -it my-grouper bash