Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: docker/grouper
base: 2.4.0-a25-u11-w2-p2-20190207-rc1
Choose a base ref
...
head repository: docker/grouper
compare: main
Choose a head ref
Able to merge. These branches can be automatically merged.

Commits on Sep 4, 2018

  1. Copy the full SHA
    c27e192 View commit details
  2. Merge pull request #54 from docker/2.3.0-a109-u47-w12-p20

    Patch up to pspng patch 20
    chubing committed Sep 4, 2018
    Copy the full SHA
    bff1860 View commit details

Commits on Sep 7, 2018

  1. Copy the full SHA
    e7cbf6f View commit details
  2. Merge pull request #55 from docker/2.3.0-a109-u47-w12-p20

    grouper_v2_3_0_api_patch_109,grouper_v2_3_0_ui_patch_47
    chubing committed Sep 7, 2018
    Copy the full SHA
    d64b6a1 View commit details

Commits on Sep 10, 2018

  1. Copy the full SHA
    7b24ed0 View commit details

Commits on Feb 8, 2019

  1. Copy the full SHA
    795bd16 View commit details
  2. Copy the full SHA
    76ac866 View commit details

Commits on Feb 11, 2019

  1. Copy the full SHA
    8ebeef1 View commit details

Commits on Feb 12, 2019

  1. Update Jenkinsfile

    chubing committed Feb 12, 2019
    Copy the full SHA
    8e0f567 View commit details

Commits on Feb 13, 2019

  1. Merge pull request #56 from docker/2.3.0-a109-u47-w13-p24-20190208

    2.3.0 a109 u47 w13 p24 20190208
    chubing committed Feb 13, 2019
    Copy the full SHA
    27f3d1c View commit details

Commits on Feb 17, 2019

  1. Copy the full SHA
    08e687a View commit details

Commits on Feb 26, 2019

  1. Update README.md

    chubing committed Feb 26, 2019
    Copy the full SHA
    71bc2ee View commit details
  2. Update Jenkinsfile

    chubing committed Feb 26, 2019
    Copy the full SHA
    6275b35 View commit details

Commits on Mar 4, 2019

  1. Copy the full SHA
    80ab130 View commit details

Commits on Mar 7, 2019

  1. Copy the full SHA
    dbfb509 View commit details
  2. Merge pull request #57 from docker/2.4.0-a31-u14-w3-p3-20190304

    2.4.0 a31 u14 w3 p3 20190304
    chubing committed Mar 7, 2019
    Copy the full SHA
    f29ec9e View commit details

Commits on Mar 12, 2019

  1. Copy the full SHA
    a4cbae8 View commit details
  2. Merge pull request #58 from docker/2.4.0-a32-u14-w3-p3-20190312-rc1

    grouper_v2_4_0_api_patch_32
    chubing committed Mar 12, 2019
    Copy the full SHA
    8b8b4ce View commit details

Commits on Mar 14, 2019

  1. Copy the full SHA
    5297deb View commit details
  2. Merge pull request #59 from docker/2.4.0-a32-u14-w5-p3-20190314-rc1

    grouper_v2_4_0_ws_patch_5
    chubing committed Mar 14, 2019
    Copy the full SHA
    80fd272 View commit details

Commits on Mar 17, 2019

  1. Copy the full SHA
    d56bc60 View commit details
  2. Merge pull request #60 from docker/2.4.0-a32-u18-w5-p3-20190317-rc1

    Update grouper.installer.properties
    chubing committed Mar 17, 2019
    Copy the full SHA
    e87be59 View commit details

Commits on Mar 18, 2019

  1. Copy the full SHA
    2af5dac View commit details
  2. Merge pull request #61 from docker/2.4.0-a38-u18-w5-p4-20190318-rc1

    2.4.0-a38-u18-w5-p4
    chubing committed Mar 18, 2019
    Copy the full SHA
    05f29ce View commit details

Commits on Apr 15, 2019

  1. Copy the full SHA
    d96a3e1 View commit details
  2. Merge pull request #62 from docker/2.4.0-a41-u22-w5-p4-20190415-rc1

    Update grouper.installer.properties
    chubing committed Apr 15, 2019
    Copy the full SHA
    8f164fd View commit details

Commits on Apr 26, 2019

  1. Copy the full SHA
    f208d3b View commit details
  2. Copy the full SHA
    cc5917b View commit details
  3. Merge pull request #63 from docker/2.4.0-a42-u23-w5-p4-20190426-rc1

    2.4.0 a42 u23 w5 p4 20190426 rc1
    chubing committed Apr 26, 2019
    Copy the full SHA
    2c77fb4 View commit details

Commits on Apr 29, 2019

  1. Copy the full SHA
    ebe0ee4 View commit details
  2. Merge pull request #64 from docker/2.4.0-a42-u23-w5-p5-20190429-rc1

    2.4.0-a42-u23-w5-p5-20190429-rc1
    chubing committed Apr 29, 2019
    Copy the full SHA
    801d533 View commit details

