Dépôt source : https://github.com/EsupPortail/esup-apereo-cas-docker
Objectifs
esup-apereo-cas-docker propose des images Docker qui embarquent un serveur Apereo CAS (Central Authentication Service) pré-configuré, dont le but est d'être accompagné d'un annuaire OpenLDAP peuplé de comptes de test.
Son objectif est de fournir aux développeurs et aux intégrateurs un environnement d'authentification CAS autonome, utilisable localement sans aucune connexion au système d'information réel de l'établissement.
Ce projet répond à plusieurs besoins :
- Développement : permettre à un développeur de travailler sur une application protégée par CAS sur son poste local, sans compte de service, sans accès au CAS ou au LDAP institutionnel, et sans risque d'impacter l'infrastructure réelle.
- Test : disposer d'un environnement reproductible et maîtrisé (comptes, groupes, attributs LDAP connus) pour exécuter des tests d'intégration ou de non-régression de manière fiable, en CI/CD comme en local.
- Démonstration : proposer une possibilité de tester rapidement une application en local, avec comme "seul" prérequis la possibilité de lancer un docker compose.
Ce projet n'a absolument pas pour but de proposer un environnement de production ; pour la production, référez-vous à la documentation officielle d'Apereo CAS.
Description
Deux images sont proposées actuellement :
ghcr.io/esupportail/apereo-cas-ldap: CAS avec le support de l'authentification LDAP - à utiliser pour la plupart des projets proposant une authentification CASghcr.io/esupportail/apereo-cas-ldap-mfa: CAS avec le support de l'authentification LDAP et du MFA (simple mfa de CAS) - utilisé dans le cadre du développement d'esup-otp-cas.
Exemple simple
https://github.com/EsupPortail/esup-apereo-cas-docker propose lui-même un exemple simple d'un docker-compose pour lancer un CAS avec un Openldap et des configurations usuelles.
Une fois récupéré le projet (cloné via git éventuellement), depuis la racine du dépôt, vous pouvez lancer :
docker compose -f docker-compose-example.yml up
CAS démarre et devient accessible à l'adresse : http://localhost:8080/cas
Trois comptes de test sont proposés : admin, joe et jack - le mot de passe étant pour chacun 'pass'.
Ces comptes sont portés par le openldap monté par le docker-compose, aussi en plus du docker-compose-example.yml à regarder, consultez également l’ensemble des fichiers de configurations proposées dans le répertoire docker-example.
Exemples sur des projets ESUP
esup-pay
Le projet esup-pay propose un docker-compose de développement qui monte :
- un serveur PostgreSQL
- un annuaire OpenLDAP
- un serveur CAS (via l'image esup-apereo-cas-docker donc)
Comme indiqué dans son README, un profil permet de lancer dans le même temps l’application esup-pay elle-même.
Reportez vous sur le fichier docker4dev/docker-compose.yml d'esup-pay pour plus de détails.
esup-filemanager
esup-filemanager propose également une intégration similaire pour test/développement/démonstration
https://github.com/uPortal-Project/esup-filemanager/tree/master/src/etc
esup-otp-cas
Et enfin esup-otp-cas nous a amené à pousser l'image apereo-cas-ldap-mfa, via l'implémentation d'un docker-compose, c'est l'ensemble de l'infrastructure serveur du projet esup-otp, soit cas/esup-otp-cas/esup-otp-api/esup-otp-manager qui est opérationnel via une commande docker : https://github.com/EsupPortail/esup-otp-cas/tree/master/src/etc
Publication des images Docker de esup-apereo-cas-docker
Comme indiqué dans le README du projet, de nouvelles versions des images peuvent être poussés par les mainteneurs esup-portail du projet en poussant un nouveau tag dans le github : une tâche d'intégration continue de github se chargeant de builder les images docker pour les pousser dans ghcr.io. La procédure est assez simple, si vous avez un besoin particulier pour une nouvelle version ou support, vous pouvez nous faire une issue ou même un pull-request sur l'entrepôt directement.