Skip to content
Snippets Groups Projects
user avatar
authored

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 ]