-
Makhtar DIAGNE authored
* [TECH] Nginx add referential apps * [TECH] Fix theme default logo * [TECH] Fixes from PR review * [TECH] Strange fixes for ui-referential (why was it working) * Update ui/ui-frontend/projects/identity/src/locale/messages.xlf Co-authored-by:
CouzinieAtCines <62284459+CouzinieAtCines@users.noreply.github.com> * [TECH] Merge fixes * compilation works * it runs * fix login/pwd authentication * handle provided username * some refactoring * login/pwd + authn delegation works (with or without service) * surrogation works * change password is triggered when the user is already authenticated using the doChangePassword parameter * password management * final tests on surrogation * WIP MFA * MFA works * [TECH] Update project from JAVA8 to JAVA11 with dependencies * [TECH] Remove unused jks files in integration data * fix back links * don't lost surrogation when bad password * [TECH] CAS set metrics dependency for prometheus * clean Spring config and open management endpoints * fix surrogation lost on bad password * [TECH] Configure Prometheus for SpringBoot services * [TECH] Use smtp4dev in our dev environment * [TECH] RPM update jdk from 1.8 to 11 * [DEVOPS] Fix unknown variable vitamui_services.x.dir.assets * [DEVOPS] Update scripts for deployment * [DLAB-3453] Update operation in order to extend it * [DLAB-3453] Remove priority on OperationStatus * [US DLAB-3806] Add pdf generation with images[US DLAB-3806] Add TU on PDF generation * ⅜TECH] Fix merge deployment task * fix session hard timeout instead of idle timeout * upgrade to CAS v6.1.6 and pac4j v4.0.0 * [TECH] CAS Security : add hostnameverifier optional property, activated by default * [devops] add validation of java 11 * [DEVOPS] Fix vitam-ui dpeloyment * [WIP] Upgrade logstash config according to Java 11 * [TECH] Update deployment * [TECH] Security / Authentification : Fix token increment * [TECH] Fix deployment maven build * RABB-519: corrige l'erreur en cas de ticket expiré * [TECH] Remove compiler overloading in cas server pom * [DEVOPS] Improve mongo deployment * [TECH] Update nginx conf in order to view objects * [devops] add tags for service installation * [DEVOPS] Add vitamui uninstallation * [devops] put consul as vitam service * [TECH] Frontend : Some cleaning & optimization optimisation * [TECH] FIx ui frontend plugin & configuration * [TECH] Fix recette configuration * [TECH] CAS : Set default data for twilio account * [TECH] Fix deployment uninstall when file is absent * [TECH] Cas : fix war build with tomcat dependencies * [TECH] Fix ui frontend plugin and configuration (bis) * [TECH] CAS 6.1.6 : update static templates, js & add theming variables * [FIX RABB-579] Fix error sending mail from iam-internal * [TECH] Frontend use assets from ui-frontend-common & update branding * [FIX RABB-539] Handle redirections for CAS Authentication failure * [TECH] Frontend : add gzip compression * [TECH] Uninstall remove assets * [FIX RABB-555] Fix cas deployment config and password init for a new user * [TECH] Fix merge * [TECH] Fix merges * Update Jenkinsfile Changed label from "contrib" to "java11" for building purpose * Update Jenkinsfile * fix cas-server dependencies, styles ui-ref, deployment archive * fix test iam-internal * redo tar.gz * zip deployment * add prod profile for frontend * fix maven-assembly-plugin version and webpack profile * Try generating zip package archive Co-authored-by:
Makhtar DIAGNE <makhtar.diagne@teamdlab.com> Co-authored-by:
CouzinieAtCines <62284459+CouzinieAtCines@users.noreply.github.com> Co-authored-by:
Jérôme LELEU <jerome.leleu@teamdlab.com> Co-authored-by:
Mathieu Leguay <mathieu.leguay@teamdlab.com> Co-authored-by:
Franck Bebel <franck.bebel@ouidou.fr> Co-authored-by:
deviller <burma@free.fr> Co-authored-by:
Thierry Devillechabrolle <60743409+TDevillechabrolle@users.noreply.github.com> Co-authored-by:
app-jenkins <romain.gordolo@xelians.fr> Co-authored-by:
Gaëlle FOURNIER <gaelle.fournier.work@gmail.com>
Unverifiedd3ea578b
Modules Cots
Guidelines
Les COTS, software utlises par les solutions VITAMUI et VITAM, sont tous open-source. Pour des besoins de maintenabilite et de securites, ils sont entierement repackages au format RPM puis publies sur les repository yum VITAMUI.
VITAMUI s'appuie sur deux types de COTS dans son architecture:
-
les COTS fournit par vitam auxquels VITAMUI se branche.
-
les COTS utilises uniquement par VITAMUI
Le packaging des COTS suivront les principes suivants:
-
Les noms de package cots seront de la forme vitamui|vitam-COTS_NAME. Les services systemd installes sur les systemes suivront la meme convention de nommage
-
Les fichiers repackages permettront d'appliquer la protection de droits users system vitamui,vitam,vitamuidb,vitamdb
-
Dans la mesure du possible les packages COTS rpm pourront contenir l'ensemble des fichiers du software
-
Dans le cas contraire, le packages COTS VITAMUI|VITAM contiendrons des dependances vers les packages RPM officiels. Ils fourniront comme fichiers l'unit systemd du service COTS et des fichiers de configurations stockes dans le systeme de fichiers VITAMUI/VITAM permettant de proteger le lancement du service par les droits users systeme linux.
Le packaging specifique des cots VITAMUI contiendra un Makefile dedie pour chaque afin d'adapter la generation du contenu des packages. Ils pourront egalement contenir des templates de packaging dedies pouvant redefinir les fichiers unit systemd, les fichiers de configurations, les scripts d'installation RPM executes.
Le repackaging entier des COTS est la technique a priviligier pour les raisons suivantes:
-
l'installation / desinstallation des fichiers pourra se faire entierement dans les scripts RPM
-
aucune dependance RPM donc pas d'etapes d'installation / desinstallation supplementaire et pas de gestion de repository supplementaire si la dependance n'est pas dans les repository officiels RedHat ou epel-release.
-
Eventuellement, les sources/binaires des cots pourront etre conserves dans le repository vitamui.
Liste des cots Vitam
- consul
- mongo*
- mongo-express
- syslog
- elasticsearch
- curator
- siegfried
- cerebro
- logstash
- kibana
- apache
Liste des cots VITAMUI
- consul
- logstash
- syslog
- mongo*
- nginx
Packaging des cots VITAMUI
vitamui-consul
Le soft consul sera entierement repackager dans vitamui-consul. Ce package contiendra
- le binaire consul dans /vitamui/bin/consul/consul,
- le fichier unit systemd vitamui-consul.service
- la ligne de commande consul dans /vitamui/conf/consul/sysconfig
Mise a jour de la version de consul:
La version de consul embarquee dans le package sera parametrable au niveau du fichier pom.xml du cots vitamui-consul (fichier vitamui/cots/vitamui-consul/pom.xml). Ce nom de version sera transmis en parametre du makefile qui telechargera le binaire consul dans la bonne version
...
<argument>CONSUL_VERSION=1.4.1</argument>
...
vitamui-logstash
Le soft logstash sera entierement repackage dans vitamui-logstash a partir de l'archive des sources Logstash. Le package RPM contiendra:
- les librairies Java et fichiers de logstash
- les fichiers de configuration de logstash adapte au file system vitamui dans /vitamui/conf/logstash
- l'unit systemd vitamui-logstash
Les scripts d'installation RPM appliquerons les droits vitamuidb au package logstash (a corriger).
Mise a jour de la version de logstash:
La version de logstash embarquee dans le package sera parametrable au niveau du fichier pom.xml du cots vitamui-logstash (fichier vitamui/cots/vitamui-logstash/pom.xml). Ce nom de version sera transmis en parametre du Makefile qui telechargera l'archive de source logstash correspondant a la version choisie.
...
<argument>LOGSTASH_VERSION=7.6.0</argument>
...
vitamui-nginx
Le package COTS vitamui-nginx installera le soft nginx par le biais d'une dependance RPM. Cette dependance ira chercher le binaire NGINX depuis le repository epel-release. Le package vitamui-nginx contiendra:
- l'unit systemd vitamui-nginx
- la configuration du logrotate de NGINX dans le systeme de fichier vitamui
Mise a jour de la version de NGINX:
La version latest de NGINX sera installee sur le systeme. La mise a jour du softs s'effectuera a partir d'une update yum.
vitamui-mongod
Le package COTS vitamui-mongod installera le soft mongo-org par le biais d'une dependance RPM. Cette dependance ira chercher le binaire NGINX depuis les repository officiels mongo. Le package vitamui-mongod contiendra:
- l'unit systemd vitamui-nginx
- la configuration du logrotate de mongo dans le systeme de fichier vitamui
La dependance vers mongod-org apportera sur le systeme les softs mongod, mongoc, mongos, mongodump, mongocli.
Mise a jour de la version de mongod:
La version mongo sera parametree au niveau du repository mongod installee sur le systeme. L'url de ce repository est renseignee dans le deploiement (var mongo_repository_url, https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/{{ mongod_version }}/x86_64/)
-
mise a jour mineure de mongo: => yum update via le deploiement (non teste encore et mongo est installe en version latest sur le systeme).
-
mise a jour majeure de mongo: modifier dans le deplioement la variable mongod_version au niveau du fichier environment/group_vars/all/mongod.yml.
- pour un redeploiement from scratch, la version sera prise en compte au niveau de l'installation
- pour la mise a jour d'un environnement, suivre la procedure de mise a jour mongo
vitamui-mongo-express
Le package rpm vitamui-mongo-express est entierement repackage a partir de de l'installation via npm. Le package contient toutes les sources de mongo-express installee dans /vitamui/app/mongo-express et le ficher unit systemd de vitamui-mongo-express.
Mise a jour de la version de mongo-express
Pour modifier la version de mongo express, editez la dans le fichier cots/vitamui-mongo-express/package.json.