# Mise à jour pour Codex et Claude Code — Set-OPS ## État du dépôt `Set-OPS` est le dépôt Ansible global d’exploitation de Chezlepro Inc. Il ne sert pas seulement à créer un template Proxmox. Il doit contenir progressivement les playbooks, rôles, inventaires et templates nécessaires à tous les systèmes de Chezlepro Inc. Le chantier en cours est le template Debian 13 Proxmox. --- ## Fichiers de gouvernance Les fichiers suivants doivent être lus avant toute modification : ```text AGENTS.md CLAUDE.md README.md CHANGELOG.md ansible.cfg ``` `AGENTS.md` est la source d’autorité principale. --- ## État fonctionnel visé pour le template Debian 13 Le template Debian 13 Proxmox doit contenir : - Debian minimal ; - SSH ; - sudo ; - compte `ansible` ; - sudo NOPASSWD pour `ansible` ; - `qemu-guest-agent` ; - `cloud-init` ; - `cloud-guest-utils` ; - chrony ; - outils de diagnostic ; - AppArmor ; - auditd ; - fail2ban SSH ; - unattended-upgrades ; - journald ; - sysctl de sécurité ; - nftables installé et préparé, mais désactivé par défaut. Il ne doit pas contenir : - NGINX ; - PostgreSQL ; - MariaDB ; - Docker ; - Podman ; - Redis ; - GitLab ; - Nextcloud ; - monitoring complet ; - secrets ; - clés privées ; - données propres à un clone. --- ## Incident récent à corriger Le playbook : ```text playbooks/modeles_vm/debian13_proxmox_preparer.yml ``` a échoué sur un handler manquant : ```text ERROR! The requested handler 'Validate and reload ssh' was not found ``` Le problème est relié à des rôles contenant : ```yaml notify: Validate and reload ssh ``` sans handler local correspondant. Rôles à vérifier en priorité : ```text roles/ssh_baseline/ roles/ssh_durcissement/ ``` Chaque rôle utilisant `notify` doit avoir son propre fichier : ```text roles//handlers/main.yml ``` --- ## Correctif minimal attendu Ne pas régénérer tout le dépôt. Créer ou corriger : ```text roles/ssh_baseline/handlers/main.yml roles/ssh_durcissement/handlers/main.yml ``` Contenu attendu : ```yaml --- - name: Valider la configuration SSH ansible.builtin.command: sshd -t changed_when: false listen: Validate and reload ssh - name: Recharger SSH ansible.builtin.systemd: name: ssh state: reloaded listen: Validate and reload ssh ``` Puis vérifier tous les `notify` : ```bash find roles -path '*/tasks/*.yml' -exec grep -H "notify:" {} \; find roles -path '*/handlers/main.yml' -print ``` --- ## Validation obligatoire Après correction : ```bash make syntax-template ``` Puis relancer : ```bash make preparer-modele ``` Puis vérifier : ```bash make verifier-modele ``` --- ## Nettoyage final Ne lancer le nettoyage final que lorsque la VM est validée : ```bash make nettoyer-modele CONFIRMER=true ``` Ensuite seulement : ```bash sudo shutdown -h now ``` Puis côté Proxmox : ```bash qm template VMID ``` --- ## Règle de conduite Ne pas faire de régénération massive. Lire l’existant. Corriger petit. Valider. Mettre à jour `CHANGELOG.md`. Résumer clairement ce qui a été fait et ce qui n’a pas été testé.