Déploiement VITAM-UI
Préparation
Inventaire
Dans environments
, créer un inventaire depuis hosts.example
Adaptation des group_vars
Sous environments/group_vars/all
, éditer les fichiers au besoin:
Fichier ansible_options.yml
Permet de gérer le nombre de tentatives d'installation de packages, ainsi que le délai entre chaque tentative. Les valeurs par défaut devraient être suffisantes.
Fichier consul_vars.yml
Permet de gérer le paramétrage de Consul. Le paramètre utile est network: "ip_admin", par défaut donc, relié sur le réseau identifié par les host_vars "ip_admin".
Si consul vitam-ui doit être rattaché à consul vitam, décommenter la fin du fichier et paramétrer "à la vitam".
Fichier elasticsearch_log_vars.yml
Ce fichier permet la configuration du cluster Elasticsearch sur lequel logstash envoie les données.
Fichier infra.yml
~~~~~~~~~~~~~~~~~~~~~
Ce fichier décrit l'acèès à des services d'infrastructure :
- accès à un serveur d'envoi de mail (smtp)
- plate-forme d'enoi de SMS (pour désactive cette section, passer à
enabled: false
)
Fichier kibana_vars.yml
Paramérage vitam-like pour kibana (semble inutile)
Fichier logstash_vars.yml
Paramétrage du composant vitamui-logstash
:
- nom du package
- nom du service
- ports d'écoute
- gestion des log (rétention, tailles max, ...)
Fichier mongo_express_vars.yml
Paramétrage du composant mongo-express
:
- nom du package
- nom du service
- port découte
- base URI
Fichier mongodb_vars.yml
Paramétrage de MongoDB :
- nom du package
- nom du service
- port d'écoute
- fréquence du check consul associé
- niveau de verbosité de mongoDB
- nom du réplicatset (fonction du paramètre d'inventaire
mongo_shard_id
) - timeout de connexion pour les applications clientes
Fichier repositories.yml
Permet, par un playbook ansible, de configurer les repositories à utiliser pour déployer vitam-ui. Renseigner les URL conformément à votre infrastructure.
Fichier reverse_proxy_conf.yml
Permet de choisir le reverse proxy frontal. Par défaut, apache.
Les valeurs acceptées sont : * apache * nginx
Fichier vault_consul.yml
Warning
Pour le moment, ce fichier n'est pas encrypté par ansible-vault
Permet de gérer l'encryption des messages consul.
Fichier vault_mongo_express.yml
Permet de gérer une basic auth au niveau de l'accès à mongo-express. Laisser vide n'active pas la basic auth.
Fichier vault_mongodb.yml
Warning
Pour le moment, ce fichier n'est pas encrypté par ansible-vault
gestion de la passphrase mongoDB. Gestion des utilisteurs et de leurs droits associés
Fichier vault-keystores.yml
Note
Fichier encrypté par ansible-vault
.
Se baser sur le fichier vault-keystore.yml.example
Sont contenus les mots de passe des différents stores au format JKS
gérés par la PKI.
Fichier vault-vitamui.yml
Warning
Pour le moment, ce fichier n'est pas encrypté par ansible-vault
Contient le nginx_cert_key_password
Fichier vitam_vars.yml
Fichier à paramétrer avec les informations de VITAM, en particulier les changements de ports par rapport à une installation "par défaut".
La section vitam_certs
contient les informations des certificats pour connecter vitam-ui à vitam.
Les fichiers *.p12
associés doivent être stockés dans environments/certs_vitam
.
Fichier vitamui_vars.yml
"A la vitam", permet le paramétrage des différents composants de vitam-ui.
La section vitamui_platform_informations
permet de définir une première entité, ainsi que quelques comptes "administrateur".
platform_name est utilisé pour définir / surcharger le nom de l'application qui sera récupéré sur les applications frontend et affiché par exemple dans le titre de la page.
Pour définir les couleurs de base du système visibles par défaut sur l'ensemble des interfaces utilisateurs, il faut surcharger cette structure :
``
- theme_colors:
- vitamui_primary: "#ff4a54" vitamui_secondary: "#241f63"
``
Surcharge
Editer le fichier vitamui_extra_vars.yml
pour surcharger les variables de group_vas/all
si nécessaire.
Mise en place
Playbook bootstrap.yml
Une fois le paramétrage des group_vars/all
et éventuels extra vars effectué, il est possible de bootstraper les VM déclarées dans l'inventaire pour pointer sur les repositories de binaire de vitam-ui :
Playbook
ansible-playbook -i <inventaire> bootstrap.yml --vault-password-file vault_pass.txt (-e extra_vars, si nécessaire)
PKI
Depuis le répertoire deployment
, lancer les scripts suivants
./pki/scripts/generate_ca.sh
./pki/certs/generate_certs.sh <inventaire>
./generate_stores.sh <inventaire>
Cette PKI, fournie à vocation de tests, permet de créer CA, certificats et stores conformément aux besoins de vitam-ui et en se basant sur les informations renseignées dans group_vars/all
et l'inventaire.
Création des host_vars
Le script suivant permet de définir, pour les VM déclarées dans l'inventaire, des host_vars. Ces informations peuvent être mordiées ensuite.
Playbook
ansible-playbook -i <inventaire> generate_hostvars_for_1_network_interface.yml --vault-password-file vault_pass.txt (-e extra_vars)
Création des repositories
ansible-playbook --become -i <inventaire> bootstrap.yml --vault-password-file vault_pass.txt [ --extra-vars=@./environments/vitamui_extra_vars.yml ]
Déploiement
Playbook
ansible-playbook -i <inventaire> vitamui.yml --vault-password-file vault_pass.txt [ --extra-vars=@./environments/vitamui_extra_vars.yml ]
Désinstallation
Playbook
ansible-playbook -i <inventaire> uninstall.yml --vault-password-file vault_pass.txt [ --extra-vars=@./environments/vitamui_extra_vars.yml ]