mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 22:24:42 +02:00
- Remove admin/ from .gitignore (repo is now private) - Add --tui flag to hermes-dashboard.service template - Document hermes-tui wrapper, dashboard access, TUI usage Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 KiB
3 KiB
Ansible — Commandes d'administration
Toutes les commandes se lancent depuis la racine du repo (lab-infra/).
Le venv est dans .venv/, le Makefile fournit les raccourcis.
Raccourcis Makefile
make ping # Vérifie que toutes les machines répondent
make check # Dry-run complet (simule sans appliquer)
make apply # Applique tous les playbooks (storage-01 + gpu-01)
make apply-storage # Applique uniquement storage-01
make apply-gpu # Applique uniquement gpu-01
make install # Installe ansible-core + collections Galaxy
make vault-encrypt # Chiffre group_vars/all/vault.yml
make vault-edit # Édite le vault (déchiffre → édite → rechiffre)
make vault-view # Affiche le contenu du vault déchiffré
Commandes Ansible directes
Cibler un rôle spécifique
cd ansible/
# Via tag (si les rôles ont des tags)
../.venv/bin/ansible-playbook playbooks/storage-01.yml --tags dnsmasq
# Via limite d'hôte
../.venv/bin/ansible-playbook playbooks/site.yml -l gpu-01
Exécuter une commande ad-hoc sur une machine
cd ansible/
../.venv/bin/ansible storage-01 -m shell -a "systemctl status dnsmasq"
../.venv/bin/ansible all -m shell -a "uptime"
../.venv/bin/ansible gpu_hosts -m shell -a "free -h"
Collecter les facts d'une machine (variables système détectées)
cd ansible/
../.venv/bin/ansible storage-01 -m setup
../.venv/bin/ansible storage-01 -m setup -a "filter=ansible_interfaces"
../.venv/bin/ansible storage-01 -m setup -a "filter=ansible_default_ipv4"
Vérifier l'inventaire
cd ansible/
../.venv/bin/ansible-inventory --list # JSON complet
../.venv/bin/ansible-inventory --graph # Arbre des groupes/hôtes
Dry-run avec diff (voir exactement ce qui changerait)
cd ansible/
../.venv/bin/ansible-playbook playbooks/storage-01.yml --check --diff
Débugger une variable
cd ansible/
../.venv/bin/ansible storage-01 -m debug -a "var=lan_interface"
../.venv/bin/ansible storage-01 -m debug -a "var=hostvars['storage-01']"
Augmenter la verbosité (debug complet)
cd ansible/
../.venv/bin/ansible-playbook playbooks/storage-01.yml -v # output étendu
../.venv/bin/ansible-playbook playbooks/storage-01.yml -vvv # connexions SSH incluses
Vault Ansible
# Chiffrer un fichier
cd ansible/
../.venv/bin/ansible-vault encrypt group_vars/all/vault.yml
# Chiffrer une valeur à la volée (copier-coller dans vault.yml)
../.venv/bin/ansible-vault encrypt_string 'mon_mot_de_passe' --name 'vault_postgres_password'
# Déchiffrer temporairement pour voir
../.venv/bin/ansible-vault view group_vars/all/vault.yml
# Changer le mot de passe vault
../.venv/bin/ansible-vault rekey group_vars/all/vault.yml
Groupes d'hôtes disponibles
| Groupe | Machines |
|---|---|
all |
storage-01, gpu-01 |
gateway |
storage-01 |
gpu_hosts |
gpu-01 |
almalinux |
storage-01, gpu-01 |