Ansible
guest@6admin.io:~$ ls ~/tags/ansible
log0u7.hyperv: le deuxième inventaire dynamique, cette fois depuis l'hyperviseur
Une collection Ansible publiée sur Galaxy qui construit l'inventaire depuis Hyper-V lui-même: VMs interrogées par WinRM ou PSRP, mixins natifs Cacheable et Constructable, groupes par état/hôte/tag et les choix de design qui diffèrent d'un inventaire DNS.
Scripter n'est pas industrialiser
La frontière entre le scripting ad hoc et une plateforme d'automatisation : état désiré, idempotence, inventaire, secrets, reporting, traçabilité. Windows s'automatise très bien aussi ; la différence n'est pas l'OS, c'est plateforme contre script.
Windows 11 pour des machines de build: le mauvais outil
Windows 11 client sur des machines de build bare-metal, headless, en salle serveur: le détail des frictions de provisioning et d'exploitation et pourquoi Windows Server avec Desktop Experience fait le même travail pour une fraction de la peine.
Une gestion de paquets propre sous Windows: WinGet, Chocolatey, Scoop et Ansible, chacun sa place
Découverte et adoption de Scoop pour mes environnements Windows: les shims, la séparation des responsabilités entre gestionnaires de paquets, Ansible qui orchestre tout (winget, chocolatey, scoop et les MSI/EXE via win_package) et mise par projet. Environment as Code.
Linux, c'est juste le noyau
Une pédanterie utile sur ce qu'est Linux, puis le point de fond : les couches dont on se sert pour classer les profils sysadmin mesurent la distribution, pas le système et le noyau reste le dénominateur commun.
Ansible CI Toolkit v1: l'année où j'ai cessé de faire confiance à ma propre image
La suite durcie: ansible et ansible-lint fusionnés en une image, Kerberos/WinRM pour les cibles Windows, non-root, base pinée par digest, un lock de constraints pip, pins transitifs Galaxy et signature cosign. Construit par un CHANGELOG qui se lit comme un journal de CVE.
Votre zone DNS est déjà un inventaire: la collection log0u7.dns
Un inventaire dynamique Ansible construit depuis des enregistrements DNS, sans transfert de zone: manifests TXT, enregistrements SRV, DNS-SD (RFC 6763) et patterns de nommage, résolus en parallèle. Plus le convertisseur inverse qui transforme n'importe quel inventaire en zone BIND.
Frugalité Unix : do more with less
Le pipe `cat | grep` comme marqueur culturel, apropos et man avant tout, la suite dsniff comme leçon de design, un toolkit bash auditable contre l'usine à gaz et pourquoi Kali n'apprend pas l'administration Linux.
Quand un checksum Chocolatey casse tout un provisioning
Un package Chocolatey Community dont l'éditeur a mis à jour le binaire sans que le mainteneur ne mette à jour le checksum et tout le provisioning Windows s'arrête. Le vrai sujet n'est pas le hash, c'est de dépendre d'un binaire qu'on n'héberge pas.
Terraform crée, Ansible configure
Pourquoi l'IaC et la gestion de configuration ne se recouvrent pas, pourquoi Terraform seul ne tient que dans un modèle strictement immuable et comment le remote-exec signale qu'on a franchi la frontière.
Piloter Windows depuis Ansible sans fuiter d'identifiants
Transport Ansible vers Windows: WinRM, Kerberos contre NTLM et comment ne pas promener des identifiants de domaine en clair.
Une image Ansible pour GitLab CI, construite propre depuis un sous-sol parisien
Pourquoi j'ai arrêté les images officielles d'Ansible en CI et construit la mienne sur Alpine: multi-stage venv, ansible-core piné, collections installées au build. Épisode un: la sortie publique de 2022 d'une image née bien plus tôt, avec sa liste honnête des péchés de jeunesse.
GitOps, le mot après la pratique : gitflow, GitLab CI, Terraform et Ansible
Le mot GitOps se répand depuis un an et je le lis en reconnaissant ce que je faisais déjà : un gitflow adapté, des conventions et un pipeline GitLab CI qui enchaîne Terraform pour créer et Ansible pour configurer, avec git pour seule source de vérité. Du GitOps au sens large et la part honnête de ce que ce n'est pas tout à fait.
Ansible avant Ansible : ssh, un CSV et un moteur de template
Avant qu'Ansible n'existe, il y avait mon bricolage de 2006-2007: une liste d'hôtes, une boucle ssh, des variables d'inventaire dans un CSV, du bash pur et un moteur de template dont j'ai honteusement oublié le nom. Archéologie assumée de ce qui a marché, de ce qui manquait et de ce qu'Ansible a plus tard rendu explicite.
Puppet : mes premiers modules ou le passage de la boucle ssh à la déclaration
Après mes scripts bash et mon CSV d'inventaire, Puppet: le triptyque install/config/service, les sélecteurs $::operatingsystem et les chaînes require/notify. Ce que la déclaration apporte à la boucle ssh.