From 9b56c850c08fc0307654a9b892764d4aa8da0084 Mon Sep 17 00:00:00 2001 From: Chris Hyzer Date: Thu, 28 Jan 2021 00:56:55 -0500 Subject: [PATCH] GRP-3102: add verbose starting output to container --- ...ouperContainerUnitTestUiSubimageNonroot.sh | 2 +- .../test/testContainer.Dockerfile | 4 +- container_files/usr-local-bin/changeGid.sh | 4 +- container_files/usr-local-bin/changeUid.sh | 4 +- container_files/usr-local-bin/gsh | 3 +- container_files/usr-local-bin/library.sh | 4 +- container_files/usr-local-bin/libraryPrep.sh | 214 ++++++++++++++---- .../usr-local-bin/libraryPrepOnly.sh | 60 ++++- .../usr-local-bin/librarySetupFiles.sh | 130 ++++++++--- .../usr-local-bin/librarySetupFilesApache.sh | 32 ++- .../librarySetupFilesForComponent.sh | 20 +- .../librarySetupFilesForProcess.sh | 40 +++- .../usr-local-bin/librarySetupFilesTomcat.sh | 89 ++++++-- .../usr-local-bin/librarySetupPipe.sh | 2 + 14 files changed, 472 insertions(+), 136 deletions(-) diff --git a/container_files/tier-support/test/grouperContainerUnitTestUiSubimageNonroot.sh b/container_files/tier-support/test/grouperContainerUnitTestUiSubimageNonroot.sh index a156cf0e..86c2c5d3 100644 --- a/container_files/tier-support/test/grouperContainerUnitTestUiSubimageNonroot.sh +++ b/container_files/tier-support/test/grouperContainerUnitTestUiSubimageNonroot.sh @@ -54,7 +54,7 @@ testContainerUiSubimageNonroot() { assertEnvVar GROUPER_APACHE_AJP_TIMEOUT_SECONDS "3600" assertEnvVar GROUPER_APACHE_NONSSL_PORT "80" assertEnvVar GROUPER_APACHE_SSL_PORT "443" - assertEnvVar GROUPER_CHOWN_DIRS "true" + assertEnvVarNot GROUPER_CHOWN_DIRS "true" assertEnvVar GROUPER_CONTAINER_VERSION "$containerVersion" assertEnvVar GROUPER_DAEMON "false" assertEnvVar GROUPER_GSH_CHECK_USER "true" diff --git a/container_files/tier-support/test/testContainer.Dockerfile b/container_files/tier-support/test/testContainer.Dockerfile index b1fbfc1b..2768d082 100644 --- a/container_files/tier-support/test/testContainer.Dockerfile +++ b/container_files/tier-support/test/testContainer.Dockerfile @@ -1,8 +1,8 @@ # this matches the version you decided on from release notes -ARG GROUPER_VERSION=2.5.XX +ARG GROUPER_VERSION=2.5.40 # --build-arg GROUPER_VERSION=${VARIABLE_NAME} i2incommon/grouper:${GROUPER_VERSION} -FROM __BASE_CONTAINER__ +FROM i2incommon/grouper:2.5.40 # this will overlay all the files from /opt/grouperContainer/slashRoot on to / COPY slashRoot / diff --git a/container_files/usr-local-bin/changeGid.sh b/container_files/usr-local-bin/changeGid.sh index 3cc49a09..b4e979da 100755 --- a/container_files/usr-local-bin/changeGid.sh +++ b/container_files/usr-local-bin/changeGid.sh @@ -13,6 +13,6 @@ newGid=$2 getentOutput="$(getent group "$groupname")" oldGid="$( echo "$getentOutput" |cut -d\: -f3 )" groupmod -g "$newGid" "$groupname" -echo "grouperContainer; INFO: (changeGid.sh) groupmod -g $newGid $groupname , result: $?" +echo "grouperContainer; INFO: (changeGid.sh) groupmod -g \"$newGid\" \"$groupname\" , result: $?" find / -xdev -type d -group "$oldGid" -exec chgrp -h "$groupname" {} \; -echo "grouperContainer; INFO: (changeGid.sh) find / -xdev -type d -group $oldGid -exec chgrp -h $groupname {} \; , result: $?" +echo "grouperContainer; INFO: (changeGid.sh) find / -xdev -type d -group \"$oldGid\" -exec chgrp -h \"$groupname\" {} \; , result: $?" diff --git a/container_files/usr-local-bin/changeUid.sh b/container_files/usr-local-bin/changeUid.sh index 39f5e3a4..fff9c631 100755 --- a/container_files/usr-local-bin/changeUid.sh +++ b/container_files/usr-local-bin/changeUid.sh @@ -12,6 +12,6 @@ username=$1 newUid=$2 oldUid="$(id -u "$username")" usermod -u "$newUid" "$username" -echo "grouperContainer; INFO: (changeUid.sh) usermod -u $newUid $username , result: $?" +echo "grouperContainer; INFO: (changeUid.sh) usermod -u \"$newUid\" \"$username\" , result: $?" find / -xdev -type d -user "$oldUid" -exec chown -h "$username" {} \; -echo "grouperContainer; INFO: (changeUid.sh) find / -xdev -type d -user $oldUid -exec chown -h $username {} \; , result: $?" +echo "grouperContainer; INFO: (changeUid.sh) find / -xdev -type d -user \"$oldUid\" -exec chown -h \"$username\" {} \; , result: $?" diff --git a/container_files/usr-local-bin/gsh b/container_files/usr-local-bin/gsh index c2afae14..8aab4b87 100755 --- a/container_files/usr-local-bin/gsh +++ b/container_files/usr-local-bin/gsh @@ -10,9 +10,10 @@ export GSH_JVMARGS="$GSH_JVMARGS -DENV=$ENV -DUSERTOKEN=$USERTOKEN" # openshift cannot do whoami if [ "$GROUPER_GSH_CHECK_USER" = "true" ] && [ "$GROUPER_GSH_USER" != "$(whoami)" ] then + echo "grouperContainer; INFO: (gsh file) sudo --preserve-env -u tomcat bin/gsh.sh \"$@\" | tee /tmp/loggrouper" sudo --preserve-env -u tomcat bin/gsh.sh "$@" | tee /tmp/loggrouper else + echo "grouperContainer; INFO: (gsh file) bin/gsh.sh \"$@\" | tee /tmp/loggrouper" exec bin/gsh.sh "$@" | tee /tmp/loggrouper - fi diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh index ce90187c..0d411843 100755 --- a/container_files/usr-local-bin/library.sh +++ b/container_files/usr-local-bin/library.sh @@ -27,7 +27,9 @@ echo "grouperContainer; INFO: (library.sh) Start loading library.sh" # need this before the copy happens if [ -f /opt/grouper/slashRoot/usr/local/bin/grouperScriptHooks.sh ] ; then cp /opt/grouper/slashRoot/usr/local/bin/grouperScriptHooks.sh /usr/local/bin/grouperScriptHooks.sh - echo "grouperContainer; INFO: (library.sh) cp /opt/grouper/slashRoot/usr/local/bin/grouperScriptHooks.sh /usr/local/bin/grouperScriptHooks.sh, result=$?" + returnCode=$? + echo "grouperContainer; INFO: (library.sh) cp /opt/grouper/slashRoot/usr/local/bin/grouperScriptHooks.sh /usr/local/bin/grouperScriptHooks.sh, result=$returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi # implementations of custom hooks . /usr/local/bin/grouperScriptHooks.sh diff --git a/container_files/usr-local-bin/libraryPrep.sh b/container_files/usr-local-bin/libraryPrep.sh index a4d2d823..14f7a284 100644 --- a/container_files/usr-local-bin/libraryPrep.sh +++ b/container_files/usr-local-bin/libraryPrep.sh @@ -29,6 +29,7 @@ prep_openshift() { prep_quickstart() { if [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_quickstart) GROUPER_RUN_TOMCAT_NOT_SUPERVISOR is not true" if [ -z "$GROUPER_RUN_HSQLDB" ]; then echo "grouperContainer; INFO: (libraryPrep.sh-prep_quickstart) export GROUPER_RUN_HSQLDB=true" export GROUPER_RUN_HSQLDB=true @@ -110,10 +111,22 @@ prep_scim() { } prep_ui() { - if [ -z "$GROUPER_UI" ]; then export GROUPER_UI=true; fi - if [ -z "$GROUPER_RUN_APACHE" ] && [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ] && [ "$GROUPER_OPENSHIFT" != "true" ]; then export GROUPER_RUN_APACHE=true; fi - if [ -z "$GROUPER_RUN_SHIB_SP" ] && [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ] && [ "$GROUPER_OPENSHIFT" != "true" ]; then export GROUPER_RUN_SHIB_SP=true; fi - if [ -z "$GROUPER_RUN_TOMEE" ]; then export GROUPER_RUN_TOMEE=true; fi + if [ -z "$GROUPER_UI" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_ui) export GROUPER_UI=true" + export GROUPER_UI=true + fi + if [ -z "$GROUPER_RUN_APACHE" ] && [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ] && [ "$GROUPER_OPENSHIFT" != "true" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_ui) export GROUPER_RUN_APACHE=true" + export GROUPER_RUN_APACHE=true + fi + if [ -z "$GROUPER_RUN_SHIB_SP" ] && [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ] && [ "$GROUPER_OPENSHIFT" != "true" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_ui) export GROUPER_RUN_SHIB_SP=true" + export GROUPER_RUN_SHIB_SP=true + fi + if [ -z "$GROUPER_RUN_TOMEE" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_ui) export GROUPER_RUN_TOMEE=true" + export GROUPER_RUN_TOMEE=true + fi } prep_runUi() { @@ -121,8 +134,10 @@ prep_runUi() { then if [ "$GROUPER_UI" == 'true' ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_runUi) export GROUPER_PROXY_PASS=" export GROUPER_PROXY_PASS= else + echo "grouperContainer; INFO: (libraryPrep.sh-prep_runUi) export GROUPER_PROXY_PASS=#" export GROUPER_PROXY_PASS=# fi @@ -133,8 +148,10 @@ prep_runWs() { then if [ "$GROUPER_WS" == 'true' ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_runWs) export GROUPER_PROXY_PASS=" export GROUPERWS_PROXY_PASS= else + echo "grouperContainer; INFO: (libraryPrep.sh-prep_runWs) export GROUPER_PROXY_PASS=#" export GROUPERWS_PROXY_PASS=# fi @@ -145,8 +162,10 @@ prep_runScim() { then if [ "$GROUPER_SCIM" == 'true' ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_runScim) export GROUPER_PROXY_PASS=" export GROUPERSCIM_PROXY_PASS= else + echo "grouperContainer; INFO: (libraryPrep.sh-prep_runScim) export GROUPER_PROXY_PASS=#" export GROUPERSCIM_PROXY_PASS=# fi @@ -155,9 +174,18 @@ prep_runScim() { prep_ws() { - if [ -z "$GROUPER_WS" ]; then export GROUPER_WS=true; fi - if [ -z "$GROUPER_RUN_APACHE" ] && [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ] && [ "$GROUPER_OPENSHIFT" != "true" ] ; then export GROUPER_RUN_APACHE=true; fi - if [ -z "$GROUPER_RUN_TOMEE" ]; then export GROUPER_RUN_TOMEE=true; fi + if [ -z "$GROUPER_WS" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_ws) export GROUPER_WS=true" + export GROUPER_WS=true + fi + if [ -z "$GROUPER_RUN_APACHE" ] && [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ] && [ "$GROUPER_OPENSHIFT" != "true" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_ws) export GROUPER_RUN_APACHE=true" + export GROUPER_RUN_APACHE=true + fi + if [ -z "$GROUPER_RUN_TOMEE" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_ws) export GROUPER_RUN_TOMEE=true" + export GROUPER_RUN_TOMEE=true + fi } prep_conf() { @@ -191,26 +219,31 @@ prep_initDeprecatedEnvVars() { if [ ! -z "$RUN_APACHE" ] && [ -z "$GROUPER_RUN_APACHE" ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_initDeprecatedEnvVars) export GROUPER_RUN_APACHE=$RUN_APACHE" export GROUPER_RUN_APACHE="$RUN_APACHE" fi if [ ! -z "$RUN_SHIB_SP" ] && [ -z "$GROUPER_RUN_SHIB_SP" ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_initDeprecatedEnvVars) export GROUPER_RUN_SHIB_SP=$RUN_SHIB_SP" export GROUPER_RUN_SHIB_SP="$RUN_SHIB_SP" fi if [ ! -z "$RUN_TOMEE" ] && [ -z "$GROUPER_RUN_TOMEE" ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_initDeprecatedEnvVars) export GROUPER_RUN_TOMEE=$RUN_TOMEE" export GROUPER_RUN_TOMEE="$RUN_TOMEE" fi if [ ! -z "$RUN_HSQLDB" ] && [ -z "$GROUPER_RUN_HSQLDB" ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_initDeprecatedEnvVars) export GROUPER_RUN_HSQLDB=$RUN_HSQLDB" export GROUPER_RUN_HSQLDB="$RUN_HSQLDB" fi if [ ! -z "$SELF_SIGNED_CERT" ] && [ -z "$GROUPER_SELF_SIGNED_CERT" ] then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_initDeprecatedEnvVars) export GROUPER_SELF_SIGNED_CERT=$SELF_SIGNED_CERT" export GROUPER_SELF_SIGNED_CERT="$SELF_SIGNED_CERT" fi @@ -222,49 +255,130 @@ prep_finishBegin() { # morph defaults to null # database password defaults to null prep_openshift - if [ -z "$GROUPER_UI_GROUPER_AUTH" ] ; then export GROUPER_UI_GROUPER_AUTH=false; fi - if [ -z "$GROUPER_WS_GROUPER_AUTH" ] ; then export GROUPER_WS_GROUPER_AUTH=false; fi - if [ -z "$GROUPER_SCIM_GROUPER_AUTH" ] ; then export GROUPER_SCIM_GROUPER_AUTH=false; fi - if [ -z "$GROUPER_CHOWN_DIRS" ] ; then export GROUPER_CHOWN_DIRS=true; fi - if [ -z "$GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES" ]; then export GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES='127.0.0.1/32'; fi + if [ -z "$GROUPER_UI_GROUPER_AUTH" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_UI_GROUPER_AUTH=false" + export GROUPER_UI_GROUPER_AUTH=false + fi + if [ -z "$GROUPER_WS_GROUPER_AUTH" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_WS_GROUPER_AUTH=false" + export GROUPER_WS_GROUPER_AUTH=false + fi + if [ -z "$GROUPER_SCIM_GROUPER_AUTH" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_SCIM_GROUPER_AUTH=false" + export GROUPER_SCIM_GROUPER_AUTH=false + fi + if [ -z "$GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES='127.0.0.1/32'" + export GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES='127.0.0.1/32' + fi # GROUPER_AUTO_DDL_UPTOVERSION defaults to null # GROUPER_START_DELAY_SECONDS defaults to null - if [ -z "$GROUPER_UI" ] ; then export GROUPER_UI=false; fi - if [ -z "$GROUPER_SCIM" ] ; then export GROUPER_SCIM=false; fi - if [ -z "$GROUPER_WS" ] ; then export GROUPER_WS=false; fi - if [ -z "$GROUPER_DAEMON" ] ; then export GROUPER_DAEMON=false; fi - if [ -z "$GROUPER_USE_SSL" ]; then export GROUPER_USE_SSL=true; fi - if [ -z "$GROUPER_RUN_PROCESSES_AS_USERS" ]; then export GROUPER_RUN_PROCESSES_AS_USERS=true; fi + if [ -z "$GROUPER_UI" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) GROUPER_UI=false" + export GROUPER_UI=false + fi + if [ -z "$GROUPER_SCIM" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_SCIM=false" + export GROUPER_SCIM=false + fi + if [ -z "$GROUPER_WS" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_WS=false" + export GROUPER_WS=false + fi + if [ -z "$GROUPER_DAEMON" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_DAEMON=false" + export GROUPER_DAEMON=false + fi + if [ -z "$GROUPER_USE_SSL" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_USE_SSL=true" + export GROUPER_USE_SSL=true + fi + if [ -z "$GROUPER_RUN_PROCESSES_AS_USERS" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_RUN_PROCESSES_AS_USERS=true" + export GROUPER_RUN_PROCESSES_AS_USERS=true + fi # do these before the "only" component - if [ -z "$GROUPER_URL_CONTEXT" ] ; then export GROUPER_URL_CONTEXT=grouper; fi - if [ -z "$GROUPERWS_URL_CONTEXT" ] ; then export GROUPERWS_URL_CONTEXT=grouper-ws; fi - if [ -z "$GROUPERSCIM_URL_CONTEXT" ] ; then export GROUPERSCIM_URL_CONTEXT=grouper-ws-scim; fi - if [ -z "$GROUPER_APACHE_AJP_TIMEOUT_SECONDS" ] ; then export GROUPER_APACHE_AJP_TIMEOUT_SECONDS=3600; fi + if [ -z "$GROUPER_URL_CONTEXT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_URL_CONTEXT=grouper" + export GROUPER_URL_CONTEXT=grouper + fi + if [ -z "$GROUPERWS_URL_CONTEXT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPERWS_URL_CONTEXT=grouper-ws" + export GROUPERWS_URL_CONTEXT=grouper-ws + fi + if [ -z "$GROUPERSCIM_URL_CONTEXT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPERSCIM_URL_CONTEXT=grouper-ws-scim" + export GROUPERSCIM_URL_CONTEXT=grouper-ws-scim + fi + if [ -z "$GROUPER_APACHE_AJP_TIMEOUT_SECONDS" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_APACHE_AJP_TIMEOUT_SECONDS=3600" + export GROUPER_APACHE_AJP_TIMEOUT_SECONDS=3600 + fi - if [ -z "$GROUPER_APACHE_SSL_PORT" ] ; then export GROUPER_APACHE_SSL_PORT=443; fi - if [ -z "$GROUPER_APACHE_NONSSL_PORT" ] ; then export GROUPER_APACHE_NONSSL_PORT=80; fi - if [ -z "$GROUPER_APACHE_DIRECTORY_INDEXES" ] ; then export GROUPER_APACHE_DIRECTORY_INDEXES=false; fi + if [ -z "$GROUPER_APACHE_SSL_PORT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_APACHE_SSL_PORT=443" + export GROUPER_APACHE_SSL_PORT=443 + fi + if [ -z "$GROUPER_APACHE_NONSSL_PORT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_APACHE_NONSSL_PORT=80" + export GROUPER_APACHE_NONSSL_PORT=80 + fi + if [ -z "$GROUPER_APACHE_DIRECTORY_INDEXES" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_APACHE_DIRECTORY_INDEXES=false" + export GROUPER_APACHE_DIRECTORY_INDEXES=false + fi - if [ -z "$GROUPER_GSH_CHECK_USER" ] ; then export GROUPER_GSH_CHECK_USER=true; fi - if [ -z "$GROUPER_GSH_USER" ] ; then export GROUPER_GSH_USER=tomcat; fi + if [ -z "$GROUPER_GSH_CHECK_USER" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_GSH_CHECK_USER=true" + export GROUPER_GSH_CHECK_USER=true + fi + if [ -z "$GROUPER_GSH_USER" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_GSH_USER=tomcat" + export GROUPER_GSH_USER=tomcat + fi - if [ -z "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" ]; then export GROUPER_RUN_TOMCAT_NOT_SUPERVISOR=false; fi - - if [ -z "$GROUPER_TOMCAT_HTTP_PORT" ]; then export GROUPER_TOMCAT_HTTP_PORT=8080; fi - if [ -z "$GROUPER_TOMCAT_AJP_PORT" ]; then export GROUPER_TOMCAT_AJP_PORT=8009; fi - if [ -z "$GROUPER_TOMCAT_SHUTDOWN_PORT" ]; then export GROUPER_TOMCAT_SHUTDOWN_PORT=8005; fi + if [ -z "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_RUN_TOMCAT_NOT_SUPERVISOR=false" + export GROUPER_RUN_TOMCAT_NOT_SUPERVISOR=false + fi + if [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" = "true" ]; then + # if we are not running supervisor then default to not chown dirs + if [ -z "$GROUPER_CHOWN_DIRS" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_CHOWN_DIRS=false" + export GROUPER_CHOWN_DIRS=false + fi + fi + if [ -z "$GROUPER_CHOWN_DIRS" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_CHOWN_DIRS=true" + export GROUPER_CHOWN_DIRS=true + fi + if [ -z "$GROUPER_TOMCAT_HTTP_PORT" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_TOMCAT_HTTP_PORT=8080" + export GROUPER_TOMCAT_HTTP_PORT=8080 + fi + if [ -z "$GROUPER_TOMCAT_AJP_PORT" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_TOMCAT_AJP_PORT=8009" + export GROUPER_TOMCAT_AJP_PORT=8009 + fi + if [ -z "$GROUPER_TOMCAT_SHUTDOWN_PORT" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_TOMCAT_SHUTDOWN_PORT=8005" + export GROUPER_TOMCAT_SHUTDOWN_PORT=8005 + fi - if [ -z "$GROUPER_SHIB_LOG_USE_PIPE" ]; then export GROUPER_SHIB_LOG_USE_PIPE=true; fi + if [ -z "$GROUPER_SHIB_LOG_USE_PIPE" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) export GROUPER_SHIB_LOG_USE_PIPE=true" + export GROUPER_SHIB_LOG_USE_PIPE=true + fi #Replace web.xml session timeout with env variable if [[ -z "$GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES" ]]; then if [[ "$GROUPER_UI" != 'true' ]] && [[ "$GROUPER_WS" = 'true' ]]; then - echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) $ GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES is not set, setting to WS default of 1" + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) $ GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES is not set, export GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES=1" export GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES=1 else - echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) $ GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES is not set, setting to UI default of 600 (10 hours)" + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishBegin) $ GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES is not set, export GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES=600 (10 hours)" export GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES=600 fi @@ -274,12 +388,30 @@ prep_finishBegin() { prep_finishEnd() { # defaults after the "only" part - if [ -z "$GROUPER_TOMCAT_CONTEXT" ] ; then export GROUPER_TOMCAT_CONTEXT=grouper; fi - if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper; fi - if [ -z "$GROUPER_MAX_MEMORY" ]; then export GROUPER_MAX_MEMORY=1500m; fi - if [ -z "$GROUPER_CONTEXT_COOKIES" ]; then export GROUPER_CONTEXT_COOKIES=true; fi - if [ -z "$GROUPER_TOMCAT_LOG_ACCESS" ]; then export GROUPER_TOMCAT_LOG_ACCESS=false; fi - if [ "$GROUPER_RUN_SHIB_SP" = "true" ] && [ -z "$GROUPERUI_LOGOUT_REDIRECTTOURL" ]; then export GROUPERUI_LOGOUT_REDIRECTTOURL=/Shibboleth.sso/Logout; fi + if [ -z "$GROUPER_TOMCAT_CONTEXT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_TOMCAT_CONTEXT=grouper" + export GROUPER_TOMCAT_CONTEXT=grouper + fi + if [ -z "$GROUPER_LOG_PREFIX" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_LOG_PREFIX=grouper" + export GROUPER_LOG_PREFIX=grouper + fi + if [ -z "$GROUPER_MAX_MEMORY" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_MAX_MEMORY=1500m" + export GROUPER_MAX_MEMORY=1500m + fi + if [ -z "$GROUPER_CONTEXT_COOKIES" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_CONTEXT_COOKIES=true" + export GROUPER_CONTEXT_COOKIES=true + fi + if [ -z "$GROUPER_TOMCAT_LOG_ACCESS" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_TOMCAT_LOG_ACCESS=false" + export GROUPER_TOMCAT_LOG_ACCESS=false + fi + if [ "$GROUPER_RUN_SHIB_SP" = "true" ] && [ -z "$GROUPERUI_LOGOUT_REDIRECTTOURL" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPERUI_LOGOUT_REDIRECTTOURL=/Shibboleth.sso/Logout" + export GROUPERUI_LOGOUT_REDIRECTTOURL=/Shibboleth.sso/Logout + fi } diff --git a/container_files/usr-local-bin/libraryPrepOnly.sh b/container_files/usr-local-bin/libraryPrepOnly.sh index 2b0697d0..bbd2369d 100644 --- a/container_files/usr-local-bin/libraryPrepOnly.sh +++ b/container_files/usr-local-bin/libraryPrepOnly.sh @@ -3,56 +3,92 @@ prepOnly_component() { if [ "$GROUPER_WS" = "true" ] && [ "$GROUPER_UI" != "true" ] && [ "$GROUPER_SCIM" != "true" ] && [ "$GROUPER_DAEMON" != "true" ] then - if [ -z "$GROUPER_WS_ONLY" ] ; then export GROUPER_WS_ONLY=true; fi + if [ -z "$GROUPER_WS_ONLY" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_component) export GROUPER_WS_ONLY=true" + export GROUPER_WS_ONLY=true + fi fi if [ "$GROUPER_WS" != "true" ] && [ "$GROUPER_UI" != "true" ] && [ "$GROUPER_SCIM" = "true" ] && [ "$GROUPER_DAEMON" != "true" ] then - if [ -z "$GROUPER_SCIM_ONLY" ] ; then export GROUPER_SCIM_ONLY=true; fi + if [ -z "$GROUPER_SCIM_ONLY" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_component) export GROUPER_SCIM_ONLY=true" + export GROUPER_SCIM_ONLY=true + fi fi if [ "$GROUPER_WS" != "true" ] && [ "$GROUPER_UI" = "true" ] && [ "$GROUPER_SCIM" != "true" ] && [ "$GROUPER_DAEMON" != "true" ] then - if [ -z "$GROUPER_UI_ONLY" ] ; then export GROUPER_UI_ONLY=true; fi + if [ -z "$GROUPER_UI_ONLY" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_component) export GROUPER_UI_ONLY=true" + export GROUPER_UI_ONLY=true + fi fi if [ "$GROUPER_WS" != "true" ] && [ "$GROUPER_UI" != "true" ] && [ "$GROUPER_SCIM" != "true" ] && [ "$GROUPER_DAEMON" = "true" ] then - if [ -z "$GROUPER_DAEMON_ONLY" ] ; then export GROUPER_DAEMON_ONLY=true; fi + if [ -z "$GROUPER_DAEMON_ONLY" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_component) export GROUPER_DAEMON_ONLY=true" + export GROUPER_DAEMON_ONLY=true + fi fi } prepOnly_ui() { if [ "$GROUPER_UI_ONLY" = "true" ] then - if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-ui; fi + if [ -z "$GROUPER_LOG_PREFIX" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_ui) export GROUPER_LOG_PREFIX=grouper-ui" + export GROUPER_LOG_PREFIX=grouper-ui + fi fi } prepOnly_ws() { if [ "$GROUPER_WS_ONLY" = "true" ] then - if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-ws; fi - if [ -z "$GROUPER_CONTEXT_COOKIES" ]; then export GROUPER_CONTEXT_COOKIES=false; fi + if [ -z "$GROUPER_LOG_PREFIX" ]; then export + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_ui) export GROUPER_LOG_PREFIX=grouper-ws" + GROUPER_LOG_PREFIX=grouper-ws + fi + if [ -z "$GROUPER_CONTEXT_COOKIES" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_ui) export GROUPER_CONTEXT_COOKIES=false" + export GROUPER_CONTEXT_COOKIES=false + fi # default to whatever ws context is - if [ -z "$GROUPER_TOMCAT_CONTEXT" ] ; then export GROUPER_TOMCAT_CONTEXT="$GROUPERWS_URL_CONTEXT"; fi + if [ -z "$GROUPER_TOMCAT_CONTEXT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_ui) GROUPER_TOMCAT_CONTEXT=$GROUPERWS_URL_CONTEXT" + export GROUPER_TOMCAT_CONTEXT="$GROUPERWS_URL_CONTEXT" + fi fi } prepOnly_scim() { if [ "$GROUPER_SCIM_ONLY" = "true" ] then - if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-scim; fi - if [ -z "$GROUPER_CONTEXT_COOKIES" ]; then export GROUPER_CONTEXT_COOKIES=false; fi + if [ -z "$GROUPER_LOG_PREFIX" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_scim) GROUPER_LOG_PREFIX=grouper-scim" + export GROUPER_LOG_PREFIX=grouper-scim + fi + if [ -z "$GROUPER_CONTEXT_COOKIES" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_scim) GROUPER_CONTEXT_COOKIES=false" + export GROUPER_CONTEXT_COOKIES=false + fi # default to whatever scim context is - if [ -z "$GROUPER_TOMCAT_CONTEXT" ] ; then export GROUPER_TOMCAT_CONTEXT="$GROUPERSCIM_URL_CONTEXT"; fi + if [ -z "$GROUPER_TOMCAT_CONTEXT" ] ; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_scim) GROUPER_TOMCAT_CONTEXT=$GROUPERSCIM_URL_CONTEXT" + export GROUPER_TOMCAT_CONTEXT="$GROUPERSCIM_URL_CONTEXT" + fi fi } prepOnly_daemon() { if [ "$GROUPER_DAEMON_ONLY" = "true" ] then - if [ -z "$GROUPER_LOG_PREFIX" ]; then export GROUPER_LOG_PREFIX=grouper-daemon; fi + if [ -z "$GROUPER_LOG_PREFIX" ]; then + echo "grouperContainer; INFO: (libraryPrep.sh-prepOnly_daemon) GROUPER_LOG_PREFIX=grouper-daemon" + export GROUPER_LOG_PREFIX=grouper-daemon + fi fi } diff --git a/container_files/usr-local-bin/librarySetupFiles.sh b/container_files/usr-local-bin/librarySetupFiles.sh index f19a3fc7..ed5bbb5e 100644 --- a/container_files/usr-local-bin/librarySetupFiles.sh +++ b/container_files/usr-local-bin/librarySetupFiles.sh @@ -7,12 +7,24 @@ setupFiles_linkGrouperSecrets() { if [[ $label_file == grouper_* ]]; then ln -sf /run/secrets/$label_file /opt/grouper/grouperWebapp/WEB-INF/classes/$file + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_linkGrouperSecrets) ln -sf /run/secrets/$label_file /opt/grouper/grouperWebapp/WEB-INF/classes/$file, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi elif [[ $label_file == shib_* ]]; then ln -sf /run/secrets/$label_file /etc/shibboleth/$file + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_linkGrouperSecrets) ln -sf /run/secrets/$label_file /etc/shibboleth/$file, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi elif [[ $label_file == httpd_* ]]; then ln -sf /run/secrets/$label_file /etc/httpd/conf.d/$file + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_linkGrouperSecrets) ln -sf /run/secrets/$label_file /etc/httpd/conf.d/$file, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi elif [ "$label_file" == "host-key.pem" ]; then ln -sf /run/secrets/host-key.pem /etc/pki/tls/private/host-key.pem + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_linkGrouperSecrets) ln -sf /run/secrets/host-key.pem /etc/pki/tls/private/host-key.pem, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi done } @@ -21,8 +33,10 @@ setupFiles_rsyncSlashRoot() { if [ -d "/opt/grouper/slashRoot" ]; then # Copy any files into the root filesystem rsync -l -r -v /opt/grouper/slashRoot/ / + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_rsyncSlashRoot) rsync -l -r -v /opt/grouper/slashRoot/ /, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi - } setupFiles_localLogging() { @@ -47,10 +61,10 @@ setupFiles_chownDirs() { # do this last if [ "$GROUPER_CHOWN_DIRS" = "true" ] then - chown -R tomcat:tomcat /opt/grouper/grouperWebapp - echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_chownDirs) chown -R tomcat:tomcat /opt/grouper/grouperWebapp, result: $?" - chown -R tomcat:tomcat /opt/tomee - echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_chownDirs) chown -R tomcat:tomcat /opt/tomee, result: $?" + chown -R tomcat:tomcat /opt/grouper/grouperWebapp /opt/tomee + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_chownDirs) chown -R tomcat:tomcat /opt/grouper/grouperWebapp /opt/tomee, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -64,18 +78,25 @@ setupFiles_storeEnvVars() { # go through env vars, should start with GROUPER and have an equals sign in there env | grep "^GROUPER" | grep "=" | sort >> /opt/grouper/grouperEnv.sh + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) env | grep \"^GROUPER\" | grep \"=\" | sort >> /opt/grouper/grouperEnv.sh, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi + sed -i "s|^GROUPER|export GROUPER|g" /opt/grouper/grouperEnv.sh if [ ! -f /home/tomcat/.bashrc ] then echo "grouperContainer; ERROR: (librarySetupFiles.sh-setupFiles_storeEnvVars) Why doesnt /home/tomcat/.bashrc exist????" exit 1 - fi + fi if ! grep -q grouperEnv /home/tomcat/.bashrc then - echo "" >> /home/tomcat/.bashrc + echo "" >> /home/tomcat/.bashrc echo ". /opt/grouper/grouperEnv.sh" >> /home/tomcat/.bashrc - echo "" >> /home/tomcat/.bashrc + echo "" >> /home/tomcat/.bashrc + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) echo \". /opt/grouper/grouperEnv.sh\" >> /home/tomcat/.bashrc , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi # if we own this file (i.e. running as root) @@ -94,6 +115,9 @@ setupFiles_storeEnvVars() { echo "export JAVA_HOME=$JAVA_HOME" >> /etc/bashrc echo "export PATH=$JAVA_HOME/bin:\$PATH" >> /etc/bashrc echo "" >> /etc/bashrc + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) echo env var script to /etc/bashrc, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi fi echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) End store env vars in /opt/grouper/grouperEnv.sh" @@ -128,56 +152,110 @@ setupFiles_analyzeOriginalFiles() { setupFiles_originalFile /opt/tomee/conf/Catalina/localhost/grouper.xml original_file=$? if [ -z "$GROUPER_ORIGFILE_GROUPER_XML" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_GROUPER_XML=true; fi - if [ -z "$GROUPER_ORIGFILE_GROUPER_XML" ] ; then export GROUPER_ORIGFILE_GROUPER_XML=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_GROUPER_XML=true" + export GROUPER_ORIGFILE_GROUPER_XML=true + fi + if [ -z "$GROUPER_ORIGFILE_GROUPER_XML" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_GROUPER_XML=false" + export GROUPER_ORIGFILE_GROUPER_XML=false + fi setupFiles_originalFile /opt/tomee/conf/server.xml original_file=$? if [ -z "$GROUPER_ORIGFILE_SERVER_XML" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_SERVER_XML=true; fi - if [ -z "$GROUPER_ORIGFILE_SERVER_XML" ] ; then export GROUPER_ORIGFILE_SERVER_XML=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_SERVER_XML=true" + export GROUPER_ORIGFILE_SERVER_XML=true + fi + if [ -z "$GROUPER_ORIGFILE_SERVER_XML" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_SERVER_XML=false" + export GROUPER_ORIGFILE_SERVER_XML=false + fi setupFiles_originalFile /opt/grouper/grouperWebapp/WEB-INF/classes/log4j.properties original_file=$? if [ -z "$GROUPER_ORIGFILE_LOG4J_PROPERTIES" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_LOG4J_PROPERTIES=true; fi - if [ -z "$GROUPER_ORIGFILE_LOG4J_PROPERTIES" ] ; then export GROUPER_ORIGFILE_LOG4J_PROPERTIES=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_LOG4J_PROPERTIES=true" + export GROUPER_ORIGFILE_LOG4J_PROPERTIES=true + fi + if [ -z "$GROUPER_ORIGFILE_LOG4J_PROPERTIES" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_LOG4J_PROPERTIES=false" + export GROUPER_ORIGFILE_LOG4J_PROPERTIES=false + fi setupFiles_originalFile /etc/httpd/conf/httpd.conf original_file=$? if [ -z "$GROUPER_ORIGFILE_HTTPD_CONF" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_HTTPD_CONF=true; fi - if [ -z "$GROUPER_ORIGFILE_HTTPD_CONF" ] ; then export GROUPER_ORIGFILE_HTTPD_CONF=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_HTTPD_CONF=true" + export GROUPER_ORIGFILE_HTTPD_CONF=true + fi + if [ -z "$GROUPER_ORIGFILE_HTTPD_CONF" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_HTTPD_CONF=false" + export GROUPER_ORIGFILE_HTTPD_CONF=false + fi setupFiles_originalFile /etc/httpd/conf.d/ssl-enabled.conf original_file=$? if [ -z "$GROUPER_ORIGFILE_SSL_ENABLED_CONF" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_SSL_ENABLED_CONF=true; fi - if [ -z "$GROUPER_ORIGFILE_SSL_ENABLED_CONF" ] ; then export GROUPER_ORIGFILE_SSL_ENABLED_CONF=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_SSL_ENABLED_CONF=true" + export GROUPER_ORIGFILE_SSL_ENABLED_CONF=true + fi + if [ -z "$GROUPER_ORIGFILE_SSL_ENABLED_CONF" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_SSL_ENABLED_CONF=false" + export GROUPER_ORIGFILE_SSL_ENABLED_CONF=false + fi setupFiles_originalFile /etc/httpd/conf.d/httpd-shib.conf original_file=$? if [ -z "$GROUPER_ORIGFILE_HTTPD_SHIB_CONF" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_HTTPD_SHIB_CONF=true; fi - if [ -z "$GROUPER_ORIGFILE_HTTPD_SHIB_CONF" ] ; then export GROUPER_ORIGFILE_HTTPD_SHIB_CONF=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_HTTPD_SHIB_CONF=true" + export GROUPER_ORIGFILE_HTTPD_SHIB_CONF=true + fi + if [ -z "$GROUPER_ORIGFILE_HTTPD_SHIB_CONF" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_HTTPD_SHIB_CONF=false" + export GROUPER_ORIGFILE_HTTPD_SHIB_CONF=false + fi setupFiles_originalFile /etc/httpd/conf.d/shib.conf original_file=$? if [ -z "$GROUPER_ORIGFILE_SHIB_CONF" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_SHIB_CONF=true; fi - if [ -z "$GROUPER_ORIGFILE_SHIB_CONF" ] ; then export GROUPER_ORIGFILE_SHIB_CONF=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_SHIB_CONF=true" + export GROUPER_ORIGFILE_SHIB_CONF=true + fi + if [ -z "$GROUPER_ORIGFILE_SHIB_CONF" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_SHIB_CONF=false" + export GROUPER_ORIGFILE_SHIB_CONF=false + fi setupFiles_originalFile /opt/tomee/conf/Catalina/localhost/grouper.xml original_file=$? if [ -z "$GROUPER_ORIGFILE_GROUPER_XML" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_GROUPER_XML=true; fi - if [ -z "$GROUPER_ORIGFILE_GROUPER_XML" ] ; then export GROUPER_ORIGFILE_GROUPER_XML=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_GROUPER_XML=true" + export GROUPER_ORIGFILE_GROUPER_XML=true + fi + if [ -z "$GROUPER_ORIGFILE_GROUPER_XML" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_GROUPER_XML=false" + export GROUPER_ORIGFILE_GROUPER_XML=false + fi setupFiles_originalFile /opt/grouper/grouperWebapp/WEB-INF/web.xml original_file=$? if [ -z "$GROUPER_ORIGFILE_WEBAPP_WEB_XML" ] && [[ $original_file -eq 0 ]] - then export GROUPER_ORIGFILE_WEBAPP_WEB_XML=true; fi - if [ -z "$GROUPER_ORIGFILE_WEBAPP_WEB_XML" ] ; then export GROUPER_ORIGFILE_WEBAPP_WEB_XML=false; fi + then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_WEBAPP_WEB_XML=true" + export GROUPER_ORIGFILE_WEBAPP_WEB_XML=true + fi + if [ -z "$GROUPER_ORIGFILE_WEBAPP_WEB_XML" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_ORIGFILE_WEBAPP_WEB_XML=false" + export GROUPER_ORIGFILE_WEBAPP_WEB_XML=false + fi } diff --git a/container_files/usr-local-bin/librarySetupFilesApache.sh b/container_files/usr-local-bin/librarySetupFilesApache.sh index 0ee41c44..a997a2fa 100644 --- a/container_files/usr-local-bin/librarySetupFilesApache.sh +++ b/container_files/usr-local-bin/librarySetupFilesApache.sh @@ -1,14 +1,19 @@ #!/bin/bash setupFilesApache_indexes() { - if [ "$GROUPER_APACHE_DIRECTORY_INDEXES" = "false" ] + if [ "$GROUPER_RUN_APACHE" = "true" ] && [ "$GROUPER_APACHE_DIRECTORY_INDEXES" = "false" ] then if [ "$GROUPER_ORIGFILE_HTTPD_CONF" = "true" ]; then # take out the directory indexes from the docroot cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.pre_noindexes - echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_indexes) cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.pre_noindexes , result=$?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_indexes) cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.pre_noindexes, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi + patch /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/httpd.conf.noindexes.patch - echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_indexes) Patch httpd.conf to turn off indexes 'patch /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/httpd.conf.noindexes.patch' result=$?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_indexes) Patch httpd.conf to turn off indexes 'patch /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/httpd.conf.noindexes.patch' result=$returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi else echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_indexes) /etc/httpd/conf/httpd.conf is not the original file so will not be changed" fi @@ -21,7 +26,9 @@ setupFilesApache_selfSignedCert() { then if [ "$GROUPER_ORIGFILE_SSL_ENABLED_CONF" = "true" ]; then cp /opt/tier-support/ssl-enabled.conf /etc/httpd/conf.d/ + returnCode=$? echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_selfSignedCert) cp /opt/tier-support/ssl-enabled.conf /etc/httpd/conf.d/ , result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi else echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_selfSignedCert) /opt/tier-support/ssl-enabled.conf is not the original file so will not be edited" fi @@ -34,12 +41,16 @@ setupFilesApache_ssl() { if [ -f /etc/httpd/conf.d/ssl.conf ] then mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.dontuse + returnCode=$? echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_ssl) mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.dontuse , result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi if [ -f /etc/httpd/conf.d/ssl-enabled.conf ] then mv -v /etc/httpd/conf.d/ssl-enabled.conf /etc/httpd/conf.d/ssl-enabled.conf.dontuse + returnCode=$? echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_ssl) mv -v /etc/httpd/conf.d/ssl-enabled.conf /etc/httpd/conf.d/ssl-enabled.conf.dontuse , result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi fi } @@ -54,6 +65,9 @@ setupFilesApache_serverName() { echo "ServerName $GROUPER_APACHE_SERVER_NAME" >> /etc/httpd/conf.d/grouper-www.conf echo "UseCanonicalName On" >> /etc/httpd/conf.d/grouper-www.conf echo >> /etc/httpd/conf.d/grouper-www.conf + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_serverName) Setup ServerName $GROUPER_APACHE_SERVER_NAME in /etc/httpd/conf.d/grouper-www.conf , result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -62,8 +76,10 @@ setupFilesApache_serverName() { setupFilesApache_supervisor() { if [ "$GROUPER_RUN_APACHE" = "true" ] then - echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_supervisor) Appending supervisord-httpd.conf to supervisord.conf" cat /opt/tier-support/supervisord-httpd.conf >> /opt/tier-support/supervisord.conf + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_supervisor) cat /opt/tier-support/supervisord-httpd.conf >> /opt/tier-support/supervisord.conf , result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -75,13 +91,17 @@ setupFilesApache_ports() { if [ "$GROUPER_RUN_APACHE" = "true" ] && [ -f /etc/httpd/conf.d/ssl-enabled.conf ] then sed -i "s|__GROUPER_APACHE_SSL_PORT__|$GROUPER_APACHE_SSL_PORT|g" /etc/httpd/conf.d/ssl-enabled.conf - echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_ports) Replace apache ssl port in ssl-enabled.conf', result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_ports) sed -i \"s|__GROUPER_APACHE_SSL_PORT__|$GROUPER_APACHE_SSL_PORT|g\" /etc/httpd/conf.d/ssl-enabled.conf , result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi if [ "$GROUPER_RUN_APACHE" = "true" ] && [ "$GROUPER_APACHE_NONSSL_PORT" != "80" ] then sed -i "s|Listen 80|Listen $GROUPER_APACHE_NONSSL_PORT|g" /etc/httpd/conf/httpd.conf - echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_ports) Replace apache non-ssl port in httpd.conf', result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesApache.sh-setupFilesApache_ports) Replace apache non-ssl port in httpd.conf, sed -i \"s|Listen 80|Listen $GROUPER_APACHE_NONSSL_PORT|g\" /etc/httpd/conf/httpd.conf , result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } diff --git a/container_files/usr-local-bin/librarySetupFilesForComponent.sh b/container_files/usr-local-bin/librarySetupFilesForComponent.sh index 7c811ab2..c508c247 100644 --- a/container_files/usr-local-bin/librarySetupFilesForComponent.sh +++ b/container_files/usr-local-bin/librarySetupFilesForComponent.sh @@ -6,7 +6,9 @@ setupFilesForComponent_ws() { if [ "$GROUPER_WS" = "true" ] then cp -r /opt/grouper/grouperWebapp/WEB-INF/libWs/* /opt/grouper/grouperWebapp/WEB-INF/lib/ - echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_ws) cp -r /opt/grouper/grouperWebapp/WEB-INF/libWs/* /opt/grouper/grouperWebapp/WEB-INF/lib/ , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_ws) cp -r /opt/grouper/grouperWebapp/WEB-INF/libWs/* /opt/grouper/grouperWebapp/WEB-INF/lib/ , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -16,7 +18,9 @@ setupFilesForComponent_scim() { if [ "$GROUPER_SCIM" = "true" ] then cp -r /opt/grouper/grouperWebapp/WEB-INF/libScim/* /opt/grouper/grouperWebapp/WEB-INF/lib/ - echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_scim) cp -r /opt/grouper/grouperWebapp/WEB-INF/libScim/* /opt/grouper/grouperWebapp/WEB-INF/lib/ , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_scim) cp -r /opt/grouper/grouperWebapp/WEB-INF/libScim/* /opt/grouper/grouperWebapp/WEB-INF/lib/ , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -26,7 +30,9 @@ setupFilesForComponent_ui() { if [ "$GROUPER_UI" = "true" ] || [ "$GROUPER_DAEMON" = "true" ] then cp -r /opt/grouper/grouperWebapp/WEB-INF/libUiAndDaemon/* /opt/grouper/grouperWebapp/WEB-INF/lib/ - echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_ui) cp -r /opt/grouper/grouperWebapp/WEB-INF/libUiAndDaemon/* /opt/grouper/grouperWebapp/WEB-INF/lib/ , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_ui) cp -r /opt/grouper/grouperWebapp/WEB-INF/libUiAndDaemon/* /opt/grouper/grouperWebapp/WEB-INF/lib/ , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -39,13 +45,17 @@ setupFilesForComponent_quickstart() { then echo '' >> /opt/grouper/grouperWebapp/WEB-INF/classes/grouper.hibernate.base.properties echo 'grouperPasswordConfigOverride_UI_GrouperSystem_pass.elConfig = ${elUtils.processEnvVarOrFile('"'"'GROUPERSYSTEM_QUICKSTART_PASS'"'"')}' >> /opt/grouper/grouperWebapp/WEB-INF/classes/grouper.hibernate.properties - echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_quickstart) edit grouper.hibernate.base.properties with UI GrouperSystem password for quick start, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_quickstart) edit grouper.hibernate.base.properties with UI GrouperSystem password for quick start, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi if [ "$GROUPER_WS_GROUPER_AUTH" = 'true' ] then echo '' >> /opt/grouper/grouperWebapp/WEB-INF/classes/grouper.hibernate.base.properties echo 'grouperPasswordConfigOverride_WS_GrouperSystem_pass.elConfig = ${elUtils.processEnvVarOrFile('"'"'GROUPERSYSTEM_QUICKSTART_PASS'"'"')}' >> /opt/grouper/grouperWebapp/WEB-INF/classes/grouper.hibernate.properties - echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_quickstart) edit grouper.hibernate.base.properties with WS GrouperSystem password for quick start, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForComponent.sh-setupFilesForComponent_quickstart) edit grouper.hibernate.base.properties with WS GrouperSystem password for quick start, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi fi diff --git a/container_files/usr-local-bin/librarySetupFilesForProcess.sh b/container_files/usr-local-bin/librarySetupFilesForProcess.sh index 4ecbb49c..5e3fb295 100644 --- a/container_files/usr-local-bin/librarySetupFilesForProcess.sh +++ b/container_files/usr-local-bin/librarySetupFilesForProcess.sh @@ -2,31 +2,35 @@ setupFilesForProcess_hsqldb() { # construct the supervisord file based on FLAGS passed in or what was in CMD - if [ "$GROUPER_RUN_HSQLDB" = "true" ] then - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_hsqldb) Appending supervisord-hsqldb.conf to supervisord.conf" cat /opt/tier-support/supervisord-hsqldb.conf >> /opt/tier-support/supervisord.conf + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_hsqldb) cat /opt/tier-support/supervisord-hsqldb.conf >> /opt/tier-support/supervisord.conf , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi - } setupFilesForProcess_hsqldbVersions() { # tomee hsql must match the grouper one, and the version cannot be 2.3.2 since it is query bugs (unit tests fail) rm -f /opt/tomee/lib/hsqldb-*.jar - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_hsqldbVersions) rm -f /opt/tomee/lib/hsqldb-*.jar , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_hsqldbVersions) rm -f /opt/tomee/lib/hsqldb-*.jar , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi cp /opt/grouper/grouperWebapp/WEB-INF/lib/hsqldb-*.jar /opt/tomee/lib/ - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_hsqldbVersions) cp /opt/grouper/grouperWebapp/WEB-INF/lib/hsqldb-*.jar /opt/tomee/lib/ , result: $?" - + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_hsqldbVersions) cp /opt/grouper/grouperWebapp/WEB-INF/lib/hsqldb-*.jar /opt/tomee/lib/ , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi } setupFilesForProcess_supervisor() { if [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ]; then # clear out existing supervisord config - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_supervisor) Clear out supervisor.conf" cat /opt/tier-support/supervisord-base.conf > /opt/tier-support/supervisord.conf + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_supervisor) Clear out supervisor.conf , result: $returnCode" + returnCode=$? fi } @@ -47,11 +51,15 @@ setupFilesForProcess_supervisorFinal() { then # let these lines live sed -i "s|__GROUPER_RUN_PROCESSES_AS_USERS__||g" /opt/tier-support/supervisord.conf - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_supervisorFinal) Running processes as users in supervisord.conf, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_supervisorFinal) Running processes as users in supervisord.conf, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi else # comment out these lines sed -i "s|__GROUPER_RUN_PROCESSES_AS_USERS__|;|g" /opt/tier-support/supervisord.conf - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_supervisorFinal) Commenting out running processes as users in supervisord.conf, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_supervisorFinal) Commenting out running processes as users in supervisord.conf, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi fi } @@ -62,7 +70,9 @@ setupFilesForProcess_shib() { if [ -f /etc/httpd/conf.d/shib.conf ] then mv /etc/httpd/conf.d/shib.conf /etc/httpd/conf.d/shib.conf.dontuse - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) mv /etc/httpd/conf.d/shib.conf /etc/httpd/conf.d/shib.conf.dontuse , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) mv /etc/httpd/conf.d/shib.conf /etc/httpd/conf.d/shib.conf.dontuse , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi @@ -71,15 +81,21 @@ setupFilesForProcess_shib() { export LD_LIBRARY_PATH=/opt/shibboleth/lib64:$LD_LIBRARY_PATH echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) Appending supervisord-shibsp.conf to supervisord.conf" cat /opt/tier-support/supervisord-shibsp.conf >> /opt/tier-support/supervisord.conf + returnCode=$? + if [ $returnCode != 0 ]; then exit $returnCode; fi if [ "$GROUPER_ORIGFILE_HTTPD_SHIB_CONF" = "true" ]; then cp /opt/tier-support/httpd-shib.conf /etc/httpd/conf.d/ - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) cp /opt/tier-support/httpd-shib.conf /etc/httpd/conf.d/ , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) cp /opt/tier-support/httpd-shib.conf /etc/httpd/conf.d/ , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi else echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) /etc/httpd/conf.d/httpd-shib.conf is not the original file so will not be edited" fi if [ "$GROUPER_ORIGFILE_SHIB_CONF" = "true" ]; then mv /etc/httpd/conf.d/shib.conf.dontuse /etc/httpd/conf.d/shib.conf - echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) mv /etc/httpd/conf.d/shib.conf.dontuse /etc/httpd/conf.d/shib.conf , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) mv /etc/httpd/conf.d/shib.conf.dontuse /etc/httpd/conf.d/shib.conf , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi else echo "grouperContainer; INFO: (librarySetupFilesForProcess.sh-setupFilesForProcess_shib) /etc/httpd/conf.d/shib.conf is not the original file so will not be edited" fi diff --git a/container_files/usr-local-bin/librarySetupFilesTomcat.sh b/container_files/usr-local-bin/librarySetupFilesTomcat.sh index 716d5249..5aa11f23 100644 --- a/container_files/usr-local-bin/librarySetupFilesTomcat.sh +++ b/container_files/usr-local-bin/librarySetupFilesTomcat.sh @@ -12,14 +12,18 @@ setupFilesTomcat() { } - setupFilesTomcat_turnOnAjp() { if [ "$GROUPER_ORIGFILE_SERVER_XML" = "true" ]; then cp /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.currentOriginalInContainer - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_turnOnAjp) cp /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.currentOriginalInContainer , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_turnOnAjp) cp /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.currentOriginalInContainer , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi + patch /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.turnOnAjp.patch - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_turnOnAjp) Patch server.xml to turn on ajp, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_turnOnAjp) Patch server.xml to turn on ajp: patch /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.turnOnAjp.patch, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi else echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_turnOnAjp) /opt/tomee/conf/server.xml is not the original file so will not be edited" fi @@ -31,14 +35,18 @@ setupFilesTomcat_accessLogs() { if [ "$GROUPER_ORIGFILE_SERVER_XML" = "true" ]; then if [ "$GROUPER_TOMCAT_LOG_ACCESS" = "true" ]; then - # this patch happens after the last patch - patch /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.loggingpipe.patch - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_accessLogs) Patch server.xml to log access, result: $?" + # this patch happens after the last patch + patch /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.loggingpipe.patch + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_accessLogs) Patch server.xml to log access: patch /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.loggingpipe.patch , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi else patch /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.nologging.patch - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_accessLogs) Patch server.xml to not log access, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_accessLogs) Patch server.xml to not log access: patch /opt/tomee/conf/server.xml /opt/tomee/conf/server.xml.nologging.patch , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi else @@ -51,17 +59,23 @@ setupFilesTomcat_ports() { if [ "$GROUPER_TOMCAT_HTTP_PORT" != "8080" ]; then sed -i "s|8080|$GROUPER_TOMCAT_HTTP_PORT|g" /opt/tomee/conf/server.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_ports) update server.xml to change http port, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_ports) update server.xml to change http port: sed -i \"s|8080|$GROUPER_TOMCAT_HTTP_PORT|g\" /opt/tomee/conf/server.xml, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi if [ "$GROUPER_TOMCAT_AJP_PORT" != "8009" ]; then sed -i "s|8009|$GROUPER_TOMCAT_AJP_PORT|g" /opt/tomee/conf/server.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_ports) update server.xml to change ajp port, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_ports) update server.xml to change ajp port: sed -i \"s|8009|$GROUPER_TOMCAT_AJP_PORT|g\" /opt/tomee/conf/server.xml, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi if [ "$GROUPER_TOMCAT_SHUTDOWN_PORT" != "8005" ]; then sed -i "s|8005|$GROUPER_TOMCAT_SHUTDOWN_PORT|g" /opt/tomee/conf/server.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_ports) update server.xml to change shutdown port, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_ports) update server.xml to change shutdown port: sed -i \"s|8005|$GROUPER_TOMCAT_SHUTDOWN_PORT|g\" /opt/tomee/conf/server.xml , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -72,17 +86,23 @@ setupFilesTomcat_context() { if [ "$GROUPER_ORIGFILE_GROUPER_XML" = "true" ]; then # ws only and scim only dont have cookies sed -i "s|__GROUPER_CONTEXT_COOKIES__|$GROUPER_CONTEXT_COOKIES|g" /opt/tomee/conf/Catalina/localhost/grouper.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) Replace context cookies in grouper.xml, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) Replace context cookies in grouper.xml: sed -i \"s|__GROUPER_CONTEXT_COOKIES__|$GROUPER_CONTEXT_COOKIES|g\" /opt/tomee/conf/Catalina/localhost/grouper.xml , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi # setup context sed -i "s|__GROUPER_TOMCAT_CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g" /opt/tomee/conf/Catalina/localhost/grouper.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) Replace tomcat context in grouper.xml, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) Replace tomcat context in grouper.xml: sed -i \"s|__GROUPER_TOMCAT_CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g\" /opt/tomee/conf/Catalina/localhost/grouper.xml, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi # rename file if needed since that can matter with tomcat if [ "$GROUPER_TOMCAT_CONTEXT" != "grouper" ] then mv -v /opt/tomee/conf/Catalina/localhost/grouper.xml "/opt/tomee/conf/Catalina/localhost/$GROUPER_TOMCAT_CONTEXT.xml" - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) mv -v /opt/tomee/conf/Catalina/localhost/grouper.xml /opt/tomee/conf/Catalina/localhost/$GROUPER_TOMCAT_CONTEXT.xml , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) mv -v /opt/tomee/conf/Catalina/localhost/grouper.xml \"/opt/tomee/conf/Catalina/localhost/$GROUPER_TOMCAT_CONTEXT.xml\" , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi else echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) /opt/tomee/conf/Catalina/localhost/grouper.xml is not the original file so will not be edited" @@ -111,12 +131,14 @@ setupFilesTomcat_context() { sed -i "s|__GROUPERSCIM_PROXY_PASS__|$GROUPERSCIM_PROXY_PASS|g" /etc/httpd/conf.d/grouper-www.conf results="$results $?" sed -i "s|__GROUPERWS_PROXY_PASS__|$GROUPERWS_PROXY_PASS|g" /etc/httpd/conf.d/grouper-www.conf - results="$results $?" + returnCode=$? + results="$results $returnCode" if [ "$GROUPER_TOMCAT_AJP_PORT" != "8009" ]; then sed -i "s|:8009/|:$GROUPER_TOMCAT_AJP_PORT/|g" /etc/httpd/conf.d/grouper-www.conf results="$results $?" fi echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_context) Set contexts in grouper-www.conf and other files, results: $results" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -128,13 +150,17 @@ setupFilesTomcat_authn() { if [ "$GROUPER_ORIGFILE_WEBAPP_WEB_XML" = "true" ]; then cp /opt/tier-support/web.wsTomcatAuthn.xml /opt/grouper/grouperWebapp/WEB-INF/web.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_authn) cp /opt/tier-support/web.wsTomcatAuthn.xml /opt/grouper/grouperWebapp/WEB-INF/web.xml , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_authn) cp /opt/tier-support/web.wsTomcatAuthn.xml /opt/grouper/grouperWebapp/WEB-INF/web.xml , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi else echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_authn) /opt/grouper/grouperWebapp/WEB-INF/web.xml is not the original file so will not be edited" fi sed -i 's|tomcatAuthentication="false"|tomcatAuthentication="true"|g' /opt/tomee/conf/server.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_authn) sed -i 's|tomcatAuthentication=''false''|tomcatAuthentication=''true''|g' /opt/tomee/conf/server.xml, result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_authn) sed -i 's|tomcatAuthentication=\"false\"|tomcatAuthentication=\"true\"|g' /opt/tomee/conf/server.xml, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi @@ -142,18 +168,27 @@ setupFilesTomcat_authn() { setupFilesTomcat_loggingSlf4j() { - rm -f /opt/tomee/lib/slf4j-api*.jar - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) rm -f /opt/tomee/lib/slf4j-api*.jar , result: $?" - rm -f /opt/tomee/lib/slf4j-jdk*.jar - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) rm -f /opt/tomee/lib/slf4j-jdk*.jar , result: $?" + rm -f /opt/tomee/lib/slf4j-api*.jar /opt/tomee/lib/slf4j-jdk*.jar + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) rm -f /opt/tomee/lib/slf4j-api*.jar /opt/tomee/lib/slf4j-jdk*.jar , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi + cp /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-api-*.jar /opt/tomee/lib - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) cp /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-api-*.jar /opt/tomee/lib , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) cp /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-api-*.jar /opt/tomee/lib , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi + # tomee uses the jdk one cp /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-jdk*.jar /opt/tomee/lib - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) cp /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-jdk*.jar /opt/tomee/lib , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) cp /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-jdk*.jar /opt/tomee/lib , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi + # grouper uses the log4j one rm -f /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-jdk*.jar - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) rm -f /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-jdk*.jar , result: $?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_loggingSlf4j) rm -f /opt/grouper/grouperWebapp/WEB-INF/lib/slf4j-jdk*.jar , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi } @@ -162,7 +197,9 @@ setupFilesTomcat_supervisor() { if [ "$GROUPER_RUN_TOMEE" = "true" ] && [ "$GROUPER_RUN_TOMCAT_NOT_SUPERVISOR" != "true" ] then cat /opt/tier-support/supervisord-tomee.conf >> /opt/tier-support/supervisord.conf - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_supervisor) Append supervisord-tomee.conf to supervisord.conf" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_supervisor) Append supervisord-tomee.conf to supervisord.conf: cat /opt/tier-support/supervisord-tomee.conf >> /opt/tier-support/supervisord.conf , result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } @@ -172,7 +209,9 @@ setupFilesTomcat_sessionTimeout() { if [ "$GROUPER_RUN_TOMEE" = "true" ] && [ "$GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES" != "-2" ] then sed -i "s|30|$GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES|g" /opt/tomee/conf/web.xml - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_sessionTimeout) based on GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES, sed -i ''s|30|$GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES|g'' /opt/tomee/conf/web.xml , result=$?" + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_sessionTimeout) based on GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES, sed -i \"s|30|$GROUPER_TOMCAT_SESSION_TIMEOUT_MINUTES|g\" /opt/tomee/conf/web.xml , result=$returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi fi } diff --git a/container_files/usr-local-bin/librarySetupPipe.sh b/container_files/usr-local-bin/librarySetupPipe.sh index 02e2ca7c..664b27ba 100644 --- a/container_files/usr-local-bin/librarySetupPipe.sh +++ b/container_files/usr-local-bin/librarySetupPipe.sh @@ -4,8 +4,10 @@ setupPipe() { echo "grouperContainer; INFO: (librarySetupPipe.sh-setupPipe) Setup pipe: $1" if [ -e $1 ]; then rm -f $1 + returnCode=$? fi mkfifo -m 666 $1 + returnCode=$? } setupPipe_logging() {