...
De notre installation précédente, on conserve le apache avec le mod_shib sur le host ainsi que la base de données postgresql (veilliez à ne pas exposer le port AJP en dehors de la machine, avec docker, qui modifie le iptables à la volée, spécifier l'ip locale 127.0.0.1 est simple et efficace → ports: - '127.0.0.1:7009:7009' ).
On fait en sorte d'avoir un minimum de configurations sous forme de fichiers de configurations à plat ; dit autrement, on importe toutes les configurations dans la base de données.
On fait cela via l'interface graphique.
Depuis Home > Miscellaneous > Configure > Configuration files on importe les fichiers de notre répertoire conf
Seul le fichier morphString.properties restera en fichier à plat pour y indiquer une clef de chiffrement ; en plus de cette configuration, le grouper n'a besoin en configuration docker que des paramètres de connexion à la base de donnéesOn fait donc tourner sous docker les services grouper à proprement parler, avec un container par usage : 1 pour l'interface web, 1 pour le web-service et 1 pour le daemon.
Nous proposons ici l'usage d'un simple docker-compose.yml afin de tout consolider dans un seul fichier (mais on aurait pu se contenter d'appeler directement du docker simplement), un établissement ayant une infrastructure de conteneurisation se passera du docker-compose pour privilégier son orchestrateur en place.
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
services:
grouper-ui:
image: "i2incommon/grouper:5.13.1"
restart: always
ports:
- '127.0.0.1:8009:8009'
command:
- ui
env_file: "grouper.env"
environment:
- GROUPER_TOMCAT_AJP_PORT=8009
volumes:
- ./slashRoot:/opt/grouper/slashRoot
- /var/log/grouper-ui-logs:/opt/grouper/logs
- ./logo_univrouen.png:/opt/grouper/grouperWebapp/grouperExternal/public/assets/images/logo_univrouen.png
grouper-ws:
image: "i2incommon/grouper:5.13.1"
restart: always
ports:
- '127.0.0.1:7009:7009'
command:
- ws
env_file: "grouper.env"
environment:
- GROUPER_TOMCAT_AJP_PORT=7009
volumes:
- ./slashRoot:/opt/grouper/slashRoot
- /var/log/grouper-ws-logs:/opt/grouper/logs
grouper-daemon:
image: "i2incommon/grouper:5.13.1"
restart: always
command:
- daemon
env_file: "grouper.env"
volumes:
- ./slashRoot:/opt/grouper/slashRoot
- /var/log/grouper-daemon-logs:/opt/grouper/logs |
...
| Bloc de code | ||
|---|---|---|
| ||
GROUPER_DATABASE_PASSWORD=esup GROUPER_DATABASE_USERNAME=grouper GROUPER_DATABASE_URL=jdbc:postgresql://grosville:5432/grouper GROUPER_AUTO_DDL_UPTOVERSION=v5.*.* GROUPER_TOMCAT_HTTPS_PORT=-1 GROUPER_WS_GROUPER_AUTH=true GROUPER_LOG_TO_HOST=true GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES=192.168.0.3_EDITOR_SOURCEIPADDRESSES=192.168.0.3 GROUPER_EXTRA_CATALINA_OPTS="-Duser.country=FR -Duser.language=fr -Duser.timezone=Europe/Paris" |
slashRoot/opt/grouper/grouperWebapp/WEB-INF/classes/morphString.properties
...
Par défaut, Grouper ne purge aucune de ces données, ce qui amène la base de données à grossir continuellement. Si vous souhaitez maintenir une base de données sur un volume contraint au fil des années, vous pouvez configurer loader.retain.db.audit_entry_no_logged_in_user.days
Ce nettoyage se fait au travers du daemon 'OTHER_JOB_cleanLogs' qui se fait par défaut une fois par jour et que vous pouvez actionner manuellement au besoin au travers de l'IHM toujours.
Debug
Si vous avez besoin de faire du debug pour détecter un comportement suspect ou un problème, le grouperdaemon peut se lancer en mode debug comme toute application Java, à vous ensuite d'utiliser un IDE (eclipse ou idea) permettant de positionner des breakpoints et autres.
...
