Mise à jour d'un réseau local Debian avec Ansible
dans Bloc-notesContexte
Mise à jour d'un parc Debian hétérogène, pour l'exercice, le réseau famillial fera l'affaire :
- 5 machines physiques : 1 serveur + 4 postes (Stretch/Buster/Bullseye)
- 2 machines virtuelles, (Jessie/Buster)
Besoin
- machines à jour
- instalations homogènes : packages et configuration
- gérer des packages
*.deb
disponible hors dépôtapt
Talk is cheap. Show me the code.
- Installer Ansible
- récupérer le playbook :
git clone https://gitlab.com/free_zed/myasb.git
- se mettre dans la bonne branche :
cd myasb; git checkout lan
- adapter l'inventaire avec les adresses de vos machines :
$EDITOR hosts
- jouer le playbook :
ansible-playbook -i hosts site.yml
- …et volà!
Remarques
git
n'utilise pas la configuration globale par défaut (/etc/gitconfig
), je m'en suis servi pour déployer mes alias partout sans déployer la config git
de ma machine de dev qui contient des éléments que je ne souhaite pas diffuser (tokens, mails, usernames, tools, etc).
Idées
- centraliser le build & déploiement d'un projet Java sur Github (Mindustry).
- comparer le numéro de version Debian plutôt que le nom (
str()
toint()
des facts Ansible) - faire des taches/roles/whatever qui ne se font qu'une fois avant (ou après) de jouer le playbook
- récupérer la version stable Debian
- récupérer numéro de dernière version d'un
*.deb
dispo hors dépot - envoyer un seul mail de récap
- utiliser les variables d'environnement (ou autre) pour les données privées