pro[zind]

Mise à jour d'un réseau local Debian avec Ansible

dans Bloc-notes

Contexte

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ôt apt

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() to int() 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