Commits on May 1, 2019

  1. Copy the full SHA
    564ee1f View commit details
  2. Merge pull request #65 from docker/2.4.0-a42-u23-w5-p6-20190501-rc1

    Update grouper.installer.properties
    chubing committed May 1, 2019
    Copy the full SHA
    306d139 View commit details
  3. Copy the full SHA
    adc5284 View commit details
  4. Merge pull request #66 from docker/2.4.0-a43-u23-w5-p6-20190501-rc1

    Update grouper.installer.properties
    chubing committed May 1, 2019
    Copy the full SHA
    058af26 View commit details
  5. Copy the full SHA
    6d4b379 View commit details
  6. Merge pull request #67 from docker/2.4.0-a43-u23-w5-p6-20190501-rc1

    Update grouper.installer.properties
    chubing committed May 1, 2019
    Copy the full SHA
    5f54822 View commit details
  7. Copy the full SHA
    0d5bb36 View commit details
  8. Merge pull request #68 from docker/2.4.0-a43-u23-w5-p6-20190501-rc1

    grouperInstaller.autorun.forceInstallPatch = t
    chubing committed May 1, 2019
    Copy the full SHA
    e89fd07 View commit details

Commits on May 6, 2019

  1. Copy the full SHA
    cbc027e View commit details

Commits on May 7, 2019

  1. Copy the full SHA
    08ab73f View commit details
  2. Merge pull request #69 from docker/2.4.0-a43-u23-w5-p6-20190507-rc1

    Add HEALTCHECK NONE to fix gsh problem
    chubing committed May 7, 2019
    Copy the full SHA
    231c625 View commit details

Commits on May 9, 2019

  1. Copy the full SHA
    3a1c074 View commit details

Commits on May 10, 2019

  1. Merge pull request #70 from docker/2.4.0-a47-u25-w5-p6-20190509-rc1

    2.4.0 a47 u25 w5 p6 20190509 rc1
    chubing committed May 10, 2019
    Copy the full SHA
    e4a21c4 View commit details

Commits on May 15, 2019

  1. Copy the full SHA
    d246509 View commit details
  2. Update grouper-www.conf

    chubing committed May 15, 2019
    Copy the full SHA
    c23674d View commit details
  3. Update grouper-www.conf

    chubing committed May 15, 2019
    Copy the full SHA
    0439471 View commit details
  4. Merge pull request #71 from docker/2.4.0-a47-u25-w5-p6-20190515-rc1

    remove ROOT dir in Tomcat, add / to /grouper redirect
    chubing committed May 15, 2019
    Copy the full SHA
    469f8ed View commit details

Commits on Jun 8, 2019

  1. Fixed bad JEXL/elConfig example in README.md

    The JEXL/elConfig example in the README.md documentation will not work
    to read the database password from a file path pointed to by an
    environment variable because the first argument to
    org.apache.commons.io.FileUtils.readFileToString() must be an instance
    of java.io.File and not String. This commit fixes that with an example
    that is tested to work with Grouper 2.4.x.
    skoranda committed Jun 8, 2019
    Copy the full SHA
    3ca9108 View commit details

Commits on Jun 12, 2019

  1. Copy the full SHA
    904f6d8 View commit details
Showing with 40 additions and 19 deletions.
  1. +15 −10 Dockerfile
  2. +3 −4 Jenkinsfile
  3. +12 −3 README.md
  4. +4 −1 container_files/grouper.installer.properties
  5. +4 −0 container_files/httpd/grouper-www.conf
  6. +1 −0 container_files/morphString.properties
  7. +1 −1 test-compose/data/Dockerfile
25 changes: 15 additions & 10 deletions Dockerfile
@@ -39,6 +39,9 @@ RUN echo 'Downloading Grouper Installer...' \
&& wget -q -O /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar http://software.internet2.edu/grouper/release/$GROUPER_VERSION/grouperInstaller.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; \
@@ -50,7 +53,7 @@ RUN echo 'Installing Grouper'; \
FROM centos:centos7 as cleanup

ENV GROUPER_VERSION=2.4.0 \
TOMCAT_VERSION=8.5.12 \
TOMCAT_VERSION=8.5.42 \
TOMEE_VERSION=7.0.0

COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar /opt/grouper/
@@ -63,20 +66,20 @@ COPY --from=installing /opt/grouper/$GROUPER_VERSION/apache-tomcat-$TOMCAT_VERSI
COPY --from=installing /opt/grouper/$GROUPER_VERSION/apache-tomee-webprofile-$TOMEE_VERSION/ /opt/tomee/
COPY --from=installing /etc/alternatives/java /etc/alternatives/java

ADD http://central.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomcat/bin
ADD http://central.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomcat/bin
ADD http://central.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/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 http://central.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin
ADD http://central.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin
ADD http://central.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomee/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

