diff --git a/Dockerfile b/Dockerfile index 31ca6e24..387a76cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -49,7 +49,6 @@ RUN ls /opt/grouper/grouperWebapp/WEB-INF 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.1.0_04172020 diff --git a/container_files/api/log4j.properties b/container_files/api/log4j.properties index 9b9c5d4e..f2dff0a1 100644 --- a/container_files/api/log4j.properties +++ b/container_files/api/log4j.properties @@ -31,14 +31,14 @@ log4j.appender.grouper_event = org.apache.log4j.FileA log4j.appender.grouper_event.file = /tmp/logpipe log4j.appender.grouper_event.append = true log4j.appender.grouper_event.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_event.layout.ConversionPattern = grouper-api;grouper_event.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_event.layout.ConversionPattern = __GROUPER_LOG_PREFIX__;grouper_event.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Grouper API error logging log4j.appender.grouper_error = org.apache.log4j.FileAppender log4j.appender.grouper_error.file = /tmp/logpipe log4j.appender.grouper_errot.append = true log4j.appender.grouper_error.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_error.layout.ConversionPattern = grouper-api;grouper_error.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_error.layout.ConversionPattern = __GROUPER_LOG_PREFIX__;grouper_error.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n #log4j.appender.grouper_error.layout.ConversionPattern = %d{ISO8601}: %m%n # Debug logging (Or: logging that I haven't cleaned up yet to send elsewhere) @@ -47,7 +47,7 @@ log4j.appender.grouper_debug.file = /tmp/logpipe log4j.appender.grouper_debug.append = true log4j.appender.grouper_debug.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_debug.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_debug.layout.ConversionPattern = grouper-api;grouper_debug.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_debug.layout.ConversionPattern = __GROUPER_LOG_PREFIX__;grouper_debug.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Benchmark logging log4j.appender.grouper_gb = org.apache.log4j.FileAppender @@ -55,7 +55,7 @@ log4j.appender.grouper_gb.file = /tmp/logpipe log4j.appender.grouper_gb.append = true log4j.appender.grouper_gb.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_gb.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_gb.layout.ConversionPattern = grouper-api;grouper_bench.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_gb.layout.ConversionPattern = __GROUPER_LOG_PREFIX__;grouper_bench.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n # Loggers diff --git a/container_files/ui/classes/grouper-ui.properties b/container_files/ui/classes/grouper-ui.properties deleted file mode 100644 index 80fbee1e..00000000 --- a/container_files/ui/classes/grouper-ui.properties +++ /dev/null @@ -1,12 +0,0 @@ -# -# Grouper UI configuration -# $Id: grouper.client.example.properties,v 1.24 2009-12-30 04:23:02 mchyzer Exp $ -# - -# The grouper-ui.properties uses Grouper Configuration Overlays (documented on wiki) -# By default the configuration is read from grouper-ui.base.properties -# (which should not be edited), and the grouper-ui.properties overlays -# the base settings. See the grouper-ui.base.properties for the possible -# settings that can be applied to the grouper-ui.properties - -grouperUi.logout.redirectToUrl=/Shibboleth.sso/Logout \ No newline at end of file diff --git a/container_files/ui/classes/log4j.properties b/container_files/ui/classes/log4j.properties deleted file mode 100644 index 12e5eff8..00000000 --- a/container_files/ui/classes/log4j.properties +++ /dev/null @@ -1,144 +0,0 @@ - -# -# 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. -# - -#/opt/grouper/2.3.0/grouper.apiBinary-2.3.0/ will be substituted with the System property "grouper.home", which must have a trailing \ or / -# depending on your OS. Of course you can use absolute paths if you prefer - - -# -# log4j Configuration -# $Id: log4j.example.properties,v 1.13 2009-12-18 13:56:51 tzeller Exp $ -# - -# Appenders - -## Grouper API event logging -log4j.appender.grouper_event = org.apache.log4j.FileAppender -log4j.appender.grouper_event.file = /tmp/logpipe -log4j.appender.grouper_event.append = true -log4j.appender.grouper_event.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_event.layout.ConversionPattern = grouper-ui;grouper_event.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n - -## Grouper API error logging -log4j.appender.grouper_error = org.apache.log4j.FileAppender -log4j.appender.grouper_error.file = /tmp/logpipe -log4j.appender.grouper_errot.append = true -log4j.appender.grouper_error.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_error.layout.ConversionPattern = grouper-ui;grouper_error.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n -#log4j.appender.grouper_error.layout.ConversionPattern = %d{ISO8601}: %m%n - -# Debug logging (Or: logging that I haven't cleaned up yet to send elsewhere) -log4j.appender.grouper_debug = org.apache.log4j.FileAppender -log4j.appender.grouper_debug.file = /tmp/logpipe -log4j.appender.grouper_debug.append = true -log4j.appender.grouper_debug.layout = org.apache.log4j.PatternLayout -#log4j.appender.grouper_debug.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_debug.layout.ConversionPattern = grouper-ui;grouper_debug.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n - -## Benchmark logging -log4j.appender.grouper_gb = org.apache.log4j.FileAppender -log4j.appender.grouper_gb.file = /tmp/logpipe -log4j.appender.grouper_gb.append = true -log4j.appender.grouper_gb.layout = org.apache.log4j.PatternLayout -#log4j.appender.grouper_gb.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_gb.layout.ConversionPattern = grouper-ui;grouper_bench.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n - -# Loggers - -## Default logger; will log *everything* -log4j.rootLogger = ERROR, grouper_error - -## All Internet2 (warn to grouper_error per default logger) -log4j.logger.edu.internet2.middleware = WARN - - -# Provisioning : PSP (version 2.1+) -log4j.logger.edu.internet2.middleware.psp = INFO - -# Provisioning : vt-ldap -# log4j.logger.edu.vt.middleware.ldap = INFO - -# Provisioning : Grouper plugin to Shibboleth attribute resolver -# log4j.logger.edu.internet2.middleware.grouper.shibboleth = INFO - - -# For more precise (or verbose) logging, enable one or more of the -# following logging directives. To remove duplicate entries, just change the -# level, and not where to send the logs -# http://robertmarkbramprogrammer.blogspot.com/2007/06/log4j-duplicate-lines-in-output.html - -## Grouper Event Logging -## * Logs at _info_ only -log4j.logger.edu.internet2.middleware.grouper.log.EventLog = INFO, grouper_event -log4j.logger.edu.internet2.middleware.grouper.RegistryInstall = INFO, grouper_event - -## Grouper Error Logging -## * Logs at _warn_, _fatal_ and _error_ only (by default this is WARN due to internet2 below) -#log4j.logger.edu.internet2.middleware.grouper = WARN, grouper_error - -## Grouper Debug Logging -## * NOTE: There is currently VERY LITTLE (useful) information sent to this. -## * Logs at _info_ only currently -#log4j.logger.edu.internet2.middleware.grouper = INFO, grouper_debug - -## Grouper XML Export + Import Logging -## TODO Integrate with normal logging -log4j.logger.edu.internet2.middleware.grouper.xml.XmlExporter = INFO, grouper_event -log4j.logger.edu.internet2.middleware.grouper.xml.XmlImporter = INFO, grouper_event - -## Grouper Benchmark Logging -log4j.logger.edu.internet2.middleware.grouper.bench = INFO, grouper_gb - -## Grouper script to add missing group sets -log4j.logger.edu.internet2.middleware.grouper.misc.AddMissingGroupSets = INFO, grouper_event - -## Grouper Sync Point in Time Tables -log4j.logger.edu.internet2.middleware.grouper.misc.SyncPITTables = INFO, grouper_event - -## Grouper Sync Stem Set Table -log4j.logger.edu.internet2.middleware.grouper.misc.SyncStemSets = INFO, grouper_event - -## Grouper Migrate Legacy Attributes -log4j.logger.edu.internet2.middleware.grouper.misc.MigrateLegacyAttributes = INFO, grouper_event - -### Subject API -#log4j.logger.edu.internet2.middleware.subject = ERROR, grouper_error -#log4j.logger.edu.internet2.middleware.subject.provider = ERROR, grouper_error -### Hibernate -#log4j.logger.org.hibernate = ERROR, grouper_error -### ehcache -#log4j.logger.net.sf.ehcache = ERROR, grouper_error -### Spring -#log4j.logger.org.springframework = ERROR, grouper_error - -## Grouper Stress Testing -log4j.logger.edu.internet2.middleware.grouper.stress = INFO, grouper_debug - - -####################################################### -##Optional settings for debug logs -####################################################### - -## Hooks debug info -#log4j.logger.edu.internet2.middleware.grouper.hooks.examples.GroupTypeTupleIncludeExcludeHook = DEBUG -#log4j.logger.edu.internet2.middleware.grouper.Group = DEBUG - -#log4j.logger.edu.internet2.middleware.grouper.hooks.examples.GroupTypeSecurityHook = DEBUG - - -# added by grouper-installer -log4j.logger.org.apache.tools.ant = WARN diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh index a22d72dd..cddab962 100755 --- a/container_files/usr-local-bin/library.sh +++ b/container_files/usr-local-bin/library.sh @@ -127,6 +127,19 @@ prepConf() { linkGrouperSecrets $dest/classes } +prepUIonly() { + if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-ui; fi +} +prepWSonly() { + if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-ws; fi +} +prepSCIMonly() { + if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-scim; fi +} +prepDaemonOnly() { + if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-daemon; fi +} + tomeeContextGrouperForUiOrAll() { # allow all grouper contexts to run rm /opt/tomee/conf/Catalina/localhost/grouper-ws.xml @@ -204,13 +217,6 @@ finishPrep() { cp /opt/grouper/grouperWebapp/WEB-INF/server.wsTomcatAuthn.xml /opt/tomee/conf/server.xml fi - # do this last - if [ "$GROUPER_CHOWN_DIRS" = "true" ] - then - chown -R tomcat:tomcat /opt/grouper/grouperWebapp - fi - - # construct the supervisord file based on FLAGS passed in or what was in CMD if [ "$RUN_HSQLDB" = "true" ] @@ -244,6 +250,7 @@ finishPrep() { cat /opt/tier-support/supervisord-shibsp.conf >> /opt/tier-support/supervisord.conf cp /opt/tier-support/httpd-shib.conf /etc/httpd/conf.d/ mv /etc/httpd/conf.d/shib.conf.dontuse /etc/httpd/conf.d/shib.conf + if [ -z "$GROUPERUI_LOGOUT_REDIRECTTOURL" ]; then export GROUPERUI_LOGOUT_REDIRECTTOURL=/Shibboleth.sso/Logout; fi fi # copy files to their appropriate locations based on passed in flags @@ -303,6 +310,29 @@ finishPrep() { fi fi + + if [ "$GROUPER_WS" = "true" ] && [ "$GROUPER_UI" != "true" ] && [ "$GROUPER_SCIM" != "true" ] && [ "$GROUPER_DAEMON" != "true" ] + then + prepWSonly + fi + + if [ "$GROUPER_WS" != "true" ] && [ "$GROUPER_UI" != "true" ] && [ "$GROUPER_SCIM" = "true" ] && [ "$GROUPER_DAEMON" != "true" ] + then + prepSCIMonly + fi + + if [ "$GROUPER_WS" != "true" ] && [ "$GROUPER_UI" = "true" ] && [ "$GROUPER_SCIM" != "true" ] && [ "$GROUPER_DAEMON" != "true" ] + then + prepUIonly + fi + + if [ "$GROUPER_WS" != "true" ] && [ "$GROUPER_UI" != "true" ] && [ "$GROUPER_SCIM" != "true" ] && [ "$GROUPER_DAEMON" = "true" ] + then + prepDaemonOnly + else + + if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper; fi + sed -i "s|__GROUPER_PROXY_PASS__|$GROUPER_LOG_PREFIX|g" /etc/httpd/conf.d/grouper-www.conf if [ "$SELF_SIGNED_CERT" = "true" ] then @@ -314,5 +344,11 @@ finishPrep() { export GROUPER_MAX_MEMORY=1500m fi + # do this last + if [ "$GROUPER_CHOWN_DIRS" = "true" ] + then + chown -R tomcat:tomcat /opt/grouper/grouperWebapp + fi + } diff --git a/container_files/ws/classes/log4j.properties b/container_files/ws/classes/log4j.properties deleted file mode 100644 index c104dc10..00000000 --- a/container_files/ws/classes/log4j.properties +++ /dev/null @@ -1,144 +0,0 @@ - -# -# 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.home} will be substituted with the System property "grouper.home", which must have a trailing \ or / -# depending on your OS. Of course you can use absolute paths if you prefer - - -# -# log4j Configuration -# $Id: log4j.example.properties,v 1.13 2009-12-18 13:56:51 tzeller Exp $ -# - -# Appenders - -## Grouper API event logging -log4j.appender.grouper_event = org.apache.log4j.FileAppender -log4j.appender.grouper_event.file = /tmp/logpipe -log4j.appender.grouper_event.append = true -log4j.appender.grouper_event.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_event.layout.ConversionPattern = grouper-ws;grouper_event.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n - -## Grouper API error logging -log4j.appender.grouper_error = org.apache.log4j.FileAppender -log4j.appender.grouper_error.file = /tmp/logpipe -log4j.appender.grouper_errot.append = true -log4j.appender.grouper_error.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_error.layout.ConversionPattern = grouper-ws;grouper_error.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n -#log4j.appender.grouper_error.layout.ConversionPattern = %d{ISO8601}: %m%n - -# Debug logging (Or: logging that I haven't cleaned up yet to send elsewhere) -log4j.appender.grouper_debug = org.apache.log4j.FileAppender -log4j.appender.grouper_debug.file = /tmp/logpipe -log4j.appender.grouper_debug.append = true -log4j.appender.grouper_debug.layout = org.apache.log4j.PatternLayout -#log4j.appender.grouper_debug.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_debug.layout.ConversionPattern = grouper-ws;grouper_debug.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n - -## Benchmark logging -log4j.appender.grouper_gb = org.apache.log4j.FileAppender -log4j.appender.grouper_gb.file = /tmp/logpipe -log4j.appender.grouper_gb.append = true -log4j.appender.grouper_gb.layout = org.apache.log4j.PatternLayout -#log4j.appender.grouper_gb.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_gb.layout.ConversionPattern = grouper-ws;grouper_bench.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n - -# Loggers - -## Default logger; will log *everything* -log4j.rootLogger = ERROR, grouper_error - -## All Internet2 (warn to grouper_error per default logger) -log4j.logger.edu.internet2.middleware = WARN - - -# Provisioning : PSP (version 2.1+) -log4j.logger.edu.internet2.middleware.psp = INFO - -# Provisioning : vt-ldap -# log4j.logger.edu.vt.middleware.ldap = INFO - -# Provisioning : Grouper plugin to Shibboleth attribute resolver -# log4j.logger.edu.internet2.middleware.grouper.shibboleth = INFO - - -# For more precise (or verbose) logging, enable one or more of the -# following logging directives. To remove duplicate entries, just change the -# level, and not where to send the logs -# http://robertmarkbramprogrammer.blogspot.com/2007/06/log4j-duplicate-lines-in-output.html - -## Grouper Event Logging -## * Logs at _info_ only -log4j.logger.edu.internet2.middleware.grouper.log.EventLog = INFO, grouper_event -log4j.logger.edu.internet2.middleware.grouper.RegistryInstall = INFO, grouper_event - -## Grouper Error Logging -## * Logs at _warn_, _fatal_ and _error_ only (by default this is WARN due to internet2 below) -#log4j.logger.edu.internet2.middleware.grouper = WARN, grouper_error - -## Grouper Debug Logging -## * NOTE: There is currently VERY LITTLE (useful) information sent to this. -## * Logs at _info_ only currently -#log4j.logger.edu.internet2.middleware.grouper = INFO, grouper_debug - -## Grouper XML Export + Import Logging -## TODO Integrate with normal logging -log4j.logger.edu.internet2.middleware.grouper.xml.XmlExporter = INFO, grouper_event -log4j.logger.edu.internet2.middleware.grouper.xml.XmlImporter = INFO, grouper_event - -## Grouper Benchmark Logging -log4j.logger.edu.internet2.middleware.grouper.bench = INFO, grouper_gb - -## Grouper script to add missing group sets -log4j.logger.edu.internet2.middleware.grouper.misc.AddMissingGroupSets = INFO, grouper_event - -## Grouper Sync Point in Time Tables -log4j.logger.edu.internet2.middleware.grouper.misc.SyncPITTables = INFO, grouper_event - -## Grouper Sync Stem Set Table -log4j.logger.edu.internet2.middleware.grouper.misc.SyncStemSets = INFO, grouper_event - -## Grouper Migrate Legacy Attributes -log4j.logger.edu.internet2.middleware.grouper.misc.MigrateLegacyAttributes = INFO, grouper_event - -### Subject API -#log4j.logger.edu.internet2.middleware.subject = ERROR, grouper_error -#log4j.logger.edu.internet2.middleware.subject.provider = ERROR, grouper_error -### Hibernate -#log4j.logger.org.hibernate = ERROR, grouper_error -### ehcache -#log4j.logger.net.sf.ehcache = ERROR, grouper_error -### Spring -#log4j.logger.org.springframework = ERROR, grouper_error - -## Grouper Stress Testing -log4j.logger.edu.internet2.middleware.grouper.stress = INFO, grouper_debug - - -####################################################### -##Optional settings for debug logs -####################################################### - -## Hooks debug info -#log4j.logger.edu.internet2.middleware.grouper.hooks.examples.GroupTypeTupleIncludeExcludeHook = DEBUG -#log4j.logger.edu.internet2.middleware.grouper.Group = DEBUG - -#log4j.logger.edu.internet2.middleware.grouper.hooks.examples.GroupTypeSecurityHook = DEBUG - - -# added by grouper-installer -log4j.logger.org.apache.tools.ant = WARN