Installation¶
Une fois les prérequis en place (Ansible, Docker Swarm et initialisation du cluster), il est possible de personnaliser le déploiement de PROVISION à l’aide de variables Ansible. Ces options permettent notamment de configurer la gestion des certificats SSL et le comportement de Nginx.
Tip
La configuration des paramètres d’installation doit être définie avant l’exécution de la commande d’installation finale.
Important
Configuration de Nginx¶
Voici les variables qui peuvent être configurées :
PROVISION_NGINX_PORT : port d’écoute (par défaut 8443)
PROVISION_NGINX_SSL_VERIFY_CLIENT : activer/désactiver vérification SSL
PROVISION_NGINX_SSL_CLIENT_S_DN : DN attendu dans les certificats clients
Certificats SSL¶
Nginx¶
Pour sécuriser les échanges, les micro-services communiquent entre eux en mTLS, ce qui impose une gestion des certificats.
Deux modes sont possibles :
Utilisation automatique¶
Par défaut, le rôle Ansible reemo-provision utilise automatiquement la PKI générée par le rôle reemo-infra. Dans ce cas, aucune configuration supplémentaire n’est nécessaire dans l’inventaire : les certificats sont déjà créés et disponibles dans le répertoire produit par reemo-infra.
Configuration manuelle¶
Il est aussi possible de générer soi-même les certificats SSL pour l’URL : reemo_provision
Il faut ensuite renseigner dans l’inventaire Ansible les chemins locaux vers la clé et le certificat. Ils seront copiés automatiquement vers le cluster Docker Swarm par le rôle reemo-provision.
Exemple :
provision:
vars:
CA_SSL_CRT_LOCALPATH: "/local/path/ca.crt"
PROVISION_SSL_CRT_LOCALPATH: "/local/path/reemo_provision.crt"
PROVISION_SSL_KEY_LOCALPATH: "/local/path/reemo_provision.key"
children:
provision_manager:
hosts:
provision_manager1:
ansible_host: "10.10.0.1"
provision_worker:
hosts:
provision_worker1:
ansible_host: "10.10.0.2"
Installation finale¶
Une fois votre inventaire terminé, vous pouvez effectuer l’installation finale de l’environnement PROVISION avec le rôle Ansible reemo-provision.
ansible-playbook -i inventory.yml playbooks/reemo-provision.yml