101.9.2
101.11
Viewers group
etc:sysadmingroup
Quartz cron
0 * * * * ?
Report query
select subject_id, count(*) the_count from grouper_memberships_lw_v where group_name REGEXP '^ref:student:class[0-9]{4}$' group by subject_id having count(*) > 1 order by 1
221.2
Remove current running container
docker rm -f 101.1.1
Work in a directory that can be easily cleaned up
mkdir quickstart cd quickstart
Start the quickstart
docker run --detach --name grouper-qs \ --publish 8443:443 -e GROUPER_MORPHSTRING_ENCRYPT_KEY=abcdefg12345dontUseThis \ -e GROUPERSYSTEM_QUICKSTART_PASS=pass i2incommon/grouper:2.5.29 quickstart
Stop the quick start (and remove the container)
docker rm -f grouper-qs
Copy WS client out of container
docker cp grouper-qs:/opt/grouper/grouperWebapp/WEB-INF/lib/grouperClient-2.5.29.jar .
Edit config file for WS client, “i” to insert and “<esc> : wq “ to save and exit
vi grouper.client.properties
Contents of config file
############ grouperClient.webService.url = https://localhost:8443/grouper-ws/servicesRest grouperClient.webService.login = GrouperSystem grouperClient.webService.password = pass # turn off SSL until a real SSL certificate is installed # NOTE, THIS IS NOT GOOD SECURITY AND IS FOR THE QUICK START ONLY! grouperClient.https.customSocketFactory = edu.internet2.middleware.grouperClient.ssl.EasySslSocketFactory ############
Install Java and some components
sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget mlocate sudo updatedb export JAVA_HOME=/usr/lib/jvm/java-1.8.0 export PATH=$JAVA_HOME/bin:$PATH java -version
Call WS
java -jar grouperClient-2.5.29.jar --operation=getSubjectsWs --subjectIds=GrouperSystem --debug=true
Verify image hash
docker image inspect i2incommon/grouper:2.5.29 | grep i2incommon/grouper@sha256
Make command line script
vi grouperQsDockerRun.sh
Command line script contents
#!/bin/bash docker run --detach --name grouper-qs \ --publish 8443:443 -e GROUPER_MORPHSTRING_ENCRYPT_KEY=abcdefg12345dontUseThis \ -e GROUPERSYSTEM_QUICKSTART_PASS=pass i2incommon/grouper:2.5.29 quickstart
Make executable
chmod +x grouperQsDockerRun.sh
Mount database from host
mkdir hsqldb chmod 777 hsqldb pwd vi grouperQsDockerRun.sh
Database mount docker snippet, “i” to insert and “<esc> : wq “ to save and exit
--mount type=bind,src=[dir]/hsqldb,dst=/opt/hsqldb
This is what script should look like
#!/bin/bash docker run --detach --name grouper-qs --mount type=bind,src=/home/student/quickstart/hsqldb,dst=/opt/hsqldb \ --publish 8443:443 -e GROUPER_MORPHSTRING_ENCRYPT_KEY=abcdefg12345dontUseThis \ -e GROUPERSYSTEM_QUICKSTART_PASS=pass i2incommon/grouper:2.5.29 quickstart
Cleanup
docker rm -f grouper-qs cd .. rm -rf quickstart
221.3
Start the lesson and get a database
mkdir maturity0 cd maturity0 docker run --name postgres -e \ POSTGRES_PASSWORD=pass -d -p 5432:5432 \ postgres:12
Init the database
docker exec -it -u postgres postgres psql
CREATE USER grouper SUPERUSER PASSWORD 'pass';
CREATE DATABASE grouper;
GRANT ALL PRIVILEGES ON DATABASE grouper TO grouper;
\q
Install Java and get IP address
sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget mlocate sudo updatedb export JAVA_HOME=/usr/lib/jvm/java-1.8.0 export PATH=$JAVA_HOME/bin:$PATH java -version ifconfig
Get installer
wget https://repo1.maven.org/maven2/edu/internet2/middleware/grouper/grouper-installer/2.5.22/grouper-installer-2.5.22.jar
Run installer
java -jar grouper-installer-2.5.22.jar
Database URL (sub in IP address)
jdbc:postgresql://a.b.c.d:5432/grouper (sub in ip address)
Database user
grouper
Database password and GrouperSystem password
pass
Port
8443
Look in logs
cat logs/grouper.log
SSH in
docker exec -it grouper-ui /bin/bash