RUN cd /opt/grouper/grouper.apiBinary/; \
rm -fr ddlScripts/ grouper.lck grouper.log grouper.script grouper.tmp/ gshAddGrouperSystemWsGroup.gsh logs/
rm -fr ddlScripts/ grouper.properties grouper.lck grouper.log grouper.script grouper.tmp/ gshAddGrouperSystemWsGroup.gsh logs/

RUN cd /opt/tomcat/; \
chmod +r bin/log4j-*.jar; \
rm -fr webapps/docs/ webapps/examples/ webapps/host-manager/ webapps/manager/ logs/* temp/* work/* conf/logging.properties
rm -fr webapps/docs/ webapps/examples/ webapps/host-manager/ webapps/manager/ webapps/ROOT/ logs/* temp/* work/* conf/logging.properties

RUN cd /opt/tomee/; \
chmod +r bin/log4j-*.jar; \
@@ -89,7 +92,7 @@ COPY container_files/tomcat/ /opt/tomcat/
COPY container_files/tomee/ /opt/tomee/


FROM tier/shibboleth_sp
FROM tier/shibboleth_sp:3.0.4_03122019

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
@@ -144,6 +147,8 @@ WORKDIR /opt/grouper/grouper.apiBinary/

EXPOSE 80 443

HEALTHCHECK NONE

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

CMD ["bin/gsh", "-loader"]
7 changes: 3 additions & 4 deletions Jenkinsfile
@@ -21,12 +21,11 @@ pipeline {
echo "You must define an imagename in common.bash"
currentBuild.result = 'FAILURE'
}
sh 'mkdir -p bin'
sh 'mkdir -p tmp'
sh 'mkdir -p tmp && mkdir -p bin'
dir('tmp'){
git([ url: "https://github.internet2.edu/docker/util.git", credentialsId: "jenkins-github-access-token" ])
sh 'ls'
sh 'mv bin/* ../bin'
sh 'rm -rf ../bin/*'
sh 'mv ./bin/* ../bin/.'
}
// Build and test scripts expect that 'tag' is present in common.bash. This is necessary for both Jenkins and standalone testing.
// We don't care if there are more 'tag' assignments there. The latest one wins.
15 changes: 12 additions & 3 deletions README.md
@@ -1,4 +1,10 @@
[![Build Status](https://jenkins.testbed.tier.internet2.edu/job/docker/job/grouper/job/master/badge/icon)](https://jenkins.testbed.tier.internet2.edu/job/docker/job/grouper/job/master/)
[![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)



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
@@ -10,17 +16,20 @@ In particular, in subject.properties, *.param.base.value should be adjusted to o

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* (i.e. 2.3.0-a97-u41-w11-p16)
- 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

@@ -167,7 +176,7 @@ For passing full files into the container, this container will make any secrets
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(java.lang.System.getenv().get('GROUPER_DATABASE_PASSWORD_FILE'), "utf-8") : java.lang.System.getenv().get('GROUPER_DATABASE_PASSWORD') }
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.
5 changes: 4 additions & 1 deletion container_files/grouper.installer.properties
@@ -14,9 +14,12 @@ grouperInstaller.default.installOrUpgrade = install
##
##############################

grouperInstaller.autorun.forceInstallPatch = t
grouperInstaller.autorun.installAllPatches = false
grouperInstaller.autorun.installPatchesUpToACertainPatchLevel = true
grouperInstaller.autorun.installPatchesUpToThesePatchLevels = grouper_v2_4_0_api_patch_25,grouper_v2_4_0_ui_patch_11,grouper_v2_4_0_ws_patch_2,grouper_v2_4_0_pspng_patch_2
# 2.4.0-a93-u56-w11-p12-20200214-rc1
grouperInstaller.autorun.installPatchesUpToThesePatchLevels = grouper_v2_4_0_api_patch_93,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
4 changes: 4 additions & 0 deletions container_files/httpd/grouper-www.conf
@@ -7,6 +7,10 @@ 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

RewriteEngine on
RewriteCond %{REQUEST_URI} "^/$"
RewriteRule . %{REQUEST_SCHEME}://%{HTTP_HOST}/grouper/ [R=301,L]

<Location /grouper>
AuthType shibboleth
ShibRequestSetting requireSession 1
1 change: 1 addition & 0 deletions container_files/morphString.properties
@@ -0,0 +1 @@
encrypt.key=fh43IRJ4Nf5
2 changes: 1 addition & 1 deletion test-compose/data/Dockerfile
@@ -11,7 +11,7 @@ RUN yum install -y epel-release \
&& yum clean all \
&& rm -rf /var/cache/yum

RUN mysql_install_db \
RUN mysql_install_db --force \
&& chown -R mysql:mysql /var/lib/mysql/ \
&& sed -i 's/^\(bind-address\s.*\)/# \1/' /etc/my.cnf \
&& sed -i 's/^\(log_error\s.*\)/# \1/' /etc/my.cnf \