From b85cda4db926af3cec00b2d2512653c4f45615a8 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 10 Feb 2020 21:02:20 -0500
Subject: [PATCH 01/84] Update Dockerfile

---
 Dockerfile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 6fdf32bd..1a6b25a3 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,7 +6,7 @@ RUN yum update -y \
     
 ARG GROUPER_CONTAINER_VERSION
 
-ENV GROUPER_VERSION=2.4.0 \
+ENV GROUPER_VERSION=2.5.8 \
      JAVA_HOME=/usr/lib/jvm/zulu-8/ \
      GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 
@@ -36,7 +36,8 @@ RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems \
 
 RUN echo 'Downloading Grouper Installer...' \
     && mkdir -p /opt/grouper/$GROUPER_VERSION \
-    && wget -q -O /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar http://software.internet2.edu/grouper/release/$GROUPER_VERSION/grouperInstaller.jar
+    && 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
+
 
 COPY container_files/grouper.installer.properties /opt/grouper/$GROUPER_VERSION
 # Temporary morphString file used for building, not used in production

From e971290735498326075920b8f9e52d17d5d971d8 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 10 Feb 2020 21:06:25 -0500
Subject: [PATCH 02/84] Update grouper.installer.properties

---
 container_files/grouper.installer.properties | 45 --------------------
 1 file changed, 45 deletions(-)

diff --git a/container_files/grouper.installer.properties b/container_files/grouper.installer.properties
index c63c9d5f..ac0b225e 100644
--- a/container_files/grouper.installer.properties
+++ b/container_files/grouper.installer.properties
@@ -1,46 +1 @@
-# this should be before the version number
 download.server.url = https://software.internet2.edu/grouper
-# default version to install
-grouper.version = 2.4.0
-# print out autorun keys in prompts so you can easily see how to configure the autorun
-grouperInstaller.print.autorunKeys = true
-# default to install or upgrade (default is install)
-grouperInstaller.default.installOrUpgrade = install
-
-##############################
-## Autorun properties
-##
-## If you uncomment one of these properties it will be used as empty, only uncomment to use
-##
-##############################
-
-grouperInstaller.autorun.forceInstallPatch = t
-grouperInstaller.autorun.installAllPatches = false
-grouperInstaller.autorun.installPatchesUpToACertainPatchLevel = true
-# 2.4.0-a91-u56-w11-p12-20200210-rc1
-grouperInstaller.autorun.installPatchesUpToThesePatchLevels = grouper_v2_4_0_api_patch_91,grouper_v2_4_0_ui_patch_56,grouper_v2_4_0_ws_patch_11,grouper_v2_4_0_pspng_patch_12
-
-
-#### set this to true to try to use defaults for everything.  Only things without default values will need to be set
-grouperInstaller.autorun.useDefaultsAsMuchAsAvailable = true
-########## AUTORUN PROPERTIES WITH NO DEFAULT OR ARE COMMONLY CHANGED
-## Note: not all of them need to be filled out for all operations
-# autorun grouper system password (its not secure to have a plain text pass in a config file)
-grouperInstaller.autorun.grouperSystemPassword = XXXXXXXXXX
-
-grouperInstaller.autorun.deleteAndInitDatabase = t
-grouperInstaller.autorun.addQuickstartData = f
-grouperInstaller.autorun.installClient = f
- 
-grouperInstaller.autorun.installGrouperActiveMqMessaging = f
-grouperInstaller.autorun.activeMqWhereInstalled = /opt/grouper/2.4.0/grouper.apiBinary-2.4.0/
-
-grouperInstaller.autorun.installGrouperAwsSqsMessaging = t
-grouperInstaller.autorun.AwsSqsWhereInstalled = /opt/grouper/2.4.0/grouper.apiBinary-2.4.0/
-
-grouperInstaller.autorun.installGrouperRabbitMqMessaging = t
-grouperInstaller.autorun.rabbitMqWhereInstalled = /opt/grouper/2.4.0/grouper.apiBinary-2.4.0/
-
-# disable installing pspng, for now
-grouperInstaller.autorun.installPspng = t
-grouperInstaller.autorun.installPsp = f

From a57566b2176616737cfd9d84cf22c8a2833ea271 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 10 Feb 2020 21:10:45 -0500
Subject: [PATCH 03/84] Update grouper.installer.properties

---
 container_files/grouper.installer.properties | 1 +
 1 file changed, 1 insertion(+)

diff --git a/container_files/grouper.installer.properties b/container_files/grouper.installer.properties
index ac0b225e..dc909559 100644
--- a/container_files/grouper.installer.properties
+++ b/container_files/grouper.installer.properties
@@ -1 +1,2 @@
 download.server.url = https://software.internet2.edu/grouper
+grouper.version = 2.5.8

From 5e1d061ec82691ad7a4e6fb2149fc04267fc6c6c Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 10 Feb 2020 21:13:19 -0500
Subject: [PATCH 04/84] Update Dockerfile

---
 Dockerfile | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 1a6b25a3..9e00d924 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,10 @@
 FROM centos:centos7 as installing
 
-RUN yum update -y \
-    && yum install -y wget tar unzip dos2unix \
-    && yum clean all
+#RUN yum update -y \
+#    && yum install -y wget tar unzip dos2unix \
+#    && yum clean all
+    
+RUN yum install -y wget tar unzip dos2unix
     
 ARG GROUPER_CONTAINER_VERSION
 
@@ -53,7 +55,7 @@ RUN echo 'Installing Grouper'; \
 
 FROM centos:centos7 as cleanup
 
-ENV GROUPER_VERSION=2.4.0 \
+ENV GROUPER_VERSION=2.5.8 \
     TOMCAT_VERSION=8.5.42 \    
     TOMEE_VERSION=7.0.0
 

From 9c457e5bd0f194669f984e1b14adf35477ea4fd4 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 10 Feb 2020 21:31:32 -0500
Subject: [PATCH 05/84] Update grouper.installer.properties

---
 container_files/grouper.installer.properties | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/container_files/grouper.installer.properties b/container_files/grouper.installer.properties
index dc909559..70792621 100644
--- a/container_files/grouper.installer.properties
+++ b/container_files/grouper.installer.properties
@@ -1,2 +1,17 @@
 download.server.url = https://software.internet2.edu/grouper
 grouper.version = 2.5.8
+
+# print out autorun keys in prompts so you can easily see how to configure the autorun
+grouperInstaller.print.autorunKeys = true
+# default to install or upgrade (default is install)
+grouperInstaller.default.installOrUpgrade = install
+
+##############################
+## Autorun properties
+##
+## If you uncomment one of these properties it will be used as empty, only uncomment to use
+##
+##############################
+
+grouperInstaller.autorun.forceInstallPatch = t
+grouperInstaller.autorun.installAllPatches = true

From 95cce470deb255ef68db95369113e0972b8df3c6 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:05:04 -0500
Subject: [PATCH 06/84] Update grouper.installer.properties

---
 container_files/grouper.installer.properties | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/container_files/grouper.installer.properties b/container_files/grouper.installer.properties
index 70792621..a79a7495 100644
--- a/container_files/grouper.installer.properties
+++ b/container_files/grouper.installer.properties
@@ -1,17 +1,2 @@
 download.server.url = https://software.internet2.edu/grouper
-grouper.version = 2.5.8
-
-# print out autorun keys in prompts so you can easily see how to configure the autorun
-grouperInstaller.print.autorunKeys = true
-# default to install or upgrade (default is install)
-grouperInstaller.default.installOrUpgrade = install
-
-##############################
-## Autorun properties
-##
-## If you uncomment one of these properties it will be used as empty, only uncomment to use
-##
-##############################
-
-grouperInstaller.autorun.forceInstallPatch = t
-grouperInstaller.autorun.installAllPatches = true
+grouperInstaller.default.installOrUpgrade = buildContainer

From 06f7782e28efa0a0f706c4378d067ffe1fd9a092 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:05:37 -0500
Subject: [PATCH 07/84] Update Dockerfile

---
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 9e00d924..ea1417f5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,7 +8,7 @@ RUN yum install -y wget tar unzip dos2unix
     
 ARG GROUPER_CONTAINER_VERSION
 
-ENV GROUPER_VERSION=2.5.8 \
+ENV GROUPER_VERSION=2.5.11 \
      JAVA_HOME=/usr/lib/jvm/zulu-8/ \
      GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 
@@ -55,7 +55,7 @@ RUN echo 'Installing Grouper'; \
 
 FROM centos:centos7 as cleanup
 
-ENV GROUPER_VERSION=2.5.8 \
+ENV GROUPER_VERSION=2.5.11 \
     TOMCAT_VERSION=8.5.42 \    
     TOMEE_VERSION=7.0.0
 

From 88a1da56b11364981463da070f96b50f8d4a7780 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:06:05 -0500
Subject: [PATCH 08/84] Update grouper.installer.properties

---
 container_files/grouper.installer.properties | 1 +
 1 file changed, 1 insertion(+)

diff --git a/container_files/grouper.installer.properties b/container_files/grouper.installer.properties
index a79a7495..ca84b7d9 100644
--- a/container_files/grouper.installer.properties
+++ b/container_files/grouper.installer.properties
@@ -1,2 +1,3 @@
 download.server.url = https://software.internet2.edu/grouper
 grouperInstaller.default.installOrUpgrade = buildContainer
+grouperInstaller.autorun.useDefaultsAsMuchAsAvailable = true

From bde37873bcaaf2b619723c0d644da44fef24f09b Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:19:28 -0500
Subject: [PATCH 09/84] Delete web.xml

---
 container_files/ui/web.xml | 89 --------------------------------------
 1 file changed, 89 deletions(-)
 delete mode 100644 container_files/ui/web.xml

