1
0
mirror of https://gitlab.com/free_zed/free_zed.gitlab.io.git synced 2024-06-01 22:02:28 +00:00

Merge branch 'ansible'

This commit is contained in:
Freezed 2020-04-20 22:57:53 +02:00
commit c1c970130c

View File

@ -0,0 +1,49 @@
Title: Mise à jour d'un réseau local Debian avec Ansible
Date: 2020-04-19 00:43
Category: Bloc-notes
Status: published
Summary: Mise à jour d'un parc Debian hétérogène (packages &_config), avec packages hors dépôt.
Tags: ansible, admin, debian, mate, devops, shell, git, dry
### 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][install]
- récupérer [le _playbook_][repo] : `git clone https://gitlab.com/free_zed/myasb.git`
- se mettre dans la bonne branche : `cd myasb; git checkout lan`
- adapter [l'inventaire][host] 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][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
[repo]: https://gitlab.com/free_zed/myasb/-/tree/lan
[mindustry]: https://github.com/Anuken/Mindustry/
[install]: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
[host]: https://gitlab.com/free_zed/myasb/-/blob/lan/hosts