Initialisation de l'environnement
22 octobre 2025 à 16:34Le développeur opérationnel ou l’administrateur système ayant besoin d’utiliser cet outil doit initialiser son environnement d’utilisation.
Il y a plusieurs modes d’installation :
Avec la machine Vagrant fournie, quelque soit le système d’origine ;- Avec Debian GNU/Linux, sur Windows 10 ;
- Avec le système local sous Linux ;
Il est nécessaire que soit :
- L’utilisateur possède déjà l’accès à l’ensemble des serveurs avec sa clé privée SSH ;
- Un autre utilisateur ayant déjà l’accès est disponible pour lui installer les autorisations ;
Initialisation commune
Dans un premier temps, cloner le dépôt : git clone git@gitlab.mon-oncle.fr:system/ansible-deployment/base.git
Le fichier de clé de chiffrement pour les fichiers protégés (variables de mot
de passe de clé privée, par exemple) doit être récupéré. Il est disponible sur
Sharepoint.
Le fichier se nomme .vault_pass. Il peut dans un premier temps être
téléchargé à la racine du projet.
Initialisation avec Vagrant
Initialisation avec Debian GNU/Linux on Windows
Dans la suite, soit votre utilisateur Windows myuser et le chemin relatif
du dossier de ce projet project_path, supposé sous votre dossier de profil.
- Initialiser l’environnement Debian GNU/Linux, bullseye minimum, si ce n’est pas déjà fait ;
- Copier le fichier
.vault_passdans votre dossier d’accueil de l’environnement ;cp /mnt/c/Users/myuser/project_path/.vault_pass ~/ chmod -x ~/.vault_pass - Créer un lien symbolique vers le projet de déployment dans le dossier
d’accueil de votre utilisateur :
ln -s /mnt/c/Users/myuser/project_path/ansible ~/ansible_root - Exécuter
bash /mnt/c/Users/myuser/project_path/build/provision-debian.sh - Exécuter
ssh-keygen -b 4096 -C "${USER}@$(hostname)-deployment" -q -t rsa -f ~/.ssh/id_rsa_ansible -N ""
Ou ecdsa. - Éditer
~/.ansible.cfget le remplir avec, en substituant les valeurs :[defaults] interpreter_python=auto library=/mnt/c/Users/myuser/project_path/ansible/library gathering=smart roles_path=/mnt/c/Users/myuser/project_path/ansible/roles:~/.ansible/roles action_plugins = /mnt/c/Users/myuser/project_path/ansible/action_plugins:/usr/share/ansible/plugins/action #become_plugins = /usr/share/ansible/plugins/become #cache_plugins = /usr/share/ansible/plugins/cache #callback_plugins = /usr/share/ansible/plugins/callback #connection_plugins = /usr/share/ansible/plugins/connection lookup_plugins = /mnt/c/Users/myuser/project_path/ansible/lookup_plugins:/usr/share/ansible/plugins/lookup inventory_plugins = /mnt/c/Users/myuser/project_path/ansible/inventory_plugins:/usr/share/ansible/plugins/inventory vars_plugins = /mnt/c/Users/myuser/project_path/ansible/vars_plugins:/usr/share/ansible/plugins/vars filter_plugins = /mnt/c/Users/myuser/project_path/ansible/filter_plugins:/usr/share/ansible/plugins/filter #test_plugins = /usr/share/ansible/plugins/test #terminal_plugins = /usr/share/ansible/plugins/terminal #strategy_plugins = /usr/share/ansible/plugins/strategy private_key_file = ~/.ssh/id_rsa_ansible vault_password_file = ~/.vault_pass force_color=1 retry_files_enabled=False yaml_valid_extensions = .yml, .yaml, .json, .vault vars_plugins_enabled = custom_host_group_vars [inventory] enable_plugins = yaml, schroot - L’utilisateur possède déjà un accès aux machines avec sa clé privée :
- Si ce n’est pas déjà le cas, lancer un agent ssh comme
ssh-agentet y ajouter sa clé privée avecssh-add; - Exécuter les commandes :
Il peut y avoir des problèmes de connexion à certains hôtes en raison de l’absence de l’établissement des connexions VPN requises. Il sera toujours possible de refaire les commandes pour les nouvelles machines.ansible-playbook ansible_root/init-publickey.yaml -i …/inventory -l all:\!chroot -f 1
- Si ce n’est pas déjà le cas, lancer un agent ssh comme
- L’utilisateur ne possède pas d’accès aux machines avec sa clé privée :
- Exécuter la commande
cat .ssh/id_rsa_ansible.pub - Transmettre le résultat à une personne ayant l’accès, et se référer à Comment ajouter une clé publique aux autorisations
- Exécuter la commande
Initialisation avec le système local Linux
Dans la suite, soit le chemin du dossier de ce projet project_path. Le système
est supposé être Debian/Bullseye ou ultérieur. Dans le cas contraire, l’exécution de
provision-debian.sh doit être ajustée et exécutée à la main.
Votre utilisateur doit être dans les sudoers et sudo installé.
- Copier le fichier
.vault_passdans votre dossier d’accueil de l’environnement ;cp project_path/.vault_pass ~/ chmod -x ~/.vault_pass - Exécuter
bash project_path/build/provision-debian.sh
Utiliserprovision-ubuntu.shsous Ubuntu. - Exécuter
ssh-keygen -b 4096 -C "${USER}@$(hostname)-deployment" -q -t rsa -f ~/.ssh/id_rsa_ansible -N ""
Ou ecdsa. - Éditer
~/.ansible.cfget le remplir avec, en substituant les valeurs :[defaults] interpreter_python=auto library=project_path/ansible/library gathering=smart roles_path=project_path/ansible/roles:~/.ansible/roles action_plugins = project_path/ansible/action_plugins:/usr/share/ansible/plugins/action #become_plugins = /usr/share/ansible/plugins/become #cache_plugins = /usr/share/ansible/plugins/cache #callback_plugins = /usr/share/ansible/plugins/callback #connection_plugins = /usr/share/ansible/plugins/connection lookup_plugins = project_path/ansible/lookup_plugins:/usr/share/ansible/plugins/lookup inventory_plugins = project_path/ansible/inventory_plugins:/usr/share/ansible/plugins/inventory vars_plugins = project_path/ansible/vars_plugins:/usr/share/ansible/plugins/vars filter_plugins = project_path/ansible/filter_plugins:/usr/share/ansible/plugins/filter #test_plugins = /usr/share/ansible/plugins/test #terminal_plugins = /usr/share/ansible/plugins/terminal #strategy_plugins = /usr/share/ansible/plugins/strategy private_key_file = ~/.ssh/id_rsa_ansible vault_password_file = ~/.vault_pass force_color=1 retry_files_enabled=False yaml_valid_extensions = .yml, .yaml, .json, .vault vars_plugins_enabled = custom_host_group_vars [inventory] enable_plugins = yaml, schroot - L’utilisateur possède déjà un accès aux machines avec sa clé privée :
- Si ce n’est pas déjà le cas, lancer un agent ssh comme
ssh-agentet y ajouter sa clé privée avecssh-add; - Exécuter les commandes :
Il peut y avoir des problèmes de connexion à certains hôtes en raison de l’absence de l’établissement des connexions VPN requises. Il sera toujours possible de refaire les commandes pour les nouvelles machines.ansible-playbook project_path/ansible/init-publickey.yaml -i …/inventory -l all:\!chroot -f 1
- Si ce n’est pas déjà le cas, lancer un agent ssh comme
- L’utilisateur ne possède pas d’accès aux machines avec sa clé privée :
- Exécuter la commande
cat .ssh/id_rsa_ansible.pub - Transmettre le résultat à une personne ayant l’accès, et se référer à Comment ajouter une clé publique aux autorisations
- Exécuter la commande