diff --git a/container_files/ui/web.xml b/container_files/ui/web.xml
deleted file mode 100644
index f3aa302f..00000000
--- a/container_files/ui/web.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
-  version="2.4">
-  <filter>
-    <filter-name>GrouperUi</filter-name>
-    <filter-class>edu.internet2.middleware.grouper.ui.GrouperUiFilter</filter-class>
-  </filter>
-  <filter>
-    <filter-name>CSRFGuard</filter-name>
-    <filter-class>org.owasp.csrfguard.CsrfGuardFilter</filter-class>
-  </filter>
-  <filter-mapping>
-    <filter-name>GrouperUi</filter-name>
-    <url-pattern>*.jsp</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>GrouperUi</filter-name>
-    <url-pattern>/grouperUi/app/*</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>GrouperUi</filter-name>
-    <url-pattern>/grouperUi/appHtml/*</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>GrouperUi</filter-name>
-    <url-pattern>/grouperExternal/app/*</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>GrouperUi</filter-name>
-    <url-pattern>/grouperExternal/public/UiV2Public.index</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>GrouperUi</filter-name>
-    <url-pattern>/grouperExternal/public/UiV2Public.postIndex</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>CSRFGuard</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
-  <listener>
-    <listener-class>edu.internet2.middleware.grouper.ui.GrouperSessionAttributeListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.owasp.csrfguard.CsrfGuardServletContextListener</listener-class>
-  </listener>
-  <listener>
-    <listener-class>org.owasp.csrfguard.CsrfGuardHttpSessionListener</listener-class>
-  </listener>
-  <servlet>
-    <servlet-name>StatusServlet</servlet-name>
-    <display-name>Status Servlet</display-name>
-    <servlet-class>edu.internet2.middleware.grouper.j2ee.status.GrouperStatusServlet</servlet-class>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  <servlet>
-    <servlet-name>UiServlet</servlet-name>
-    <servlet-class>edu.internet2.middleware.grouper.j2ee.GrouperUiRestServlet</servlet-class>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  <servlet>
-    <servlet-name>OwaspJavaScriptServlet</servlet-name>
-    <servlet-class>org.owasp.csrfguard.servlet.JavaScriptServlet</servlet-class>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>StatusServlet</servlet-name>
-    <url-pattern>/status</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>UiServlet</servlet-name>
-    <url-pattern>/grouperUi/app/*</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>UiServlet</servlet-name>
-    <url-pattern>/grouperExternal/app/*</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>UiServlet</servlet-name>
-    <url-pattern>/grouperExternal/public/UiV2Public.index</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>UiServlet</servlet-name>
-    <url-pattern>/grouperExternal/public/UiV2Public.postIndex</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>OwaspJavaScriptServlet</servlet-name>
-    <url-pattern>/grouperExternal/public/OwaspJavaScriptServlet</url-pattern>
-  </servlet-mapping>
-</web-app>

From 1ace64a9535d38789f5e7eb97c7d2df346644aac Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:22:19 -0500
Subject: [PATCH 10/84] Update grouper-www.conf

---
 container_files/httpd/grouper-www.conf | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/container_files/httpd/grouper-www.conf b/container_files/httpd/grouper-www.conf
index 562e47c6..1f948fd9 100644
--- a/container_files/httpd/grouper-www.conf
+++ b/container_files/httpd/grouper-www.conf
@@ -3,9 +3,9 @@ Timeout 2400
 ProxyTimeout 2400
 ProxyBadHeader Ignore
 
-ProxyPass /grouper ajp://localhost:8009/grouper  timeout=2400
-ProxyPass /grouper-ws ajp://localhost:8009/grouper-ws  timeout=2400
-ProxyPass /grouper-ws-scim ajp://localhost:8009/grouper-ws-scim  timeout=2400
+ProxyPass /grouper ajp://localhost:8009/grouperWebapp  timeout=2400
+ProxyPass /grouper-ws ajp://localhost:8009/grouperWebapp  timeout=2400
+ProxyPass /grouper-ws-scim ajp://localhost:8009/grouperWebapp  timeout=2400
 
 RewriteEngine on
 RewriteCond %{REQUEST_URI} "^/$"

From 8c979d5116e3e712c50fe0021179878df8adddfd Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:26:06 -0500
Subject: [PATCH 11/84] Delete grouper-ws-scim.xml

---
 container_files/tier-support/grouper-ws-scim.xml | 6 ------
 1 file changed, 6 deletions(-)
 delete mode 100644 container_files/tier-support/grouper-ws-scim.xml

diff --git a/container_files/tier-support/grouper-ws-scim.xml b/container_files/tier-support/grouper-ws-scim.xml
deleted file mode 100644
index bb15b17a..00000000
--- a/container_files/tier-support/grouper-ws-scim.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<Context docBase="/opt/grouper/grouper.scim/" path="/grouper-ws-scim" reloadable="false">
-    <!-- Allow our symlinks to work-->
-    <Resources allowLinking="true" />
-</Context>
-
-

From f0989644bfb17a2354244233ce38fc8c4eab8d17 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:26:13 -0500
Subject: [PATCH 12/84] Delete grouper-ws.xml

---
 container_files/tier-support/grouper-ws.xml | 4 ----
 1 file changed, 4 deletions(-)
 delete mode 100644 container_files/tier-support/grouper-ws.xml

diff --git a/container_files/tier-support/grouper-ws.xml b/container_files/tier-support/grouper-ws.xml
deleted file mode 100644
index b9aa6478..00000000
--- a/container_files/tier-support/grouper-ws.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<Context docBase="/opt/grouper/grouper.ws/" path="/grouper-ws" reloadable="false">
-    <!-- Allow our symlinks to work-->
-    <Resources allowLinking="true" />
-</Context>

From 142820ed3e1e2812022bc1493f61e23a2ffcccb4 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:26:45 -0500
Subject: [PATCH 13/84] Update grouper.xml

---
 container_files/tier-support/grouper.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/container_files/tier-support/grouper.xml b/container_files/tier-support/grouper.xml
index 22cfbd8a..fbc77266 100644
--- a/container_files/tier-support/grouper.xml
+++ b/container_files/tier-support/grouper.xml
@@ -1,4 +1,4 @@
-<Context docBase="/opt/grouper/grouper.ui/" path="/grouper" reloadable="false">
+<Context docBase="/opt/grouper/grouperWebapp/" path="/grouperWebapp" reloadable="false">
     <!-- Allow our symlinks to work-->
     <Resources allowLinking="true" />
 </Context>

From c96c12bb0044df052dfedca181d4d3eadd53bf89 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:29:08 -0500
Subject: [PATCH 14/84] Update library.sh

---
 container_files/usr-local-bin/library.sh | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh
index 5d3790af..56c4187e 100755
--- a/container_files/usr-local-bin/library.sh
+++ b/container_files/usr-local-bin/library.sh
@@ -59,6 +59,7 @@ linkGrouperSecrets() {
 prepDaemon() {
     setupLoggingPipe
     setupGrouperLogPipe
+    cp /opt/tier-support/grouper.xml /opt/tomee/conf/Catalina/localhost/
 }
 
 prepDaemonConf() {
@@ -80,7 +81,8 @@ prepSCIM() {
     setupTomcatLogPipe
 
     
-    cp /opt/tier-support/grouper-ws-scim.xml /opt/tomee/conf/Catalina/localhost/
+    cp /opt/tier-support/grouper.xml /opt/tomee/conf/Catalina/localhost/
+
 }
 
 prepSCIMConf() {
@@ -103,7 +105,7 @@ prepUI() {
     setupTomcatLogPipe
     setupSupervisordLogPipe
 
-    cp /opt/tier-support/grouper.xml /opt/tomcat/conf/Catalina/localhost/
+    cp /opt/tier-support/grouper.xml /opt/tomee/conf/Catalina/localhost/
 }
 
 prepUIConf() {
@@ -125,7 +127,7 @@ prepWS() {
     setupTomcatLogPipe
     setupSupervisordLogPipe
 
-    cp /opt/tier-support/grouper-ws.xml /opt/tomcat/conf/Catalina/localhost/
+    cp /opt/tier-support/grouper.xml /opt/tomee/conf/Catalina/localhost/
 }
 
 prepWSConf() {
@@ -146,4 +148,4 @@ prepConf() {
     prepSCIMConf
     prepUIConf
     prepWSConf
-}
\ No newline at end of file
+}

From c39255ad731c9c1a62aa04bb31416c037f8a211a Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:33:12 -0500
Subject: [PATCH 15/84] Update Dockerfile

---
 Dockerfile | 36 ++++++++++--------------------------
 1 file changed, 10 insertions(+), 26 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index ea1417f5..bb37b1f9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -60,38 +60,22 @@ ENV GROUPER_VERSION=2.5.11 \
     TOMEE_VERSION=7.0.0
 
 COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar /opt/grouper/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouper.apiBinary-$GROUPER_VERSION/ /opt/grouper/grouper.apiBinary/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouper.ui-$GROUPER_VERSION/dist/grouper/ /opt/grouper/grouper.ui/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouper.ws-$GROUPER_VERSION/grouper-ws/build/dist/grouper-ws/ /opt/grouper/grouper.ws/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouper.ws-$GROUPER_VERSION/grouper-ws-scim/targetBuiltin/grouper-ws-scim/ /opt/grouper/grouper.scim/
-#COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouper.clientBinary-$GROUPER_VERSION/ /opt/grouper/grouper.clientBinary/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/apache-tomcat-$TOMCAT_VERSION/ /opt/tomcat/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/apache-tomee-webprofile-$TOMEE_VERSION/ /opt/tomee/
-COPY --from=installing /etc/alternatives/java /etc/alternatives/java
-
-ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomcat/bin
-ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomcat/bin
-ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomcat/bin
-
-ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin
-ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin
-ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomee/bin
+COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/tomee/ /opt/
+RUN mkdir /opt/grouper/grouperWebapp/
+COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/webapp/* /opt/grouper/grouperWebapp/
 
-RUN cd /opt/grouper/grouper.apiBinary/; \
-    rm -fr ddlScripts/ grouper.properties grouper.lck grouper.log grouper.script grouper.tmp/ gshAddGrouperSystemWsGroup.gsh logs/
+COPY --from=installing /etc/alternatives/java /etc/alternatives/java
 
-RUN cd /opt/tomcat/; \
-    chmod +r bin/log4j-*.jar; \
-    rm -fr webapps/docs/ webapps/examples/ webapps/host-manager/ webapps/manager/ webapps/ROOT/ logs/* temp/* work/* conf/logging.properties
+#ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin
+#ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin
+#ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomee/bin
 
 RUN cd /opt/tomee/; \
-    chmod +r bin/log4j-*.jar; \
     rm -fr webapps/docs/ webapps/host-manager/ webapps/manager/ logs/* temp/* work/* conf/logging.properties
 
-COPY container_files/api/* /opt/grouper/grouper.apiBinary/conf/
-COPY container_files/ui/ /opt/grouper/grouper.ui/WEB-INF/
-COPY container_files/ws/ /opt/grouper/grouper.ws/WEB-INF/
-COPY container_files/tomcat/ /opt/tomcat/
+COPY container_files/api/* /opt/grouper/grouperWebapp/WEB-INF/classes/
+COPY container_files/ui/ /opt/grouper/grouperWebapp/WEB-INF/classes/
+
 COPY container_files/tomee/ /opt/tomee/
 
 

From 4068359f40e132177c7ef02143882d16edb8e43c Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:35:08 -0500
Subject: [PATCH 16/84] Update Dockerfile

---
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index bb37b1f9..f3327987 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -91,7 +91,7 @@ ARG GROUPER_CONTAINER_VERSION
 
 ENV JAVA_HOME=/usr/lib/jvm/zulu-8/ \
     PATH=$PATH:$JAVA_HOME/bin \
-    GROUPER_HOME=/opt/grouper/grouper.apiBinary \
+    GROUPER_HOME=/opt/grouper/ \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
@@ -130,7 +130,7 @@ RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
     && echo -e "\nPassEnv ENV" >> /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv USERTOKEN" >> /etc/httpd/conf/httpd.conf
 
-WORKDIR /opt/grouper/grouper.apiBinary/
+WORKDIR /opt/grouper/
 
 EXPOSE 80 443
 

From 166e61fedb3265a41ee6af9908d072f5860c4ceb Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:45:47 -0500
Subject: [PATCH 17/84] Update Dockerfile

---
 Dockerfile | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index f3327987..63fd7093 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -103,7 +103,6 @@ RUN yum update -y \
     && yum clean -y all
 
 COPY --from=installing $JAVA_HOME $JAVA_HOME
-COPY --from=cleanup /opt/tomcat/ /opt/tomcat/
 COPY --from=cleanup /opt/tomee/ /opt/tomee/
 COPY --from=cleanup /opt/grouper/ /opt/grouper/
 

From 8aa7b99bcb890977d650625fe12418732e7b52cf Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 12:55:56 -0500
Subject: [PATCH 18/84] Update Dockerfile

---
 Dockerfile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 63fd7093..6ab2c04a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -108,9 +108,7 @@ COPY --from=cleanup /opt/grouper/ /opt/grouper/
 
 RUN groupadd -r tomcat \
     && useradd -r -m -s /sbin/nologin -g tomcat tomcat \
-    && mkdir -p /opt/tomcat/logs/ /opt/tomcat/temp/ /opt/tomcat/work/ \
-    && chown -R tomcat:tomcat /opt/tomcat/logs/ /opt/tomcat/temp/ /opt/tomcat/work/ \
-    && chown -R tomcat:tomcat /opt/tomee/logs/ /opt/tomee/temp/ /opt/tomee/work/ \
+    && chown -R tomcat:tomcat /opt/tomee  \
     && ln -s $JAVA_HOME/bin/java /etc/alternatives/java
 
 # does shib sp3 not generate these files?

From 30d275bc7a9047d97d7c21652b1541791f0d3a56 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 13:57:29 -0500
Subject: [PATCH 19/84] have to refactor test-compose tests

---
 tests/main.bats | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/main.bats b/tests/main.bats
index 0c18d122..c3d9aee0 100644
--- a/tests/main.bats
+++ b/tests/main.bats
@@ -6,11 +6,11 @@ load ../common
     docker image inspect ${maintainer}/${imagename}
 }
 
-@test "030 Test Compose the environment" {
-    cd test-compose && ./compose.sh && docker-compose down
-}
+#@test "030 Test Compose the environment" {
+#    cd test-compose && ./compose.sh && docker-compose down
+#}
 
 
-@test "070 There are no known security vulnerabilities" {
-    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
-}
+#@test "070 There are no known security vulnerabilities" {
+#    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
+#}

From d3c6758f1977bd0b6ec2438140b37dfa9541691b Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 15:45:36 -0500
Subject: [PATCH 20/84] update WORKDIR to new grouper home

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 6ab2c04a..9259dd3e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -127,7 +127,7 @@ RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
     && echo -e "\nPassEnv ENV" >> /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv USERTOKEN" >> /etc/httpd/conf/httpd.conf
 
-WORKDIR /opt/grouper/
+WORKDIR /opt/grouper/grouperWebapp
 
 EXPOSE 80 443
 

From dbc87bbd002a7abce15b124e8d42103c3e2f2509 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 15:54:17 -0500
Subject: [PATCH 21/84] enabling tests

---
 tests/main.bats | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/main.bats b/tests/main.bats
index c3d9aee0..0c18d122 100644
--- a/tests/main.bats
+++ b/tests/main.bats
@@ -6,11 +6,11 @@ load ../common
     docker image inspect ${maintainer}/${imagename}
 }
 
-#@test "030 Test Compose the environment" {
-#    cd test-compose && ./compose.sh && docker-compose down
-#}
+@test "030 Test Compose the environment" {
+    cd test-compose && ./compose.sh && docker-compose down
+}
 
 
-#@test "070 There are no known security vulnerabilities" {
-#    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
-#}
+@test "070 There are no known security vulnerabilities" {
+    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
+}

From 6eefaba046f235032ea766625077608c34d44937 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 16:11:12 -0500
Subject: [PATCH 22/84] Update Dockerfile

---
 test-compose/data/Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test-compose/data/Dockerfile b/test-compose/data/Dockerfile
index e4ffb7f8..5305bb49 100644
--- a/test-compose/data/Dockerfile
+++ b/test-compose/data/Dockerfile
@@ -44,8 +44,8 @@ RUN (/usr/sbin/ns-slapd -D /etc/dirsrv/slapd-dir &) \
     && while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
     (mysqld_safe & ) \
     && while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 1; done; \
-    bin/gsh -registry -check -runscript -noprompt \
-    && bin/gsh /seed-data/bootstrap.gsh
+    bin/gsh.sh -registry -check -runscript -noprompt \
+    && bin/gsh.sh /seed-data/bootstrap.gsh
 
 EXPOSE 389 3306
 

From e393bd067274d40014f52038de4bc31db2f6db43 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 16:11:29 -0500
Subject: [PATCH 23/84] Update Dockerfile

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 9259dd3e..391df579 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -135,4 +135,4 @@ HEALTHCHECK NONE
 
 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
 
-CMD ["bin/gsh", "-loader"]
+CMD ["bin/gsh.sh", "-loader"]

From ffbcefe79732c3aa7a9a84570ea4719feef6ebf9 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 16:15:21 -0500
Subject: [PATCH 24/84] Update Jenkinsfile

---
 Jenkinsfile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 3ed439e5..181d2255 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -52,7 +52,8 @@ pipeline {
                 script {
                   try{
                       docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
-                        baseImg = docker.build("$maintainer/$imagename", "--build-arg GROUPER_CONTAINER_VERSION=$tag --no-cache .")
+                        // baseImg = docker.build("$maintainer/$imagename", "--build-arg GROUPER_CONTAINER_VERSION=$tag --no-cache .")
+                        baseImg = docker.build("$maintainer/$imagename", "--build-arg GROUPER_CONTAINER_VERSION=$tag .")
                       }
                   } catch(error) {
                      def error_details = readFile('./debug');

From 331a1c74cf3a03faf46775eaee8315bd51f1abbf Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 13 Feb 2020 16:22:30 -0500
Subject: [PATCH 25/84] fix grouper_home

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 391df579..610b2c43 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -91,7 +91,7 @@ ARG GROUPER_CONTAINER_VERSION
 
 ENV JAVA_HOME=/usr/lib/jvm/zulu-8/ \
     PATH=$PATH:$JAVA_HOME/bin \
-    GROUPER_HOME=/opt/grouper/ \
+    GROUPER_HOME=/opt/grouper/grouperWebapp \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime

From 8e489c39e50917e2cffea6137a0a81a41b4fd9fb Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Sun, 16 Feb 2020 14:13:50 -0500
Subject: [PATCH 26/84] Update Dockerfile

---
 Dockerfile | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Dockerfile b/Dockerfile
index 610b2c43..a0a38a71 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -59,12 +59,18 @@ ENV GROUPER_VERSION=2.5.11 \
     TOMCAT_VERSION=8.5.42 \    
     TOMEE_VERSION=7.0.0
 
+RUN ls /opt/grouper/
+RUN ls /opt/grouper/grouperWebapp/
+
 COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar /opt/grouper/
 COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/tomee/ /opt/
 RUN mkdir /opt/grouper/grouperWebapp/
 COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/webapp/* /opt/grouper/grouperWebapp/
 
 COPY --from=installing /etc/alternatives/java /etc/alternatives/java
+RUN ls /opt/grouper/
+RUN ls /opt/grouper/grouperWebapp/
+
 
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin

From e4da11394e4e220343fa05293e80ee7e73be2200 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 11:28:14 -0500
Subject: [PATCH 27/84] Update Dockerfile

---
 Dockerfile | 48 +++++-------------------------------------------
 1 file changed, 5 insertions(+), 43 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index a0a38a71..696c8376 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,4 @@
 FROM centos:centos7 as installing
-
 #RUN yum update -y \
 #    && yum install -y wget tar unzip dos2unix \
 #    && yum clean all
@@ -7,16 +6,13 @@ FROM centos:centos7 as installing
 RUN yum install -y wget tar unzip dos2unix
     
 ARG GROUPER_CONTAINER_VERSION
-
 ENV GROUPER_VERSION=2.5.11 \
      JAVA_HOME=/usr/lib/jvm/zulu-8/ \
      GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
-
 # use Zulu package
 RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems \
        && curl -o /etc/yum.repos.d/zulu.repo http://repos.azulsystems.com/rhel/zulu.repo \
        && yum -y install zulu-8 
-
 #RUN java_version=8.0.172; \
 #    zulu_version=8.30.0.1; \
 #    echo 'Downloading the OpenJDK Zulu...' \
@@ -24,7 +20,6 @@ RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems \
 #    && echo "0a101a592a177c1c7bc63738d7bc2930  zulu$zulu_version-jdk$java_version-linux_x64.tar.gz" | md5sum -c - \
 #    && tar -zxvf zulu$zulu_version-jdk$java_version-linux_x64.tar.gz -C /opt \
 #    && ln -s /opt/zulu$zulu_version-jdk$java_version-linux_x64 $JAVA_HOME
-
 #RUN java_version=8u151; \
 #    java_bnumber=12; \
 #    java_semver=1.8.0_151; \
@@ -35,58 +30,38 @@ RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems \
 #    && echo "$java_hash  server-jre-$java_version-linux-x64.tar.gz" | sha256sum -c - \
 #    && tar -zxvf server-jre-$java_version-linux-x64.tar.gz -C /opt \
 #    && ln -s /opt/jdk$java_semver/ $JAVA_HOME
-
 RUN echo 'Downloading Grouper Installer...' \
     && mkdir -p /opt/grouper/$GROUPER_VERSION \
     && 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
-
-
 COPY container_files/grouper.installer.properties /opt/grouper/$GROUPER_VERSION
 # Temporary morphString file used for building, not used in production
 COPY container_files/morphString.properties /opt/grouper/$GROUPER_VERSION
-
-
 RUN echo 'Installing Grouper'; \
     PATH=$PATH:$JAVA_HOME/bin; \
     cd /opt/grouper/$GROUPER_VERSION/ \
     && $JAVA_HOME/bin/java -cp :grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller
-
-
-
 FROM centos:centos7 as cleanup
-
 ENV GROUPER_VERSION=2.5.11 \
     TOMCAT_VERSION=8.5.42 \    
     TOMEE_VERSION=7.0.0
-
-RUN ls /opt/grouper/
-RUN ls /opt/grouper/grouperWebapp/
-
+RUN mkdir -p /opt/grouper/grouperWebapp/
+RUN mkdir -p /opt/tomee/
 COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar /opt/grouper/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/tomee/ /opt/
-RUN mkdir /opt/grouper/grouperWebapp/
-COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/webapp/* /opt/grouper/grouperWebapp/
-
+COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/tomee/ /opt/tomee/
+COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/webapp/ /opt/grouper/grouperWebapp/
+RUN ls /opt/grouper/grouperWebapp/
 COPY --from=installing /etc/alternatives/java /etc/alternatives/java
 RUN ls /opt/grouper/
 RUN ls /opt/grouper/grouperWebapp/
-
-
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomee/bin
-
 RUN cd /opt/tomee/; \
     rm -fr webapps/docs/ webapps/host-manager/ webapps/manager/ logs/* temp/* work/* conf/logging.properties
-
 COPY container_files/api/* /opt/grouper/grouperWebapp/WEB-INF/classes/
 COPY container_files/ui/ /opt/grouper/grouperWebapp/WEB-INF/classes/
-
 COPY container_files/tomee/ /opt/tomee/
-
-
 FROM tier/shibboleth_sp:3.0.4_03122019
-
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
       Vendor="TIER" \
       ImageType="Grouper" \
@@ -94,37 +69,29 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
       ImageOS=centos7
       
 ARG GROUPER_CONTAINER_VERSION
-
 ENV JAVA_HOME=/usr/lib/jvm/zulu-8/ \
     PATH=$PATH:$JAVA_HOME/bin \
     GROUPER_HOME=/opt/grouper/grouperWebapp \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
-
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
-
 RUN yum update -y \
     && yum install -y cron logrotate python-pip \
     && pip install --upgrade pip \
     && pip install supervisor \
     && yum clean -y all
-
 COPY --from=installing $JAVA_HOME $JAVA_HOME
 COPY --from=cleanup /opt/tomee/ /opt/tomee/
 COPY --from=cleanup /opt/grouper/ /opt/grouper/
-
 RUN groupadd -r tomcat \
     && useradd -r -m -s /sbin/nologin -g tomcat tomcat \
     && chown -R tomcat:tomcat /opt/tomee  \
     && ln -s $JAVA_HOME/bin/java /etc/alternatives/java
-
 # does shib sp3 not generate these files?
 # RUN rm /etc/shibboleth/sp-key.pem /etc/shibboleth/sp-cert.pem
-
 COPY container_files/tier-support/ /opt/tier-support/
 COPY container_files/usr-local-bin/ /usr/local/bin/
 COPY container_files/httpd/* /etc/httpd/conf.d/
 COPY container_files/shibboleth/* /etc/shibboleth/
-
 RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
     && sed -i 's/LogFormat "/LogFormat "httpd;access_log;%{ENV}e;%{USERTOKEN}e;/g' /etc/httpd/conf/httpd.conf \
     && echo -e "\nErrorLogFormat \"httpd;error_log;%{ENV}e;%{USERTOKEN}e;[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i\"" >> /etc/httpd/conf/httpd.conf \
@@ -132,13 +99,8 @@ RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
     && sed -i 's/ErrorLog "logs\/error_log"/ErrorLog "\/tmp\/logpipe"/g' /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv ENV" >> /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv USERTOKEN" >> /etc/httpd/conf/httpd.conf
-
 WORKDIR /opt/grouper/grouperWebapp
-
 EXPOSE 80 443
-
 HEALTHCHECK NONE
-
 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
-
 CMD ["bin/gsh.sh", "-loader"]

From f0ba4139d8d0b7f4de9e8ec9f0d69cac906bf6ab Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 11:40:30 -0500
Subject: [PATCH 28/84] Update Dockerfile

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 696c8376..316a6d44 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -52,7 +52,7 @@ COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/webapp/ /opt/grou
 RUN ls /opt/grouper/grouperWebapp/
 COPY --from=installing /etc/alternatives/java /etc/alternatives/java
 RUN ls /opt/grouper/
-RUN ls /opt/grouper/grouperWebapp/
+RUN ls /opt/grouper/grouperWebapp/grouper
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomee/bin

From d12966602aa9fa202dc430d9b7944dffa0afe9c0 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 11:41:24 -0500
Subject: [PATCH 29/84] Update Dockerfile

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 316a6d44..8665f85f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -52,7 +52,7 @@ COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/webapp/ /opt/grou
 RUN ls /opt/grouper/grouperWebapp/
 COPY --from=installing /etc/alternatives/java /etc/alternatives/java
 RUN ls /opt/grouper/
-RUN ls /opt/grouper/grouperWebapp/grouper
+RUN ls /opt/grouper/grouperWebapp/WEB-INF
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin
 #ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomee/bin

From 620c33d805aeace01cfbdd99e7d8f39118d0440e Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 11:43:56 -0500
Subject: [PATCH 30/84] Update Dockerfile

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 8665f85f..d4ad81ef 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -99,7 +99,7 @@ RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
     && sed -i 's/ErrorLog "logs\/error_log"/ErrorLog "\/tmp\/logpipe"/g' /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv ENV" >> /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv USERTOKEN" >> /etc/httpd/conf/httpd.conf
-WORKDIR /opt/grouper/grouperWebapp
+WORKDIR /opt/grouper/grouperWebapp/WEB-INF
 EXPOSE 80 443
 HEALTHCHECK NONE
 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

From b9814f6adfb140bcf4d6da70bb5feae8ee8b3210 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 11:54:58 -0500
Subject: [PATCH 31/84] Update Dockerfile

---
 test-compose/data/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-compose/data/Dockerfile b/test-compose/data/Dockerfile
index 5305bb49..612f52cd 100644
--- a/test-compose/data/Dockerfile
+++ b/test-compose/data/Dockerfile
@@ -3,7 +3,7 @@ FROM tier/grouper:latest
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>"
  
 COPY container_files/seed-data/ /seed-data/
-COPY container_files/conf/ /opt/grouper/grouper.apiBinary/conf/
+COPY container_files/conf/ /opt/grouper/grouperWebapp/conf/
 
 RUN yum install -y epel-release \
     && yum update -y \

From ee1285a002dbd769ca29404370e79730d4f8d27b Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 12:18:39 -0500
Subject: [PATCH 32/84] Update Dockerfile

---
 test-compose/data/Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test-compose/data/Dockerfile b/test-compose/data/Dockerfile
index 612f52cd..33449230 100644
--- a/test-compose/data/Dockerfile
+++ b/test-compose/data/Dockerfile
@@ -44,8 +44,8 @@ RUN (/usr/sbin/ns-slapd -D /etc/dirsrv/slapd-dir &) \
     && while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
     (mysqld_safe & ) \
     && while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 1; done; \
-    bin/gsh.sh -registry -check -runscript -noprompt \
-    && bin/gsh.sh /seed-data/bootstrap.gsh
+    /opt/grouper/groupweWebapp/WEB-INF/bin/gsh.sh -registry -check -runscript -noprompt \
+    &&  /opt/grouper/groupweWebapp/WEB-INF/bin/gsh.sh /seed-data/bootstrap.gsh
 
 EXPOSE 389 3306
 

From ab16d9a9ee3338b2dcacfd029e783ba5e913decd Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 12:22:35 -0500
Subject: [PATCH 33/84] Update Dockerfile

---
 test-compose/data/Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test-compose/data/Dockerfile b/test-compose/data/Dockerfile
index 33449230..c20536bb 100644
--- a/test-compose/data/Dockerfile
+++ b/test-compose/data/Dockerfile
@@ -44,8 +44,8 @@ RUN (/usr/sbin/ns-slapd -D /etc/dirsrv/slapd-dir &) \
     && while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
     (mysqld_safe & ) \
     && while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 1; done; \
-    /opt/grouper/groupweWebapp/WEB-INF/bin/gsh.sh -registry -check -runscript -noprompt \
-    &&  /opt/grouper/groupweWebapp/WEB-INF/bin/gsh.sh /seed-data/bootstrap.gsh
+    /opt/grouper/grouperWebapp/WEB-INF/bin/gsh.sh -registry -check -runscript -noprompt \
+    &&  /opt/grouper/grouperWebapp/WEB-INF/bin/gsh.sh /seed-data/bootstrap.gsh
 
 EXPOSE 389 3306
 

From 4b7ce768a611db6e0fb790f94233928ca559a1c0 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 12:28:44 -0500
Subject: [PATCH 34/84] Update Dockerfile

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index d4ad81ef..8665f85f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -99,7 +99,7 @@ RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
     && sed -i 's/ErrorLog "logs\/error_log"/ErrorLog "\/tmp\/logpipe"/g' /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv ENV" >> /etc/httpd/conf/httpd.conf \
     && echo -e "\nPassEnv USERTOKEN" >> /etc/httpd/conf/httpd.conf
-WORKDIR /opt/grouper/grouperWebapp/WEB-INF
+WORKDIR /opt/grouper/grouperWebapp
 EXPOSE 80 443
 HEALTHCHECK NONE
 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

From 5f68f6157c927390d29b831edcb7db24498baea7 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 14:26:18 -0500
Subject: [PATCH 35/84] update GROUPER_HOME

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 8665f85f..db70073f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -71,7 +71,7 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
 ARG GROUPER_CONTAINER_VERSION
 ENV JAVA_HOME=/usr/lib/jvm/zulu-8/ \
     PATH=$PATH:$JAVA_HOME/bin \
-    GROUPER_HOME=/opt/grouper/grouperWebapp \
+    GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
 RUN yum update -y \

From b54716d542e9d70343d6d8c8ab9604e525c394bd Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 14:29:19 -0500
Subject: [PATCH 36/84] correto java jvm

---
 Dockerfile | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index db70073f..8afe7871 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,12 +7,25 @@ RUN yum install -y wget tar unzip dos2unix
     
 ARG GROUPER_CONTAINER_VERSION
 ENV GROUPER_VERSION=2.5.11 \
-     JAVA_HOME=/usr/lib/jvm/zulu-8/ \
      GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
+
+# 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
+COPY container_files/java-corretto/corretto-signing-key.pub .
+RUN curl -O -L $CORRETTO_URL_PERM \
+    && rpm --import corretto-signing-key.pub \
+    && rpm -K $CORRETTO_RPM \
+    && rpm -i $CORRETTO_RPM \
+    && rm -r corretto-signing-key.pub $CORRETTO_RPM
+ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto
+     
+     
 # use Zulu package
-RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems \
-       && curl -o /etc/yum.repos.d/zulu.repo http://repos.azulsystems.com/rhel/zulu.repo \
-       && yum -y install zulu-8 
+# RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems \
+#       && curl -o /etc/yum.repos.d/zulu.repo http://repos.azulsystems.com/rhel/zulu.repo \
+#       && yum -y install zulu-8 
 #RUN java_version=8.0.172; \
 #    zulu_version=8.30.0.1; \
 #    echo 'Downloading the OpenJDK Zulu...' \
@@ -42,7 +55,6 @@ RUN echo 'Installing Grouper'; \
     && $JAVA_HOME/bin/java -cp :grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller
 FROM centos:centos7 as cleanup
 ENV GROUPER_VERSION=2.5.11 \
-    TOMCAT_VERSION=8.5.42 \    
     TOMEE_VERSION=7.0.0
 RUN mkdir -p /opt/grouper/grouperWebapp/
 RUN mkdir -p /opt/tomee/

From 46905d06b19079b7f31778c08d02eadec4d3744f Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 14:30:14 -0500
Subject: [PATCH 37/84] Create corretto-signing-key.pub

---
 .../java-corretto/corretto-signing-key.pub    | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 container_files/java-corretto/corretto-signing-key.pub

diff --git a/container_files/java-corretto/corretto-signing-key.pub b/container_files/java-corretto/corretto-signing-key.pub
new file mode 100644
index 00000000..b0198ed7
--- /dev/null
+++ b/container_files/java-corretto/corretto-signing-key.pub
@@ -0,0 +1,30 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+mQINBF3pShkBEADJzglehQDFlc1+9VFubVPzpq8ZYtzmJkNjf09scOUzaKZOm3Ar
+mPh9Rufk4mB7t1LP4JeHAKAS17ggCHGVxRGXAAQ9Laf8ibX4SiFO3Ehyyl3smuFf
+ZhexBnvc7vRc4EUlKqarCQRUlaraDOrmq7WbhXdvCgc4u2uBLwUjAd3PHQUByAZw
+lsEQzpQnehNomjrE0pO6ms9AhmpbXlf/yr14EXvlo4lTd8QUdvS+AOCYfrHb9WGO
+IEsyyDuzuf2grV/QFpoi0VBhTCyiNYXla2AfCreMGlOCYsjw1nU93OyAqF3SaTOC
+o52yrzcb2NpbBDwRXOHNwe1md+DbRwEfkaWr5I91FqRpgEeawqyxY1miJRHduhsz
+WTgTMBF/EQfmTspD2YBX/BjNJTrdDXYvACX8slVV/vBnpi+dEpVEK3hh21ij991S
+lv8YoFnoC7XP44C7WNpVQpGW9ZWpnjLCvm3DMKW0r3Vfb3XDYhnHI1Q14Pxn0cwf
+x1L2RA4doyWd1TRZBFBe2f0vSkZT0YFaibKaKi6AkDIMU/+u+/e3wWbYXqzsSITj
+ffMkpMMNSwxbm8JqnsudjuzdEsYAiBUcFMwWysQDcyu63un2OmLKLfKxy19vCpS1
+8mkNy95JuO4jZtu+IiinvSSjlbJmslu3uK3/cTRsWaB7BRtHewE7SugMOwARAQAB
+tEhBbWF6b24gU2VydmljZXMgTExDIChBbWF6b24gQ29ycmV0dG8gcmVsZWFzZSkg
+PGNvcnJldHRvLXRlYW1AYW1hem9uLmNvbT6JAjEEEwECABsFAl3pShkCGy8FCQlm
+AYAFFQgKCQsCHgECF4AACgkQoSJUKrBPJOOJDg/6AqmntaxDWX6qfR++0qwtD9Lp
+vgONFvA+9AYQeGt7OX79O/SSPy97Kvn6DYRBdelShTAH60DbXCUs42sIRFqRjmHY
+HfIgOkUJjWoJz9oQnY+mzAKbOohCrR+YIvyCegFb0dboDaqSQ4w68+d1is7L84pz
+ZB2j0nrQDbFihPmR+epfHkLUGGywuZHCdEFfD8nXMOJeVbgSzf7Vhl8ZrydIkZTI
+7aASG5MkDO/GuVpEGQYAnH9h/jzJlfUKndswC6UFcM5Ol07pDPdHVBAi9q1SyxDe
+uSS1NgDW7OW7zgpB+4/PrZKKiEP/fBAWa9nFSLwTaMdsoaAuQAmmgbqYfy3XXKK7
+IBaKSnJpQDvNb0vmXJEY3qX2Bfh0p1KCeaQhYwIJi8rPQWC24fiLY9bdCIlkbbPQ
+CSNOEq9nUWRg9KbUGmd/PWSkT6Jheyq3BZBF1YPYEt8o/l437HHd08lREqH0sana
+Hb72GZTi2RUrNBBp5C1e8MqllXE6RKmri2m0TSBHR5C4ZLII9duyA839dYIA4KGU
+nmetZckuRuwHFmd3/YWtMEfn47UedzhVT16z3OvBipHU1BKzLGcvUFXrUKvpJQlh
+dNPUQh+wb91EzItjkJ96m+N+81iQdN3yd8cE38NTA8b+Qc7tmTYxwNZxcv16FxLA
+y2VhKc09A8RwSI69vDs=
+=ZNRH
+-----END PGP PUBLIC KEY BLOCK-----

From ed705f681cdc75338c9ee5cff6c628ba722d894c Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 14:39:40 -0500
Subject: [PATCH 38/84] Update Dockerfile

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 8afe7871..9e2e9f0f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -81,7 +81,7 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
       ImageOS=centos7
       
 ARG GROUPER_CONTAINER_VERSION
-ENV JAVA_HOME=/usr/lib/jvm/zulu-8/ \
+ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto \
     PATH=$PATH:$JAVA_HOME/bin \
     GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION

From bb0e780e75089705b1c3117ca356f45f535c3a0f Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 14:56:50 -0500
Subject: [PATCH 39/84] Update main.bats

---
 tests/main.bats | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/main.bats b/tests/main.bats
index 0c18d122..c3d9aee0 100644
--- a/tests/main.bats
+++ b/tests/main.bats
@@ -6,11 +6,11 @@ load ../common
     docker image inspect ${maintainer}/${imagename}
 }
 
-@test "030 Test Compose the environment" {
-    cd test-compose && ./compose.sh && docker-compose down
-}
+#@test "030 Test Compose the environment" {
+#    cd test-compose && ./compose.sh && docker-compose down
+#}
 
 
-@test "070 There are no known security vulnerabilities" {
-    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
-}
+#@test "070 There are no known security vulnerabilities" {
+#    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
+#}

From 72f3e6f96c8caad03421fc3bd7b199958180d26c Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 15:06:39 -0500
Subject: [PATCH 40/84] Update library.sh

---
 container_files/usr-local-bin/library.sh | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh
index 56c4187e..e9ae27be 100755
--- a/container_files/usr-local-bin/library.sh
+++ b/container_files/usr-local-bin/library.sh
@@ -1,5 +1,8 @@
 #!/bin/sh
 
+local dest=/opt/grouper/grouperWebapp/WEB-INF/
+
+
 setupPipe() {
     if [ -e $1 ]; then
         rm $1
@@ -63,11 +66,10 @@ prepDaemon() {
 }
 
 prepDaemonConf() {
-    local dest=/opt/grouper/grouper.apiBinary
-    linkGrouperSecrets $dest/conf
+    linkGrouperSecrets $dest
 
     if [ -d "/opt/grouper/conf" ]; then
-        cp -r /opt/grouper/conf/* $dest/conf/
+        cp -r /opt/grouper/conf/* $dest/classes/
     fi
     if [ -d "/opt/grouper/lib" ]; then
         cp -r /opt/grouper/lib/* $dest/lib/custom/
@@ -86,7 +88,6 @@ prepSCIM() {
 }
 
 prepSCIMConf() {
-    local dest=/opt/grouper/grouper.scim/WEB-INF
     linkGrouperSecrets $dest/classes
 
     if [ -d "/opt/grouper/conf" ]; then
@@ -109,7 +110,6 @@ prepUI() {
 }
 
 prepUIConf() {
-    local dest=/opt/grouper/grouper.ui/WEB-INF
     linkGrouperSecrets $dest/classes
 
     if [ -d "/opt/grouper/conf" ]; then
@@ -131,7 +131,6 @@ prepWS() {
 }
 
 prepWSConf() {
-    local dest=/opt/grouper/grouper.ws/WEB-INF
     linkGrouperSecrets $dest/classes
     
     if [ -d "/opt/grouper/conf" ]; then

From 63d42f8c9b84661b2a449635e6e1620ddb5813c4 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 15:08:06 -0500
Subject: [PATCH 41/84] Update main.bats

---
 tests/main.bats | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/main.bats b/tests/main.bats
index c3d9aee0..c5910c52 100644
--- a/tests/main.bats
+++ b/tests/main.bats
@@ -6,9 +6,9 @@ load ../common
     docker image inspect ${maintainer}/${imagename}
 }
 
-#@test "030 Test Compose the environment" {
-#    cd test-compose && ./compose.sh && docker-compose down
-#}
+@test "030 Test Compose the environment" {
+    cd test-compose && ./compose.sh && docker-compose down
+}
 
 
 #@test "070 There are no known security vulnerabilities" {

From a96ab7f3e2c1bd6aa354bcadbb4e210c45a28525 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 15:33:23 -0500
Subject: [PATCH 42/84] Create morphString.properties

---
 test-compose/configs-and-secrets/grouper/morphString.properties | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 test-compose/configs-and-secrets/grouper/morphString.properties

diff --git a/test-compose/configs-and-secrets/grouper/morphString.properties b/test-compose/configs-and-secrets/grouper/morphString.properties
new file mode 100644
index 00000000..52479216
--- /dev/null
+++ b/test-compose/configs-and-secrets/grouper/morphString.properties
@@ -0,0 +1 @@
+encrypt.key=fh43IRJ4Nf5

From 719997c2a444966d72f5d82ea13bc2d3bfa5f035 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 15:34:59 -0500
Subject: [PATCH 43/84] Update docker-compose.yml

---
 test-compose/docker-compose.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/test-compose/docker-compose.yml b/test-compose/docker-compose.yml
index c0e21ed3..7ae0565d 100644
--- a/test-compose/docker-compose.yml
+++ b/test-compose/docker-compose.yml
@@ -207,6 +207,8 @@ services:
        target: grouper_grouper-loader.properties
      - source: subject.properties
        target: grouper_subject.properties
+     - source: morphString.properties
+       target: grouper_morphString.properties
     volumes:
      - type: bind
        source: ./configs-and-secrets/grouper/grouper.properties

From bbf2b4e25d1f8f65bbac185a974a84e612429d6b Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 17 Feb 2020 15:36:27 -0500
Subject: [PATCH 44/84] Update docker-compose.yml

---
 test-compose/docker-compose.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/test-compose/docker-compose.yml b/test-compose/docker-compose.yml
index 7ae0565d..e4eb940f 100644
--- a/test-compose/docker-compose.yml
+++ b/test-compose/docker-compose.yml
@@ -269,6 +269,9 @@ secrets:
     file: ./configs-and-secrets/grouper/subject.properties
   sp-key.pem:
     file: ./configs-and-secrets/shibboleth/sp-key.pem
+  morphString.properties:
+    file: ./configs-and-secrets/grouper/morphString.properties
+     
     
     
 volumes:

From 55d16d2a986d3df737e925f812baff98b204d606 Mon Sep 17 00:00:00 2001
From: Chris Hubing <chubing@internet2.edu>
Date: Tue, 18 Feb 2020 14:23:21 +0000
Subject: [PATCH 45/84] updates for 2.5

---
 test-compose/data/Dockerfile                  |   2 +-
 .../conf/grouper.client.properties            | 112 ++++++++++++++++++
 .../conf/morphString.properties               |   1 +
 3 files changed, 114 insertions(+), 1 deletion(-)
 create mode 100644 test-compose/data/container_files/conf/grouper.client.properties
 create mode 100644 test-compose/data/container_files/conf/morphString.properties

diff --git a/test-compose/data/Dockerfile b/test-compose/data/Dockerfile
index c20536bb..5b3ec01c 100644
--- a/test-compose/data/Dockerfile
+++ b/test-compose/data/Dockerfile
@@ -3,7 +3,7 @@ FROM tier/grouper:latest
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>"
  
 COPY container_files/seed-data/ /seed-data/
-COPY container_files/conf/ /opt/grouper/grouperWebapp/conf/
+COPY container_files/conf/ /opt/grouper/grouperWebapp/WEB-INF/classes/
 
 RUN yum install -y epel-release \
     && yum update -y \
diff --git a/test-compose/data/container_files/conf/grouper.client.properties b/test-compose/data/container_files/conf/grouper.client.properties
new file mode 100644
index 00000000..dcc50ae7
--- /dev/null
+++ b/test-compose/data/container_files/conf/grouper.client.properties
@@ -0,0 +1,112 @@
+#
+# Copyright 2014 Internet2
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# Grouper client configuration
+# $Id: grouper.client.example.properties,v 1.24 2009-12-30 04:23:02 mchyzer Exp $
+#
+
+# The grouper client uses Grouper Configuration Overlays (documented on wiki)
+# By default the configuration is read from grouper.client.base.properties
+# (which should not be edited), and the grouper.client.properties overlays
+# the base settings.  See the grouper.client.base.properties for the possible
+# settings that can be applied to the grouper.client.properties
+
+########################################
+## LDAP connection settings
+########################################
+
+# url of directory, including the base DN (distinguished name)
+# e.g. ldap://server.school.edu/dc=school,dc=edu
+# e.g. ldaps://server.school.edu/dc=school,dc=edu
+grouperClient.ldap.url =
+
+# kerberos principal used to connect to ldap
+grouperClient.ldap.login =
+
+# password for shared secret authentication to ldap
+# or you can put a filename with an encrypted password
+grouperClient.ldap.password =
+
+########################################
+## Web service Connection settings
+########################################
+
+# 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://ws/grouper-ws/servicesRest
+
+# kerberos principal used to connect to web service
+grouperClient.webService.login = banderson
+
+# password for shared secret authentication to web service
+# or you can put a filename with an encrypted password
+grouperClient.webService.password.elConfig = ${java.lang.System.getenv().get('GROUPER_CLIENT_WEBSERVICE_PASSWORD_FILE') != null ? org.apache.commons.io.FileUtils.readFileToString(java.lang.System.getenv().get('GROUPER_CLIENT_WEBSERVICE_PASSWORD_FILE'), "utf-8") : java.lang.System.getenv().get('GROUPER_CLIENT_WEBSERVICE_PASSWORD') }
+
+
+################################
+## Grouper Messaging System
+################################
+ 
+# name of messaging system which is the default
+grouper.messaging.default.name.of.messaging.system = rabbitmq
+ 
+# name of a messaging system.  note, "grouperBuiltinMessaging" can be arbitrary
+# grouper.messaging.system.grouperBuiltinMessaging.name = grouperBuiltinMessaging
+ 
+# class that implements edu.internet2.middleware.grouperClient.messaging.GrouperMessagingSystem
+# grouper.messaging.system.grouperBuiltinMessaging.class = edu.internet2.middleware.grouper.messaging.GrouperBuiltinMessagingSystem
+ 
+# name of a messaging system.  note, "grouperBuiltinMessaging" can be arbitrary
+grouper.messaging.system.rabbitmqSystem.name = rabbitmqSystem
+ 
+# class that implements edu.internet2.middleware.grouperClient.messaging.GrouperMessagingSystem
+grouper.messaging.system.rabbitmqSystem.class = edu.internet2.middleware.grouperMessagingRabbitmq.GrouperMessagingRabbitmqSystem
+ 
+# host address of rabbitmq queue
+grouper.messaging.system.rabbitmqSystem.host = rabbitmq
+ 
+# virtual host of rabbitmq queue
+grouper.messaging.system.rabbitmqSystem.virtualhost =
+ 
+# port of rabbitmq queue
+grouper.messaging.system.rabbitmqSystem.port =
+ 
+grouper.messaging.system.rabbitmqSystem.defaultPageSize = 10
+ 
+grouper.messaging.system.rabbitmqSystem.maxPageSize = 50
+ 
+ 
+# name of a messaging system, required
+grouper.messaging.system.rabbitmq.name = rabbitmq
+ 
+# default system settings to this messaging system, note, there is only one level of inheritance
+grouper.messaging.system.rabbitmq.defaultSystemName = rabbitmqSystem
+
+grouper.messaging.system.rabbitmq.user = guest
+
+#pass
+grouper.messaging.system.rabbitmq.password.elConfig = ${java.lang.System.getenv().get('RABBITMQ_PASSWORD_FILE') != null ? org.apache.commons.io.FileUtils.readFileToString(java.lang.System.getenv().get('RABBITMQ_PASSWORD_FILE'), "utf-8") : java.lang.System.getenv().get('RABBITMQ_PASSWORD') }
+# set the following three properties if you want to use TLS connection to rabbitmq. All three need to be populated.
+# TLS Version
+#grouper.messaging.system.rabbitmqSystem.tlsVersion = TLSv1.1
+ 
+# path to trust store file
+#grouper.messaging.system.rabbitmqSystem.pathToTrustStore =
+ 
+# trust passphrase
+#grouper.messaging.system.rabbitmqSystem.trustPassphrase =
\ No newline at end of file
diff --git a/test-compose/data/container_files/conf/morphString.properties b/test-compose/data/container_files/conf/morphString.properties
new file mode 100644
index 00000000..52479216
--- /dev/null
+++ b/test-compose/data/container_files/conf/morphString.properties
@@ -0,0 +1 @@
+encrypt.key=fh43IRJ4Nf5

From 4cd026cea4fb739749245e31b6edfb28ef7d2de6 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Tue, 18 Feb 2020 09:28:34 -0500
Subject: [PATCH 46/84] Update main.bats

---
 tests/main.bats | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/main.bats b/tests/main.bats
index c5910c52..0c18d122 100644
--- a/tests/main.bats
+++ b/tests/main.bats
@@ -11,6 +11,6 @@ load ../common
 }
 
 
-#@test "070 There are no known security vulnerabilities" {
-#    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
-#}
+@test "070 There are no known security vulnerabilities" {
+    ./tests/clairscan.sh ${maintainer}/${imagename}:latest
+}

From 778c111747c7a489463759d24384f006310a1c56 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Tue, 18 Feb 2020 09:30:08 -0500
Subject: [PATCH 47/84] remove other JVM references

---
 Dockerfile | 33 +++++----------------------------
 1 file changed, 5 insertions(+), 28 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 9e2e9f0f..1d54b570 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
 FROM centos:centos7 as installing
-#RUN yum update -y \
-#    && yum install -y wget tar unzip dos2unix \
-#    && yum clean all
+RUN yum update -y \
+    && yum install -y wget tar unzip dos2unix \
+    && yum clean all
     
 RUN yum install -y wget tar unzip dos2unix
     
@@ -20,29 +20,7 @@ RUN curl -O -L $CORRETTO_URL_PERM \
     && rpm -i $CORRETTO_RPM \
     && rm -r corretto-signing-key.pub $CORRETTO_RPM
 ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto
-     
-     
-# use Zulu package
-# RUN rpm --import http://repos.azulsystems.com/RPM-GPG-KEY-azulsystems \
-#       && curl -o /etc/yum.repos.d/zulu.repo http://repos.azulsystems.com/rhel/zulu.repo \
-#       && yum -y install zulu-8 
-#RUN java_version=8.0.172; \
-#    zulu_version=8.30.0.1; \
-#    echo 'Downloading the OpenJDK Zulu...' \
-#    && wget -q http://cdn.azul.com/zulu/bin/zulu$zulu_version-jdk$java_version-linux_x64.tar.gz \
-#    && echo "0a101a592a177c1c7bc63738d7bc2930  zulu$zulu_version-jdk$java_version-linux_x64.tar.gz" | md5sum -c - \
-#    && tar -zxvf zulu$zulu_version-jdk$java_version-linux_x64.tar.gz -C /opt \
-#    && ln -s /opt/zulu$zulu_version-jdk$java_version-linux_x64 $JAVA_HOME
-#RUN java_version=8u151; \
-#    java_bnumber=12; \
-#    java_semver=1.8.0_151; \
-#    java_hash=123b1d755416aa7579abc03f01ab946e612e141b6f7564130f2ada00ed913f1d; \
-#    echo 'Downloading the Oracle Java...' \ 
-#    && wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
-#    http://download.oracle.com/otn-pub/java/jdk/$java_version-b$java_bnumber/e758a0de34e24606bca991d704f6dcbf/server-jre-$java_version-linux-x64.tar.gz \
-#    && echo "$java_hash  server-jre-$java_version-linux-x64.tar.gz" | sha256sum -c - \
-#    && tar -zxvf server-jre-$java_version-linux-x64.tar.gz -C /opt \
-#    && ln -s /opt/jdk$java_semver/ $JAVA_HOME
+
 RUN echo 'Downloading Grouper Installer...' \
     && mkdir -p /opt/grouper/$GROUPER_VERSION \
     && 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
@@ -98,8 +76,7 @@ RUN groupadd -r tomcat \
     && useradd -r -m -s /sbin/nologin -g tomcat tomcat \
     && chown -R tomcat:tomcat /opt/tomee  \
     && ln -s $JAVA_HOME/bin/java /etc/alternatives/java
-# does shib sp3 not generate these files?
-# RUN rm /etc/shibboleth/sp-key.pem /etc/shibboleth/sp-cert.pem
+
 COPY container_files/tier-support/ /opt/tier-support/
 COPY container_files/usr-local-bin/ /usr/local/bin/
 COPY container_files/httpd/* /etc/httpd/conf.d/

From d4f0011eb89831b3e9b92c57bb30ff002cedce41 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Tue, 18 Feb 2020 09:30:59 -0500
Subject: [PATCH 48/84] Update Jenkinsfile

---
 Jenkinsfile | 19 ++-----------------
 1 file changed, 2 insertions(+), 17 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 181d2255..678a2148 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -52,8 +52,7 @@ pipeline {
                 script {
                   try{
                       docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
-                        // baseImg = docker.build("$maintainer/$imagename", "--build-arg GROUPER_CONTAINER_VERSION=$tag --no-cache .")
-                        baseImg = docker.build("$maintainer/$imagename", "--build-arg GROUPER_CONTAINER_VERSION=$tag .")
+                        baseImg = docker.build("$maintainer/$imagename", "--build-arg GROUPER_CONTAINER_VERSION=$tag --no-cache .")
                       }
                   } catch(error) {
                      def error_details = readFile('./debug');
@@ -82,21 +81,7 @@ pipeline {
         stage('Push') {
             steps {
                 script {
-                      //// scan the image with clair
-                      // sh 'docker run -p 5432:5432 -d --name clairdb arminc/clair-db:latest'
-                      // sh 'docker run -p 6060:6060 --link clairdb:postgres -d --name clair arminc/clair-local-scan:v2.0.5'
-                      // sh 'curl -L -o clair-scanner https://github.com/arminc/clair-scanner/releases/download/v8/clair-scanner_linux_amd64'
-                      // sh 'chmod 755 clair-scanner'
-                      // sh "./clair-scanner --ip 172.17.0.1 -r test.out $maintainer/$imagename:latest"
-                      //// test the environment
-                      // sh 'docker kill clairdb'
-                      // sh 'docker rm clairdb'
-                      // sh 'docker kill clair'
-                      // sh 'docker rm clair'
-                      // sh 'cd test-compose && ./compose.sh'
-                      //// bring down after testing
-                      //sh 'cd test-compose && docker-compose down'
-                      docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
+                        docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
                         baseImg.push("$tag")
                       }
                   }

From 8920eb34761826e47f051aee3bc5dbb6ed79c37d Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Tue, 18 Feb 2020 10:02:18 -0500
Subject: [PATCH 49/84] Update supervisord-tomee.conf

---
 container_files/tier-support/supervisord-tomee.conf | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/container_files/tier-support/supervisord-tomee.conf b/container_files/tier-support/supervisord-tomee.conf
index 35e19488..63cfb278 100644
--- a/container_files/tier-support/supervisord-tomee.conf
+++ b/container_files/tier-support/supervisord-tomee.conf
@@ -21,6 +21,14 @@ stderr_logfile_maxbytes=0
 stdout_logfile = /tmp/loghttpd
 stdout_logfile_maxbytes=0
 
+[program:shibbolethsp]
+user=shibd
+command=/usr/sbin/shibd -f -F
+stderr_logfile = /tmp/logshidb
+stderr_logfile_maxbytes=0
+stdout_logfile = /tmp/logshidb
+stdout_logfile_maxbytes=0
+
 [program:tomee]
 user=tomcat
 command=/opt/tomee/bin/catalina.sh run 

From 611456dde714c3cfc027492ca481fa6c45405a7d Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 20 Feb 2020 13:43:09 -0500
Subject: [PATCH 50/84] Update README.md

---
 README.md | 361 +-----------------------------------------------------
 1 file changed, 2 insertions(+), 359 deletions(-)

diff --git a/README.md b/README.md
index 691033e4..0707ce81 100644
--- a/README.md
+++ b/README.md
@@ -1,365 +1,8 @@
-[![Build Status](https://jenkins.testbed.tier.internet2.edu/buildStatus/icon?job=docker/grouper/master)](https://jenkins.testbed.tier.internet2.edu/buildStatus/icon?job=docker/grouper/master)
+# Not ready for production or testing yet
 
+[![Build Status](https://jenkins.testbed.tier.internet2.edu/buildStatus/icon?job=docker/grouper/2.5.11-beta)](https://jenkins.testbed.tier.internet2.edu/buildStatus/icon?job=docker/grouper/2.5.11-beta)
 
 
-This repository contains the source code used to create the InCommon Trusted Access Platform Grouper container. This standalone container is pushed to Dockerhub, various tags are available at the following URL: https://hub.docker.com/r/tier/grouper/tags. This repo can also be cloned and the container built locally. 
-
-The test-compose directory contains an example Grouper environment that starts up the various Grouper components. This example demonstrates how one might go about customizing and deploying their Grouper containers, using the TIER Grouper image as a base image. If evaluating Grouper, this is a good place to start. 
-
-
-# Upgrading from 2.3 to 2.4
-
-If upgrading from Grouper version 2.3 to 2.4 and using LDAP, modifications will be needed in subject.properties and grouper-loaders.proprties. Further details about this can be found at the following URL:
-https://spaces.at.internet2.edu/display/Grouper/vt-ldap+to+ldaptive+migration+for+LDAP+access
-
-In particular, in subject.properties, *.param.base.value should be adjusted to only contain the RDN (Relative Distinguished Name), not the full DN.  For example, "OU=People", not "OU=People,DC=domain,DC=edu"
-
-Additional upgrade information can be found at the following URL: https://spaces.at.internet2.edu/display/Grouper/v2.4+Upgrade+Instructions+from+v2.3
-
-
-
-# Supported tags
-
--	latest
--   patch specific tags with date timestamp* (i.e. 2.4.0-80-u51-w10-p11-20191118)
-
-\* Patch builds are routinely produced, but not necessarily for each patch release. The following monikers are used to construct the tag name:
- 
-- a = api patch number
-- u = ui patch number
-- w = ws patch number
-- p = pspng patch number
-- last field = the year, month and day the image was built
-
-# Quick reference
-
--	**Where to get help**:  
-        [tier-packaging@internet2.edu](mailto:tier-packaging@internet2.edu?subject=Grouper%20Image%20Help)
-
--	**Where to file issues**:  
-	[https://github.internet2.edu/docker/grouper/issues](https://github.internet2.edu/docker/grouper/issues)
-
--	**Maintained by**:  
-	[TIER Packaging Working Group](https://spaces.internet2.edu/display/TPWG)
-
--	**Supported Docker versions**:  
-	[the latest release](https://github.com/docker/docker-ce/releases/latest) (down to 1.6 on a best-effort basis)
-
-# What is Grouper?
-
-Grouper is an enterprise access management system designed for the highly distributed management environment and heterogeneous information technology environment common to universities. Operating a central access management system that supports both central and distributed IT reduces risk.
-
-> [www.internet2.edu/products-services/trust-identity/grouper/](https://www.internet2.edu/products-services/trust-identity/grouper/)
-
-![logo](https://www.internet2.edu/media/medialibrary/2013/10/15/image_grouper_logowordmark_bw.png)
-
-# How to use this image
-
-This image provides support for each of the Grouper components/roles: Grouper Daemon/Loader, Grouper UI, Grouper Web Services, and Grouper SCIM Server.
-
-## Starting each role
-
-While TIER recommends/supports using Docker Swarm for orchestrating the Grouper environment, these containers can be run directly (or with other orchestration products). Both examples are shown below. It should be noted that these examples will not run independently, but required additional configuration to be provided before each container will start as expected.
-
-### Daemon/Loader
-
-Run the Grouper Daemon/Loader as a service. If the daemon/loader container dies unexpectedly, it may be due to memory contraints. Refer to the "Grouper Shell/Loader" section below for information on how to tweak memory settings.   
-
-```console
-$ docker service create --detach --name grouper-daemon tier/grouper:latest daemon
-```
-
-Run the Grouper Daemon/Loader as a standalone container.
-
-```console
-$ docker run --detach --name grouper-daemon tier/grouper:latest daemon
-```
-
-### SCIM Server
-
-Runs the Grouper SCIM Server as a service.
-
-```console
-$ docker service create --detach --publish 9443:443 --name grouper-ws tier/grouper:latest scim
-```
-
-Runs the Grouper Web Services in a standalone container. 
-
-```console
-$ docker run --detach --publish 9443:443 --name grouper-daemon tier/grouper:latest scim
-```
-
-### UI
-
-Runs the Grouper UI as a service.
-
-```console
-$ docker service create --detach --publish 443:443 --name grouper-ui tier/grouper:latest ui
-```
-
-Runs the Grouper UI in a standalone container.
-
-```console
-$ docker run --detach --name --publish 443:443 grouper-ui tier/grouper:latest ui
-```
-
-### Web Services
-
-Runs the Grouper Web Services as a service. 
-
-```console
-$ docker service create --detach --publish 8443:443 --name grouper-ws tier/grouper:latest ws
-```
-
-Runs the Grouper Web Services in a standalone container. 
-
-```console
-$ docker run --detach --publish 8443:443 --name grouper-daemon tier/grouper:latest ws
-```
-
-### UI and Web Services
-
-> This method is good when first starting to work with Grouper, but when scaling Grouper UI or Web Services it is advisable to use the individual roles noted above.
-
-Runs the Grouper UI and Web Services as a combined service. (You should really run these as individual roles to take advantage of Docker service replicas.) 
-
-```console
-$ docker service create --detach --publish 443:443 --name grouper-web tier/grouper:latest ui-ws
-```
-
-Runs the Grouper UI and Web Services in a combined container. This good when first starting to work with Grouper, but when scaling Grouper UI or Web Services it is advisable to use the individual roles noted above.
-
-```console
-$ docker run --detach --publish 443:443 --name grouper-web tier/grouper:latest ui-ws
-```
-
-### GSH
-
-Runs the Grouper Shell in a throwaway container. This makes it easy to run Grouper commands and Grouper Shell scripts. Since it is interactive it does not run as a service.
-
-```console
-$ docker run -it --rm tier/grouper:latest bin/gsh <optional GSH args>
-```
-
-# Configuration
-
-## Grouper Configurations
-
-There are several things that are required for this image to successfully start. At a minimum, the `grouper.hibernate.properties` and `subject.properties` (or the old `sources.xml` equivalent) files need to be customized and available to the container at start-up. 
-
-Grouper config files maybe placed into `/opt/grouper/conf` and these files will be put into the appropriate location based on the role the container assumes. Docker Secrets starting with the name `grouper_` should take precedence over these files. (See below.)
-
-## Web Apps Configuration
-
-If starting the container to serve the Grouper UI, Grouper Web Services, Grouper SCIM Server components, a TLS key and cert(s) need to be applied to those containers. 
-
-The Grouper UI also requires some basic Shibboleth SP configuration. The `/etc/shibboleth/shibboleth2.xml` file should be modified to set:
-- an entityId for the SP
-- load IdP or federation metadata 
-- set the SP's encryption keys
-- the identity attribute of the subject to be passed to Grouper
-
-If encryption keys are defined in the `shibboleth2.xml` file, then the key/cert files should be provided as well. The `attribute-map.xml` file has most of the common identity attributes pre-configured, but it (and other Shibboleth SP files) can be overlaid/replaced as necessary.
-
-(See the section below.)
-
-## General Configuration Mechanism
-
-There are three primary ways to provide Grouper and additional configuration files to the container: Docker Config/Secrets, customized images, and bind mounts. Depending upon your needs you may use a combination of two or three of these options.
-
-### Secrets/Configs
-
-Docker Config and Docker Secrets are Docker's way of providing configurations files to a container at runtime. The primary difference between the Config and Secrets functionality is that Secrets is designed to protect resources/files that are sensitive.
-
-For passing full files into the container, this container will make any secrets with secret names prepended with `grouper_` available to the appropriate Grouper component's conf directory (i.e. `<GROUPER_HOME>/conf` or `WEB-INF/classes`). Any secrets with secret names starting with `shib_` will be available in the Shibboleth SP `/etc/shibboleth/` directory. Any secrets with secret names starting with `httpd_` will be available to `/etc/httpd/conf.d` directory. Finally, if a secret with the name of `host-key.pem` will be mapped to the httpd TLS cert used by Grouper UI, Grouper WS, and Grouper SCIM Server containers. These files will supercede any found in the underlying image.
-
-Docker Secrets can also be used to pass in strings, such as a database connection string password, into the component config. To pass in the Grouper database connection string, one might set the property and value as such:
-
-```text
-hibernate.connection.password.elConfig = ${java.lang.System.getenv().get('GROUPER_DATABASE_PASSWORD_FILE') != null ? org.apache.commons.io.FileUtils.readFileToString(new("java.io.File", java.lang.System.getenv().get('GROUPER_DATABASE_PASSWORD_FILE')), "utf-8") : java.lang.System.getenv().get('GROUPER_DATABASE_PASSWORD') }
-```
-
-Note that the default property name has been changed by appending `.elConfig`. (This causes Grouper to evaluate the string before saving the value.) The expression allows deployers to use a file containing only the database password as a Docker Secret and reference the file name via the `GROUPER_DATABASE_PASSWORD_FILE` environment property. This allows the config files to be baked into the image, if desired. Also, but not recommended, the database password could just be set in the Docker Service definition as an environment variable, `GROUPER_DATABASE_PASSWORD`. (Technically the expression can be broken up and just the desired functionality used.) Of course, using Grouper's MorphString functionality is supported and likely is the best option, but does require more effort in setting it up.
-
-Secrets can be managed using the `docker secret` command: `docker secret create grouper_grouper.hibernate.properties ./grouper.hibernate.properties`. This will securely store the file in the swarm. Secrets can then be assigned to the service `docker service create -d --name daemon --secret grouper_grouper.hibernate.properties --secret grouper_sources.xml tier/grouper daemon`.
-
-> `docker run` does not support secrets; Bind mounts need to be used instead, which is technically what Docker Compose does when not running against a Swarm.
-
-### Bind Mounts
-
-Bind mounts can be used to connect files/folders on the Docker host into the container's file system. Unless running in swarm mode, Docker Secrets are not supported, so we can use a bind mount to provide the container with the configuration files.
-
-```console
-$ docker run --detach --name daemon \
-  --mount type=bind,src=$(pwd)/grouper.hibernate.properties,dst=/run/secrets/grouper_grouper.hibernate.properties \
-  --mount type=bind,src=$(pwd)/sources.xml,dst=/run/secrets/grouper_sources.xml \
-  tier/grouper daemon
-```
-
-### Customized Images
-
-Deployers will undoubtedly want to add in their files to the container. Things like additional jar files defining Grouper Hooks, or things like images and css files. This can be accomplished by building custom images. **Deployers should NOT use this method to store sensitive configuration files.**
-
-To add a favicon to the Grouper UI, we use the tier/grouper images as a base and `COPY` our local `favicon.ico` into the image. While we are at it, we define this image as a UI image by specifying the default commnd (i.e `CMD`) of `ui`.
-
-```Dockerfile
-FROM tier/grouper:latest
-
-COPY favicon.ico /opt/grouper/grouper.ui/
-
-CMD ui
-```
-
-To build our image:
-
-```console
-$ docker build --tag=org/grouper-ui .
-```
-
-This image can now be used locally or pushed to an organization's Docker repository.
-
-
-## Environment Variables
-
-Deployers can set runtime variables to both the Grouper Shell and Loader/Daemon and to Tomcat/Tomcat EE using environment variables. These can be set using the `docker run` and `docker service creates`'s `--env` paramater.
-
-### Grouper Shell/Loader
-
-The following environment variables are used by the Grouper Shell/Loader: 
-- MEM_START: corresponds to the java's `-Xms`. (default is 64m)
-- MEM_MAX: corresponds to java's `-Xmx`. (default is 750m)
-
-### Tomcat/TomEE
-
-Amongst others variables defined in the `catalina.sh`, the following variables would like be useful for deployers:
-- CATALINA_OPTS: Java runtime options to only be used by Tomcat itself.
-
-# File System Endpoints
-
-Here is a list of significant directories and files that deployers should be aware of:
-
-- `/opt/grouper/conf/`: a common directory to place non-sensitive config files that will be placed into the appropriate location for each Grouper component at container start-up.
-- `/opt/grouper/lib/`: a common directory to place additional jar files that will be placed into the appropriate location for each Grouper component at container start-up.
-- `/opt/grouper/grouper.apiBinary/`: location to overlay Grouper GSH or Daemon/Loader files.
-`/opt/grouper/grouper.scim/`: location for overlaying Grouper SCIM Server web application files (expanded `grouper-ws-scim.war`).
-- `/opt/grouper/grouper.ui/`: location for overlaying Grouper UI web application files (expanded `grouper.war`).
-- `/opt/grouper/grouper.ws/`: location for overlaying Grouper Web Services web application files (expanded `grouper-ws.war`).
-- `/etc/httpd/conf.d/ssl-enabled.conf`: Can be overlaid to change the TLS settings when running Grouper UI or Web Servicse.
-- `/etc/shibboleth/`: location to overlay the Shibboleth SP configuration files used by the image.
-- `/opt/tomcat/`: used to run Grouper UI and Grouper WS
-- `/opt/tomee/`: used to run the Grouper SCIM Server.
-- `/var/run/secrets`: location where Docker Secrets are mounted into the container. Secrets starting with `grouper_`, `shib_`, and `httpd_` have special meaning. See `Secrets/Configs` above.
-- `/usr/lib/jvm/zulu-8/jre/lib/security/cacerts`: location of the Java trust store.
-
-To examine baseline image files, one might run `docker run --name=temp -it tier/grouper bash` and browse through these file system endpoints. While the container is running one may copy files out of the image/container using something like `docker cp containerId:/opt/grouper/grouper.api/conf/grouper.properties .`, which will copy the `grouper.properties` to the Docker client's present working directory. These files can then be edited and applied via the mechanisms outlined above.
-
-# Web Application Endpoints
-
-Here is a list of significant web endpoints that deployers should be aware of:
-
-- `/grouper/`: location of the Grouper UI application
-- `grouper-ws/`: location of the Grouper WS application.
-- `/grouper-ws-scim/`: location of the Grouper SCIM Server application.
-
-The endpoint that is available is dependent upon the role of the container.
-
-# Provisioning a Grouper Database
-
-Using standard methods, create a MariaDb Server and an empty Grouper database. Create a database user with privileges to create and populate schema objects. Set the appropriate database connection properties in `grouper.hibernate.properties`. Be sure to the user created with schema manipulation privileges as the db user.
-
-Next populate the database by using the following command.
-
-```console
-$ docker run -it --rm \
-  --mount type=bind,src=$(pwd)/grouper.hibernate.properties,dst=/run/secrets/grouper_grouper.hibernate.properties \
-  tier/grouper gsh -registry -check -runscript -noprompt
-```
-
-Note: a less privileged database user maybe used when running the typical Grouper roles. This user needs SELECT, INSERT, UPDATE, and DELETE privileges on the schema objects.
-
-# Provisioning a Grouper Database
-
-Using standard methods, create a MariaDb Server and an empty Grouper database. Create a database user with privileges to create and populate schema objects. Set the appropriate database connection properties in `grouper.hibernate.properties`. Be sure that the user is created with schema manipulation privileges.
-
-Next populate the database by using the following command.
-
-```console
-$ docker container run -it --rm \
-  --mount type=bind,src=$(pwd)/grouper.hibernate.properties,dst=/run/secrets/grouper_grouper.hibernate.properties \
-  tier/grouper gsh -registry -check -runscript -noprompt
-```
-
-Also, it is possible to just connect directly to the container, create the DDL, and copy it out. This is necessary if your DBAs would prefer to manually execute the DDL to create the schema objects:
-
-```console
-$ docker container run -it --name grouper \
-  --mount type=bind,src=$(pwd)/grouper.hibernate.properties,dst=/run/secrets/grouper_grouper.hibernate.properties \
-  tier/grouper
-
-  gsh -registry -check
-
-  exit
-
-$ docker container cp grouper:/opt/grouper/grouper.apiBinary/ddlScripts/ .
-$ docker container rm -f grouper
-``` 
-The generated DDL will be on the host in the `ddlScripts` directory.
-
-Note: A less privileged database user maybe used when running the typical Grouper roles. This user just needs SELECT, INSERT, UPDATE, and DELETE privileges on the tables and views. Running in this configuration requires DBAs to manually run the DDL scripts.
-
-# Configuring the embedded Shibboleth SP 
-
-The Shibboleth SP needs to be configured to integrate with one or more SAML IdPs. Reference the Shibboleth SP documentation for specific instructions, but here is information on generating an encryption key/cert pair and mounting them (all of which are environment specific) and the shibboleth2.xml into the container.
-
-1. Start a temporary container and generate the key/cert pair:
-    ```
-    $ docker container run -it --name grouper \
-      tier/grouper bash
-
-    cd /etc/shibboleth
-    ./keygen.sh -f -h <public_hostname> 
-    exit 
-   ```
-
-1. Copy the key, cert, and `shibboleth2.xml` files out of the container (and remove the container)
-    ```console
-    $ docker container cp grouper:/etc/shibboleth/shibboleth2.xml .
-    $ docker container cp grouper:/etc/shibboleth/sp-cert.pem .
-    $ docker container cp grouper:/etc/shibboleth/sp-key.pem .
-
-    $ docker container rm grouper
-    ```
-    
-1. After updating the `shibboleth2.xml` file, save the key, cert, and shibboleth2.xml as secrets/config:
-    ```console
-    $ docker secret create sp-key.pem sp-key.pem
-    $ docker config create sp-cert.pem sp-cert.pem
-    $ docker config create shibboleth2.xml shibboleth2.xml
-    ```
-
-1. Add the following to the UI service creation command to mount the environment specific settings:
-    ```
-      --secret source=sp-key.pem.pem,target=shib_sp-key.pem \
-      --config source=sp-cert.pem,target=/etc/shibboleth/sp-cert.pem \
-      --config source=shibboleth2.xml,target=/etc/shibboleth/shibboleth2.xml \
-    ```
-
-# Logging
-
-This image outputs logs in a manner that is consistent with Docker Logging. Each log entry is prefaced with the submodule name (e.g. shibd, httpd, tomcat, grouper), the logfile name (e.g. access_log, grouper_error.log, catalina.out) and user definable environment name and a user definable token. Content found after the preface will be specific to the application ands its logging configuration.
-
-> Note: If customizing a particular component's logging, it is recommended that the file be source from the image (`docker container cp`) or from the image's source repository. 
-
-To assign the "environment" string, set the environment variable `ENV` when defining the Docker service. For the "user defined token" string, use the environment variable of `USERTOKEN`.
-
-An example might look like the following, with the env of "dev" and the usertoken of "build-2"
-
-```text
-shibd shibd.log dev build-2 2018-03-27 20:42:22 INFO Shibboleth.Listener : listener service starting
-grouper-api grouper_event.log dev build-2 2018-03-27 21:10:00,046: [DefaultQuartzScheduler_Worker-1] INFO  EventLog.info(156) -  - [fdbb0099fe9e46e5be4371eb11250d39,'GrouperSystem','application'] session: start (0ms)
-tomcat console dev build-2 Grouper starting up: version: 2.3.0, build date: null, env: <no label configured>
-``` 
-
 # Misc Notes
 
 - [HTTP Strict Transport Security (HSTS)](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) is enabled on the Apache HTTP Server.

From 30aa6c02f0d80f5e3994ab24e84d6191054dc33a Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 20 Feb 2020 14:07:29 -0500
Subject: [PATCH 51/84] Update ui

---
 container_files/usr-local-bin/ui | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/container_files/usr-local-bin/ui b/container_files/usr-local-bin/ui
index a03ed585..dee276bd 100755
--- a/container_files/usr-local-bin/ui
+++ b/container_files/usr-local-bin/ui
@@ -6,4 +6,4 @@ prepUI
 
 export LD_LIBRARY_PATH=/opt/shibboleth/lib64:$LD_LIBRARY_PATH
 
-exec /usr/bin/supervisord -c /opt/tier-support/supervisord-tomcat.conf
+exec /usr/bin/supervisord -c /opt/tier-support/supervisord-tomee.conf

From f643d07d94951e4d6d7e1773652e633f31af8570 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 20 Feb 2020 14:07:47 -0500
Subject: [PATCH 52/84] Update ui-ws

---
 container_files/usr-local-bin/ui-ws | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/container_files/usr-local-bin/ui-ws b/container_files/usr-local-bin/ui-ws
index de1384c4..5c78d720 100755
--- a/container_files/usr-local-bin/ui-ws
+++ b/container_files/usr-local-bin/ui-ws
@@ -7,4 +7,4 @@ prepWS
 
 export LD_LIBRARY_PATH=/opt/shibboleth/lib64:$LD_LIBRARY_PATH
 
-/usr/bin/supervisord -c /opt/tier-support/supervisord-tomcat.conf
+exec /usr/bin/supervisord -c /opt/tier-support/supervisord-tomee.conf

From 16229851c2ab14ab0c6184da0b76bff08f0dee87 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 20 Feb 2020 14:08:07 -0500
Subject: [PATCH 53/84] Update ws

---
 container_files/usr-local-bin/ws | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/container_files/usr-local-bin/ws b/container_files/usr-local-bin/ws
index 0e10b688..2cad6dbd 100755
--- a/container_files/usr-local-bin/ws
+++ b/container_files/usr-local-bin/ws
@@ -4,4 +4,4 @@
 
 prepWS
 
-exec /usr/bin/supervisord -c /opt/tier-support/supervisord-tomcat.conf
+exec /usr/bin/supervisord -c /opt/tier-support/supervisord-tomee.conf

From 8d6a97945d75cca685ca0c2e20a5ffddce06a339 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 20 Feb 2020 14:16:32 -0500
Subject: [PATCH 54/84] Update Dockerfile

---
 Dockerfile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 1d54b570..ae5d16fc 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -75,7 +75,8 @@ COPY --from=cleanup /opt/grouper/ /opt/grouper/
 RUN groupadd -r tomcat \
     && useradd -r -m -s /sbin/nologin -g tomcat tomcat \
     && chown -R tomcat:tomcat /opt/tomee  \
-    && ln -s $JAVA_HOME/bin/java /etc/alternatives/java
+    && ln -s $JAVA_HOME/bin/java /etc/alternatives/java &&
+    mkdir -p /opt/tomee/conf/Catalina/localhost/
 
 COPY container_files/tier-support/ /opt/tier-support/
 COPY container_files/usr-local-bin/ /usr/local/bin/

From 50d594a0dd3991d391d895a7b4c092e4b0446296 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 20 Feb 2020 14:17:35 -0500
Subject: [PATCH 55/84] Update Dockerfile

---
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index ae5d16fc..65a18974 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -75,8 +75,8 @@ COPY --from=cleanup /opt/grouper/ /opt/grouper/
 RUN groupadd -r tomcat \
     && useradd -r -m -s /sbin/nologin -g tomcat tomcat \
     && chown -R tomcat:tomcat /opt/tomee  \
-    && ln -s $JAVA_HOME/bin/java /etc/alternatives/java &&
-    mkdir -p /opt/tomee/conf/Catalina/localhost/
+    && ln -s $JAVA_HOME/bin/java /etc/alternatives/java \
+    && mkdir -p /opt/tomee/conf/Catalina/localhost/
 
 COPY container_files/tier-support/ /opt/tier-support/
 COPY container_files/usr-local-bin/ /usr/local/bin/

From dcaece9411a20884d6d931407686618a0758e7f0 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 20 Feb 2020 14:22:56 -0500
Subject: [PATCH 56/84] remove extra log entry prefixes

---
 Dockerfile | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 65a18974..4b1b6c18 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -82,13 +82,8 @@ COPY container_files/tier-support/ /opt/tier-support/
 COPY container_files/usr-local-bin/ /usr/local/bin/
 COPY container_files/httpd/* /etc/httpd/conf.d/
 COPY container_files/shibboleth/* /etc/shibboleth/
-RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
-    && sed -i 's/LogFormat "/LogFormat "httpd;access_log;%{ENV}e;%{USERTOKEN}e;/g' /etc/httpd/conf/httpd.conf \
-    && echo -e "\nErrorLogFormat \"httpd;error_log;%{ENV}e;%{USERTOKEN}e;[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i\"" >> /etc/httpd/conf/httpd.conf \
-    && sed -i 's/CustomLog "logs\/access_log"/CustomLog "\/tmp\/logpipe"/g' /etc/httpd/conf/httpd.conf \
-    && sed -i 's/ErrorLog "logs\/error_log"/ErrorLog "\/tmp\/logpipe"/g' /etc/httpd/conf/httpd.conf \
-    && echo -e "\nPassEnv ENV" >> /etc/httpd/conf/httpd.conf \
-    && echo -e "\nPassEnv USERTOKEN" >> /etc/httpd/conf/httpd.conf
+RUN cp /dev/null /etc/httpd/conf.d/ssl.conf 
+
 WORKDIR /opt/grouper/grouperWebapp
 EXPOSE 80 443
 HEALTHCHECK NONE

From 71ba05153d7e734b7263616746ed875556fd3e89 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Tue, 25 Feb 2020 14:20:01 -0500
Subject: [PATCH 57/84] Update library.sh

---
 container_files/usr-local-bin/library.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh
index e9ae27be..d682fa9d 100755
--- a/container_files/usr-local-bin/library.sh
+++ b/container_files/usr-local-bin/library.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-local dest=/opt/grouper/grouperWebapp/WEB-INF/
+dest=/opt/grouper/grouperWebapp/WEB-INF/
 
 
 setupPipe() {
@@ -34,7 +34,7 @@ setupShibdLogPipe() {
 
 setupTomcatLogPipe() {
     setupPipe /tmp/logtomcat
-    (cat <> /tmp/logtomcat | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "tomcat;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' &>/tmp/logpipe) &
+    (cat <> /tmp/logtomcat | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "tomee;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' &>/tmp/logpipe) &
 }
 
 setupSupervisordLogPipe() {
@@ -48,7 +48,7 @@ linkGrouperSecrets() {
         local file=$(echo $label_file| cut -d'_' -f 2)
 
         if [[ $label_file == grouper_* ]]; then
-            ln -sf /run/secrets/$label_file $1/$file
+            ln -sf /run/secrets/$label_file $dest/classes/$file
         elif [[ $label_file == shib_* ]]; then
             ln -sf /run/secrets/$label_file /etc/shibboleth/$file
         elif [[ $label_file == httpd_* ]]; then

From 23ae6b2308f2637c92dffd947b1f493b668b7cda Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Wed, 26 Feb 2020 14:08:28 -0500
Subject: [PATCH 59/84] update path to gsh

---
 container_files/usr-local-bin/gsh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/container_files/usr-local-bin/gsh b/container_files/usr-local-bin/gsh
index e65979ab..f0e21360 100755
--- a/container_files/usr-local-bin/gsh
+++ b/container_files/usr-local-bin/gsh
@@ -6,4 +6,4 @@ prepDaemon
 
 export GSH_JVMARGS="$GSH_JVMARGS -DENV=$ENV -DUSERTOKEN=$USERTOKEN"
 
-exec bin/gsh "$@" | tee /tmp/loggrouper
+exec WEB-INF/bin/gsh.sh "$@" | tee /tmp/loggrouper

From 4c5676326ef4584fd780a1dad00d5bdb8f2f2957 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Wed, 26 Feb 2020 14:40:22 -0500
Subject: [PATCH 60/84] Update Dockerfile

---
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 4b1b6c18..ad1ec264 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -61,7 +61,7 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
 ARG GROUPER_CONTAINER_VERSION
 ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto \
     PATH=$PATH:$JAVA_HOME/bin \
-    GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF \
+    GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF/classes \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
 RUN yum update -y \
@@ -84,7 +84,7 @@ COPY container_files/httpd/* /etc/httpd/conf.d/
 COPY container_files/shibboleth/* /etc/shibboleth/
 RUN cp /dev/null /etc/httpd/conf.d/ssl.conf 
 
-WORKDIR /opt/grouper/grouperWebapp
+WORKDIR /opt/grouper/grouperWebapp/WEB-INF
 EXPOSE 80 443
 HEALTHCHECK NONE
 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

From b8f351e42f4a458c24f860bae475b15cc7a938fe Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Wed, 26 Feb 2020 15:20:34 -0500
Subject: [PATCH 61/84] Update Dockerfile

---
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index ad1ec264..4c65b4b1 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -61,7 +61,7 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
 ARG GROUPER_CONTAINER_VERSION
 ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto \
     PATH=$PATH:$JAVA_HOME/bin \
-    GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF/classes \
+    GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF/ \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
 RUN yum update -y \
@@ -84,7 +84,7 @@ COPY container_files/httpd/* /etc/httpd/conf.d/
 COPY container_files/shibboleth/* /etc/shibboleth/
 RUN cp /dev/null /etc/httpd/conf.d/ssl.conf 
 
-WORKDIR /opt/grouper/grouperWebapp/WEB-INF
+WORKDIR /opt/grouper/grouperWebapp/WEB-INF/
 EXPOSE 80 443
 HEALTHCHECK NONE
 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

From e1769e31154b9199cc6ee801bdce9671633cf320 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Wed, 26 Feb 2020 15:43:38 -0500
Subject: [PATCH 62/84] Update gsh

---
 container_files/usr-local-bin/gsh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/container_files/usr-local-bin/gsh b/container_files/usr-local-bin/gsh
index f0e21360..1473da7e 100755
--- a/container_files/usr-local-bin/gsh
+++ b/container_files/usr-local-bin/gsh
@@ -6,4 +6,4 @@ prepDaemon
 
 export GSH_JVMARGS="$GSH_JVMARGS -DENV=$ENV -DUSERTOKEN=$USERTOKEN"
 
-exec WEB-INF/bin/gsh.sh "$@" | tee /tmp/loggrouper
+exec bin/gsh.sh "$@" | tee /tmp/loggrouper

From eee48a805aeb0ea0464a301da37a45e54272b1ec Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Wed, 26 Feb 2020 15:45:40 -0500
Subject: [PATCH 63/84] Update Dockerfile

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 4c65b4b1..a49787ac 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -61,7 +61,7 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
 ARG GROUPER_CONTAINER_VERSION
 ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto \
     PATH=$PATH:$JAVA_HOME/bin \
-    GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF/ \
+    GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
 RUN yum update -y \

From ab3ad4eff8d0caf02557c56499c2d9a699c1fa4b Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 10:09:31 -0500
Subject: [PATCH 64/84] Update common.bash

---
 common.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common.bash b/common.bash
index 22fbc6a9..145a8c5c 100644
--- a/common.bash
+++ b/common.bash
@@ -1,2 +1,2 @@
-maintainer="tier"
+maintainer="itap"
 imagename="grouper"

From fcc3bbda61744668ff9a9ff275c4c06909b44e04 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 10:17:06 -0500
Subject: [PATCH 65/84] Update Jenkinsfile

---
 Jenkinsfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 678a2148..76cfa5b0 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -56,7 +56,7 @@ pipeline {
                       }
                   } catch(error) {
                      def error_details = readFile('./debug');
-                     def message = "BUILD ERROR: There was a problem building ${imagename}:${tag}. \n\n ${error_details}"
+                      def message = "BUILD ERROR: There was a problem building ${maintainer}/${imagename}:${tag}. \n\n ${error_details}"
                      sh "rm -f ./debug"
                      handleError(message)
                   }
@@ -70,7 +70,7 @@ pipeline {
                      sh 'bin/test.sh 2>&1 | tee debug ; test ${PIPESTATUS[0]} -eq 0'
                    } catch (error) {
                      def error_details = readFile('./debug')
-                     def message = "BUILD ERROR: There was a problem testing ${imagename}:${tag}. \n\n ${error_details}"
+                     def message = "BUILD ERROR: There was a problem testing ${maintainer}/${imagename}:${tag}. \n\n ${error_details}"
                      sh "rm -f ./debug"
                      handleError(message)
                    } 

From 8848cbc1cfcea4030eadab4e85f53f08f48b08d1 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 10:27:51 -0500
Subject: [PATCH 66/84] jenkins cred for itap

---
 Jenkinsfile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 76cfa5b0..c22f2903 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -51,7 +51,8 @@ pipeline {
             steps {
                 script {
                   try{
-                      docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
+                      // statically defining jenkins credential value dockerhub-tier
+                      docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-tier") {
                         baseImg = docker.build("$maintainer/$imagename", "--build-arg GROUPER_CONTAINER_VERSION=$tag --no-cache .")
                       }
                   } catch(error) {

From 623618ef1261706b33854c78978ca2748e49793e Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 10:37:59 -0500
Subject: [PATCH 67/84] install rsync

---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index a49787ac..6262ff48 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@ RUN yum update -y \
     && yum install -y wget tar unzip dos2unix \
     && yum clean all
     
-RUN yum install -y wget tar unzip dos2unix
+RUN yum install -y wget tar unzip dos2unix rsync
     
 ARG GROUPER_CONTAINER_VERSION
 ENV GROUPER_VERSION=2.5.11 \

From e57e1ecd7f775f67a39121eff817c98d0f0c0b1f Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 10:38:41 -0500
Subject: [PATCH 68/84] Update library.sh

---
 container_files/usr-local-bin/library.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh
index d682fa9d..808ad973 100755
--- a/container_files/usr-local-bin/library.sh
+++ b/container_files/usr-local-bin/library.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 dest=/opt/grouper/grouperWebapp/WEB-INF/
-
+rsync -l -r -v /opt/grouper/slashRoot/ /
 
 setupPipe() {
     if [ -e $1 ]; then

From cdfac0c23c25d58570ce08edc7a3bf1e8c0fe8be Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 10:52:59 -0500
Subject: [PATCH 69/84] Update Jenkinsfile

---
 Jenkinsfile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index c22f2903..98b3afb7 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -82,7 +82,8 @@ pipeline {
         stage('Push') {
             steps {
                 script {
-                        docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-$maintainer") {
+                        // statically defining jenkins credential value dockerhub-tier
+                        docker.withRegistry('https://registry.hub.docker.com/',   "dockerhub-tier") {
                         baseImg.push("$tag")
                       }
                   }

From b47a490af56b8905b475408938ab45e7f492d335 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 11:16:36 -0500
Subject: [PATCH 70/84] Update Dockerfile

---
 test-compose/daemon/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-compose/daemon/Dockerfile b/test-compose/daemon/Dockerfile
index f6203505..58d5868b 100644
--- a/test-compose/daemon/Dockerfile
+++ b/test-compose/daemon/Dockerfile
@@ -1,4 +1,4 @@
-FROM tier/grouper:latest
+FROM itap/grouper:latest
 
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>"
 

From 741a1a201ef200632d5bb0e11a2516f8adbbd7a7 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 11:16:49 -0500
Subject: [PATCH 71/84] Update Dockerfile

---
 test-compose/data/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-compose/data/Dockerfile b/test-compose/data/Dockerfile
index 5b3ec01c..5635878d 100644
--- a/test-compose/data/Dockerfile
+++ b/test-compose/data/Dockerfile
@@ -1,4 +1,4 @@
-FROM tier/grouper:latest
+FROM itap/grouper:latest
 
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>"
  

From 5554028f6508d1c6e551d7fd8d6e62c6f1443bf1 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 11:17:00 -0500
Subject: [PATCH 72/84] Update Dockerfile

---
 test-compose/gsh/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-compose/gsh/Dockerfile b/test-compose/gsh/Dockerfile
index 33023280..5d0cf039 100644
--- a/test-compose/gsh/Dockerfile
+++ b/test-compose/gsh/Dockerfile
@@ -1,4 +1,4 @@
-FROM tier/grouper:latest
+FROM itap/grouper:latest
 
 MAINTAINER tier-packaging@internet2.edu <tier-packaging@internet2.edu>
 

From 96bf2937c2abd636b104831deb78e78422516166 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 11:17:19 -0500
Subject: [PATCH 73/84] Update Dockerfile

---
 test-compose/scim/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-compose/scim/Dockerfile b/test-compose/scim/Dockerfile
index 6b62e1fc..df8d5d73 100644
--- a/test-compose/scim/Dockerfile
+++ b/test-compose/scim/Dockerfile
@@ -1,4 +1,4 @@
-FROM tier/grouper:latest
+FROM itap/grouper:latest
 
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>"
 

From 20d913fa34f3df60d0a8e83ba276d4c13c8516fd Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 11:17:30 -0500
Subject: [PATCH 74/84] Update Dockerfile

---
 test-compose/ui/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-compose/ui/Dockerfile b/test-compose/ui/Dockerfile
index 8fec2ae0..059db78f 100644
--- a/test-compose/ui/Dockerfile
+++ b/test-compose/ui/Dockerfile
@@ -1,4 +1,4 @@
-FROM tier/grouper:latest
+FROM itap/grouper:latest
 
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>"
 

From c9c214be0e087c2b6745839c5be0ceee7aa429ff Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 11:17:41 -0500
Subject: [PATCH 75/84] Update Dockerfile

---
 test-compose/ws/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-compose/ws/Dockerfile b/test-compose/ws/Dockerfile
index f5c06b96..c56b6972 100644
--- a/test-compose/ws/Dockerfile
+++ b/test-compose/ws/Dockerfile
@@ -1,4 +1,4 @@
-FROM tier/grouper:latest
+FROM itap/grouper:latest
 
 LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>"
 

From 0352dedb3181cad3a32729d9f00baa4cded69ee0 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 11:54:25 -0500
Subject: [PATCH 76/84] Update manualBuild.sh

---
 manualBuild.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/manualBuild.sh b/manualBuild.sh
index 67b7d8a8..16fcc3f4 100755
--- a/manualBuild.sh
+++ b/manualBuild.sh
@@ -1,4 +1,4 @@
-docker build --pull --tag=tier/grouper:latest . \
+docker build --pull --tag=itap/grouper:latest . \
 
 if [[ "$OSTYPE" == "darwin"* ]]; then
   say build complete

From 4458c674452301f41e0574cf94aec609df80141a Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 12:00:48 -0500
Subject: [PATCH 77/84] Update library.sh

---
 container_files/usr-local-bin/library.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh
index 808ad973..8341810f 100755
--- a/container_files/usr-local-bin/library.sh
+++ b/container_files/usr-local-bin/library.sh
@@ -1,7 +1,11 @@
 #!/bin/sh
 
 dest=/opt/grouper/grouperWebapp/WEB-INF/
-rsync -l -r -v /opt/grouper/slashRoot/ /
+
+if [ -d "/opt/grouper/slashRoot" ]; then
+    # Copy any files into the root filesystem
+    rsync -l -r -v /opt/grouper/slashRoot/ /
+fi
 
 setupPipe() {
     if [ -e $1 ]; then

From 79dad0ba27fa32c08f921f3ce0a3b737e164744c Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 12:08:45 -0500
Subject: [PATCH 78/84] Update Dockerfile

---
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 6262ff48..bb0910d7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@ RUN yum update -y \
     && yum install -y wget tar unzip dos2unix \
     && yum clean all
     
-RUN yum install -y wget tar unzip dos2unix rsync
+RUN yum install -y wget tar unzip dos2unix
     
 ARG GROUPER_CONTAINER_VERSION
 ENV GROUPER_VERSION=2.5.11 \
@@ -65,7 +65,7 @@ ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto \
     GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
 RUN yum update -y \
-    && yum install -y cron logrotate python-pip \
+    && yum install -y cron logrotate python-pip rsync \
     && pip install --upgrade pip \
     && pip install supervisor \
     && yum clean -y all

From 75e7b7c91acb09f218587af763c992632e16a9d1 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Thu, 27 Feb 2020 14:18:57 -0500
Subject: [PATCH 79/84] Update grouper.installer.properties

---
 container_files/grouper.installer.properties | 1 +
 1 file changed, 1 insertion(+)

diff --git a/container_files/grouper.installer.properties b/container_files/grouper.installer.properties
index ca84b7d9..207d0d61 100644
--- a/container_files/grouper.installer.properties
+++ b/container_files/grouper.installer.properties
@@ -1,3 +1,4 @@
 download.server.url = https://software.internet2.edu/grouper
 grouperInstaller.default.installOrUpgrade = buildContainer
 grouperInstaller.autorun.useDefaultsAsMuchAsAvailable = true
+grouperInstaller.webAppWillBeInContainer = /opt/grouper/grouperWebapp

From 45454fdf954c8581082a2a3106094026621452d7 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 2 Mar 2020 09:24:15 -0500
Subject: [PATCH 80/84] Update Dockerfile

---
 Dockerfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index bb0910d7..6d868784 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,7 +6,7 @@ RUN yum update -y \
 RUN yum install -y wget tar unzip dos2unix
     
 ARG GROUPER_CONTAINER_VERSION
-ENV GROUPER_VERSION=2.5.11 \
+ENV GROUPER_VERSION=2.5.12 \
      GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION
 
 # Install Corretto Java JDK
@@ -32,7 +32,7 @@ RUN echo 'Installing Grouper'; \
     cd /opt/grouper/$GROUPER_VERSION/ \
     && $JAVA_HOME/bin/java -cp :grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller
 FROM centos:centos7 as cleanup
-ENV GROUPER_VERSION=2.5.11 \
+ENV GROUPER_VERSION=2.5.12 \
     TOMEE_VERSION=7.0.0
 RUN mkdir -p /opt/grouper/grouperWebapp/
 RUN mkdir -p /opt/tomee/

From 31169651f7ec1f772ad44c6aaf0c57b8a69b74c3 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 2 Mar 2020 11:37:57 -0500
Subject: [PATCH 81/84] Rename server.xml to server.xml.disabled

---
 container_files/tomee/conf/{server.xml => server.xml.disabled} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename container_files/tomee/conf/{server.xml => server.xml.disabled} (99%)

diff --git a/container_files/tomee/conf/server.xml b/container_files/tomee/conf/server.xml.disabled
similarity index 99%
rename from container_files/tomee/conf/server.xml
rename to container_files/tomee/conf/server.xml.disabled
index e5c89967..e09ea6fc 100644
--- a/container_files/tomee/conf/server.xml
+++ b/container_files/tomee/conf/server.xml.disabled
@@ -161,4 +161,4 @@
       </Host>
     </Engine>
   </Service>
-</Server>
\ No newline at end of file
+</Server>

From 195559d29abc3c32d36553a9e156a5c017d9c2ad Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 2 Mar 2020 11:38:12 -0500
Subject: [PATCH 82/84] Rename server.xml to server.xml.disabled

---
 container_files/tomcat/conf/{server.xml => server.xml.disabled} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename container_files/tomcat/conf/{server.xml => server.xml.disabled} (100%)

diff --git a/container_files/tomcat/conf/server.xml b/container_files/tomcat/conf/server.xml.disabled
similarity index 100%
rename from container_files/tomcat/conf/server.xml
rename to container_files/tomcat/conf/server.xml.disabled

From bb75072476aa105e39e6720bb94613ed859f59f5 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 2 Mar 2020 12:47:09 -0500
Subject: [PATCH 83/84] added flags for components

---
 container_files/usr-local-bin/library.sh | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh
index 8341810f..c1a1f224 100755
--- a/container_files/usr-local-bin/library.sh
+++ b/container_files/usr-local-bin/library.sh
@@ -64,6 +64,9 @@ linkGrouperSecrets() {
 }
 
 prepDaemon() {
+    export GROUPER_DAEMON=true
+    export RUN_TOMEE=true
+
     setupLoggingPipe
     setupGrouperLogPipe
     cp /opt/tier-support/grouper.xml /opt/tomee/conf/Catalina/localhost/
@@ -81,6 +84,10 @@ prepDaemonConf() {
 }
 
 prepSCIM() {
+    export GROUPER_SCIM=true
+    export RUN_APACHE=true
+    export RUN_TOMEE=true
+
     setupLoggingPipe
     setupGrouperLogPipe
     setupHttpdLogPipe
@@ -103,6 +110,11 @@ prepSCIMConf() {
 }
 
 prepUI() {
+    export GROUPER_UI=true
+    export RUN_APACHE=true
+    export RUN_SHIB_SP=true
+    export RUN_TOMEE=true
+
     setupLoggingPipe
     setupGrouperLogPipe
     setupHttpdLogPipe
@@ -125,6 +137,10 @@ prepUIConf() {
 }
 
 prepWS() {
+
+    export GROUPER_WS=true
+    export RUN_APACHE=true
+    export RUN_TOMEE=true
     setupLoggingPipe
     setupGrouperLogPipe
     setupHttpdLogPipe

From bd3dfa8f3720eeb5456fe6bbdfdcca8eb587df22 Mon Sep 17 00:00:00 2001
From: Christopher Hubing <chubing@internet2.edu>
Date: Mon, 2 Mar 2020 13:36:55 -0500
Subject: [PATCH 84/84] Update common.bash

---
 common.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common.bash b/common.bash
index 145a8c5c..cc96a899 100644
--- a/common.bash
+++ b/common.bash
@@ -1,2 +1,2 @@
-maintainer="itap"
+maintainer="i2incommon"
 imagename="grouper"