Devops
guest@6admin.io:~$ ls ~/tags/devops
Projet 8: un cloud où la seule autorité est l'historique git signé
Une plateforme cloud décentralisée sans contrôleur, sans quorum et sans token: les nœuds rejoignent un mesh Yggdrasil, pullent leur état désiré depuis un dépôt Radicle, vérifient chaque signature de commit et convergent localement. L'architecture, le portage Rust et le bootstrap day qui a corrigé vingt bugs.
Trace-first : quand l'observabilité veut nous faire revenir aux logs
Les traces peuvent-elles remplacer une grande partie des logs applicatifs ? Et si oui, pourquoi OpenTelemetry déprécie-t-il son API d'événements de span au profit de l'API Logs ? Entre simplification des API, corrélation des signaux et choix d'architecture, la question mérite mieux qu'une guerre de chapelles.
MyVim: l'IDE DevOps qui ne fait que 640 lignes, parce que le manager fait le reste
Ma config d'éditeur en plugin: un fichier par plugin, des linters scopés par contenu de buffer (kubeconform seulement sur apiVersion, actionlint seulement sur les workflows), des filetypes que personne ne livre (cloud-init, terragrunt), OSC52 par SSH et un fichier de secrets qui n'est jamais commité. L'épilogue dogfood de la série vim.
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.
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.
Piloter opencode derrière un tunnel SSH, avec direnv
Le prolongement de ma config ssh et git : un .envrc direnv qui monte un tunnel SSH auto-réparant par projet, route opencode et un agent de code vers un gateway distant et ouvre un SOCKS5 pour le navigateur et proxychains. Non bloquant, throttlé et toujours exit 0.
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.
Un backup sans test de restore, c'est de la décoration
Tu ne sais pas si ton backup marche tant que tu ne l'as pas restauré. Le clone git comme backup gratuit, les remotes multiples, Restic/Borg/rclone pour le reste et pourquoi les snapshots Btrfs/ZFS ne sont pas des backups.
Faire de l'ACME en interne sans supplier l'équipe AD CS
Step-ca, acme2certifier ou OpenBao ? Trois familles et le choix dépend d'abord de ce que vous faites déjà tourner, ensuite de qui doit rester l'émetteur.
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.
fnox et age: des secrets chiffrés dans mes repos, sans serveur
fnox, le gestionnaire de secrets de l'auteur de mise, chiffre les secrets directement dans le repo avec age: un fnox.toml versionné, des clés explicites, pas de serveur de secrets à maintenir. Découverte de fin 2025.
mise: un seul binaire pour toutes les versions d'outils
J'ai adopté mise en 2024 pour gérer les versions d'outils par projet: un seul binaire Rust, compatible .tool-versions d'asdf, une activation par dossier qui ne rame pas et fini le bricolage de versions dans chaque repo.
Docker Swarm to Kubernetes : pourquoi j'ai abandonné Swarm
Swarm fonctionne bien pour du petit déploiement. Mais pas de rootless, pas de CSI, pas d'autoscaling et un MACVLAN cloué à un seul nœud: les quatre murs qui ont forcé la migration.
Scale-to-zero : Sablier rallume Swarm et Kubernetes à la demande
Sablier réveille un conteneur endormi quand quelqu'un frappe à la porte du reverse proxy, puis le rend à zéro. Du scale-to-zero sur Docker, Swarm et Kubernetes, avec la vraie config Traefik, les deux stratégies et le prix réel de l'accès au socket Docker.
SSH en 2021 : ce que treize ans ont changé depuis la série de 2008
La série SSH de ce blog s'arrêtait en 2013 avec PKCS#8. Voici la version 2021, complète et sécurisée: Ed25519, les clés FIDO2, les certificats, le durcissement sshd, Include et Match, ProxyJump et le multiplexage. Ce que 2008 faisait avec espoir, 2021 le fait avec des primitives.
3factor : l'architecture qui retire l'état de l'API
3factor est un motif d'architecture, pas un framework: du GraphQL temps réel, de l'événementiel fiable et du serverless asynchrone, avec une idée centrale, retirer la gestion d'état de la couche API.
Chaos engineering : casser pour de vrai, mais pas n'importe comment
Le chaos engineering n'est pas du sabotage: c'est une expérience contrôlée, avec un état stable mesuré, une hypothèse, des pannes réelles injectées et un rayon d'impact borné. Histoire, principes, outils et adaptation honnête à des infrastructures modestes.
Twelve-Factor App : la méthode Heroku qui a survécu aux conteneurs
Les douze facteurs d'Adam Wiggins, écrits pour Heroku en 2011, restent la meilleure checklist pour livrer une application en service: config dans l'environnement, processus sans état, parité dev/prod, logs comme flux d'événements, puis leur traduction en conteneurs et en Kubernetes.
La méthode R.A.C.H.E : Rapid Application Conception and Heuristic Extreme-programming
Rapid Application Conception and Heuristic Extreme-programming: la méthode satirique de l'International Institute of La RACHE formalise ce que tout le monde pratique déjà, avec un post-it de huit mots pour cadrer le projet et une F.A.Q qui dit vrai.
DevOps, un mot sur ce que je bricolais déjà
Le mot DevOps commence à circuler et je me reconnais dans ce qu'il décrit, à ma petite échelle: ssh et un CSV, git et des hooks bash, gitolite par-dessus. Ce que ça m'évoque et la part honnête de pourquoi le mur ne m'a jamais beaucoup gêné.
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.
Magic SysRq : la béquille du sysadmin
La touche SysRq du kernel, la séquence REISUB et pourquoi c'est la dernière chose que vous ferez avant de tirer la prise.
Root or not root
Su, sudo et la question de savoir qui a le droit de faire quoi sur un système partagé.