171 lines
11 KiB
Markdown
171 lines
11 KiB
Markdown
# CHANGELOG — Set-OPS
|
||
|
||
## 2026-06-21
|
||
|
||
### Ajouté
|
||
- Ajout de facilités `make` pour exploiter Ansible sur les VM Debian déployées :
|
||
- diagnostic `ping`, `sudo` et `faits` ;
|
||
- variables `LIMITE`, `VERIFICATION`, `DIFF`, `ETIQUETTES`, `SAUTER_ETIQUETTES` et `VARIABLES`.
|
||
- Ajout de facilités `make` pour inspecter et valider les inventaires Ansible :
|
||
- `hote-ajouter` ;
|
||
- `hote-groupes` ;
|
||
- `hote-afficher` ;
|
||
- `inventaire-verifier` ;
|
||
- `inventaire-lister` ;
|
||
- `inventaire-graphe` ;
|
||
- `inventaire-hote` ;
|
||
- `inventaire-lab` ;
|
||
- `inventaire-production`.
|
||
- Ajout de `deployer` et `deployer-groupe` comme commandes opérateur simplifiées pour appliquer les playbooks de groupes.
|
||
- Ajout de `scripts/inventory_host.py` pour gérer les entrées d'inventaire et leur appartenance aux groupes sans édition YAML manuelle.
|
||
- Ajout de la convention `1 groupe opérationnel = 1 playbook homonyme` avec les premiers playbooks :
|
||
- `playbooks/groupes/serveurs_debian.yml` ;
|
||
- `playbooks/groupes/serveurs_durcis.yml`.
|
||
- Ajout du playbook `playbooks/maintenance/verifier_hote_debian.yml` pour valider une VM Debian 13 gérée par Set-OPS après socle et durcissement.
|
||
- Ajout de directives `AGENTS.md` pour formaliser le `Makefile` comme interface opérateur, la convention groupe/playbook, la francisation de la surface opérateur et les points de stabilisation avant commit.
|
||
- Ajout du playbook `playbooks/proxmox/cloner_vm_debian.yml` et des cibles `make cloner-vm` / `make creer-vm` pour créer des clones Debian via l'API Proxmox sans stocker de secret dans le dépôt.
|
||
- Ajout de `inventories/lab/group_vars/proxmox.yml` pour les paramètres Proxmox non sensibles et de `proxmox.vault.yml.example` pour préparer les secrets API avec Ansible Vault.
|
||
- Ajout de `make config` pour renseigner les paramètres Proxmox et créer ou éditer le Vault API depuis le terminal.
|
||
|
||
### Modifié
|
||
- Francisation de la surface opérateur :
|
||
- variables `make` ;
|
||
- cibles `make` ;
|
||
- groupes d'inventaire ;
|
||
- chemins des playbooks maison ;
|
||
- libellés du script de gestion d'inventaire.
|
||
- Documentation du flux de déploiement d'une VM clonée depuis le modèle doré avec les commandes `make`.
|
||
- Optimisation de la procédure de bootstrap du modèle Debian 13 pour utiliser Cloud-Init comme source unique de l'identité initiale au lieu de maintenir une création manuelle parallèle du compte et de la clé SSH.
|
||
- Simplification de `make cloner-vm` et `make creer-vm` pour que les paramètres Proxmox communs viennent des variables Ansible plutôt que de la ligne de commande ou de l'environnement.
|
||
- Ajustement de `make config` pour ne plus redemander les valeurs Cloud-Init déjà portées par le modèle Proxmox.
|
||
- Déplacement du VLAN hors de `make config` afin de l'exiger explicitement à chaque création de VM avec `VLAN=...`.
|
||
- Retrait des options `DEMANDER_MDP` et `DEMANDER_SUDO` du `Makefile`; le flux suppose SSH par clé et sudo NOPASSWD déjà fonctionnels.
|
||
- Retrait des playbooks de couches redondants `playbooks/socle/debian_commun.yml` et `playbooks/durcissement/debian_serveur_durcissement.yml`; la conformité des VM déployées passe maintenant par `playbooks/groupes/`.
|
||
- Bonification de `AGENTS.md` pour désigner `playbooks/groupes/` comme source officielle de conformité et éviter les cibles `make` de couches parallèles.
|
||
- Simplification de l'aide du `Makefile` pour exposer d'abord les gestes opérateur : inventaire, groupes, déploiement.
|
||
- Clarification de `make aide` pour expliquer les différences entre `creer-vm`, `cloner-vm`, `deployer`, `deployer-groupe` et `appliquer`.
|
||
- Réorganisation de `make aide` par objets d'exploitation : VM, hôtes, groupes, inventaires, modèle et validation.
|
||
- Retrait des commandes opérateur explicites de ping et sudo; ces vérifications sont maintenant implicites dans `deployer` et `preparer-modele`.
|
||
- Ajout d'une demande automatique de mot de passe Ansible Vault pour `make cloner-vm` et `make creer-vm` lorsqu'un `proxmox.vault.yml` chiffré est présent.
|
||
- Amélioration du message d'erreur lorsque `proxmox.vault.yml` ne peut pas être chargé.
|
||
- Ajustement du playbook Proxmox pour laisser apparaître les erreurs API utiles sans masquer entièrement les échecs de clonage.
|
||
- Modification de `make deployer HOTE=...` pour appliquer les playbooks correspondant aux groupes de l'hôte.
|
||
- Ajout d'une vérification explicite de la bibliothèque Python `proxmoxer` avant les appels API Proxmox.
|
||
- Retrait de la taille disque clone des paramètres Proxmox persistés afin de ne pas tenter de réduire un disque hérité du modèle.
|
||
- Ajout de la validation inventaire/playbooks pour empêcher un groupe opérationnel avec hôtes sans playbook homonyme.
|
||
- Ajout du playbook de groupe `serveurs_web` comme point d'ancrage explicite avant l'ajout d'un rôle web.
|
||
- Ajout d'un catalogue de services pour préparer Keycloak, OpenLDAP, PostgreSQL, Loki, Icinga, Prometheus, Grafana, Forgejo, Sendmail, step-ca, Redis, NGINX, Nextcloud et Collabora.
|
||
- Ajout des groupes et playbooks homonymes neutres pour les prochains services centraux et intégrations clientes.
|
||
- Documentation de l'ordre d'implémentation recommandé des services selon leurs dépendances et intégrations.
|
||
- Ajout d'une nomenclature VM/VMID et distinction entre hôtes planifiés et hôtes actifs dans l'inventaire.
|
||
- Ajout d'une interface web locale `make inventaire-ui` pour éditer et sauvegarder l'inventaire sans lancer de déploiement.
|
||
- Ajustement de la nomenclature planifiée vers des noms d'hôtes par domaine afin de permettre la cohabitation de plusieurs services sur une même VM.
|
||
|
||
## 2026-06-19
|
||
|
||
### Ajouté
|
||
- Structure initiale globale du dépôt Set-OPS.
|
||
- Playbooks de création du template Debian 13 Proxmox.
|
||
- Rôles de base Debian.
|
||
- Rôles de durcissement template-safe.
|
||
- Playbook de vérification.
|
||
- Playbook de nettoyage final avant conversion en template.
|
||
|
||
## 2026-06-20
|
||
|
||
### Contexte
|
||
- Clarification : `Set-OPS` est le dépôt global d’exploitation Ansible de Chezlepro Inc.
|
||
- Clarification : le template Debian 13 Proxmox est un sous-ensemble du dépôt, pas sa finalité unique.
|
||
- Clarification : les services applicatifs spécialisés doivent être installés sur les clones par des playbooks dédiés, pas directement dans le template.
|
||
|
||
### Ajouté
|
||
- Ajout des directives renforcées dans `AGENTS.md` :
|
||
- validation Ansible obligatoire ;
|
||
- vérification des handlers Ansible ;
|
||
- interdiction de déclarer un playbook prêt si `--syntax-check` échoue ;
|
||
- préférence pour les correctifs ciblés au lieu des régénérations massives ;
|
||
- rappel que `Set-OPS` ne doit pas être restructuré autour d’un seul besoin ponctuel.
|
||
- Ajout d’une logique de template Debian 13 Proxmox :
|
||
- `playbooks/modeles_vm/debian13_proxmox_preparer.yml` ;
|
||
- `playbooks/modeles_vm/debian13_proxmox_verifier.yml` ;
|
||
- `playbooks/modeles_vm/debian13_proxmox_nettoyer.yml`.
|
||
- Ajout d’une couche de durcissement template-safe :
|
||
- AppArmor ;
|
||
- auditd ;
|
||
- fail2ban SSH ;
|
||
- unattended-upgrades ;
|
||
- journald ;
|
||
- sysctl de sécurité ;
|
||
- nftables installé et préparé, mais désactivé par défaut dans le template.
|
||
- Ajout d’un document d’architecture pour les intégrations futures des VM :
|
||
- supervision ;
|
||
- métriques ;
|
||
- identité ;
|
||
- PKI interne ;
|
||
- DNS interne.
|
||
- Documentation détaillée des ajouts appliqués au modèle doré Debian 13 Proxmox depuis une installation minimale.
|
||
- Ajout d'un runbook explicite pour le playbook de préparation du modèle doré Debian 13 Proxmox.
|
||
- Ajout d'un runbook manuel précis pour le bootstrap initial de la VM vanille Debian 13 :
|
||
- correction des sources APT après installation depuis DVD ;
|
||
- installation minimale de `sudo`, SSH, `cloud-init`, `cloud-guest-utils` et `qemu-guest-agent` ;
|
||
- utilisation de Cloud-Init pour injecter le compte `ansible`, sa clé SSH, le réseau et le point de bascule vers le `Makefile`.
|
||
- Ajout d'un document de cycle de vie des VM Chezlepro :
|
||
- VM vanille ;
|
||
- goldenisation ;
|
||
- clonage ;
|
||
- socle ;
|
||
- durcissement ;
|
||
- conformité continue.
|
||
- Ajout de directives `AGENTS.md` pour la convergence des VM existantes et futures :
|
||
- cycle de vie des VM ;
|
||
- distinction service central et intégration cliente ;
|
||
- groupes d'inventaire par intégration ;
|
||
- séparation des variables de template, conformité et services.
|
||
- Ajout d'un `Makefile` comme interface d'exploitation courante :
|
||
- validation ;
|
||
- syntax-checks ;
|
||
- préparation, vérification et nettoyage protégé du template ;
|
||
- socle et durcissement des VM Debian.
|
||
- Durcissement SSH du template dès la construction :
|
||
- accès par clé publique obligatoire ;
|
||
- authentification par mot de passe désactivée ;
|
||
- forwarding et tunnels SSH désactivés par défaut ;
|
||
- limites de tentatives, sessions et démarrages SSH resserrées.
|
||
|
||
### Modifié
|
||
- Renforcement attendu de `CLAUDE.md` pour rappeler que `AGENTS.md` est la source d’autorité principale.
|
||
- Clarification du comportement attendu de Claude Code :
|
||
- lire l’existant avant modification ;
|
||
- vérifier `git status --short` ;
|
||
- ne pas faire de régénération massive sans demande explicite ;
|
||
- valider les playbooks touchés ;
|
||
- signaler les tests non exécutés ;
|
||
- mettre à jour `CHANGELOG.md` si pertinent.
|
||
- Migration des variables de rôles vers des préfixes propres à chaque rôle pour respecter `ansible-lint`.
|
||
- Mise à jour de la variable de confirmation du nettoyage final :
|
||
- `template_cleanup_confirm`.
|
||
- Correction de la structure du `CHANGELOG.md` pour retirer le titre dupliqué.
|
||
- Simplification ciblée de l'arborescence `roles/` :
|
||
- retrait des doublons non utilisés sous `roles/base/` ;
|
||
- retrait des doublons non utilisés sous `roles/security/` ;
|
||
- retrait des doublons non utilisés sous `roles/vm_template/`.
|
||
- Ajout d'un renvoi depuis la procédure manuelle vers la justification du golden template.
|
||
- Séparation documentaire et opérationnelle entre variables de template et variables de conformité.
|
||
- Extension du playbook de groupe `playbooks/groupes/serveurs_debian.yml` pour maintenir le socle commun des VM Debian déployées.
|
||
- Mise à jour de la documentation pour exiger un `ciuser` cloud-init avec clé publique avant l'exécution d'Ansible.
|
||
- Déplacement des listes de paquets communes dans les defaults des rôles `common_packages` et `hardening_packages`.
|
||
- Déplacement des variables de construction du template dans `inventories/lab/group_vars/modeles_vm.yml`.
|
||
- Déplacement des variables de conformité Debian dans `inventories/production/group_vars/serveurs_debian.yml`.
|
||
- Ciblage du playbook de durcissement sur `serveurs_debian` au lieu de `all`.
|
||
- Renforcement du playbook de vérification du modèle doré.
|
||
|
||
### Corrigé
|
||
- Vérification des rôles contenant `notify`.
|
||
- Confirmation des handlers SSH requis dans les rôles concernés :
|
||
- `roles/ssh_baseline/handlers/main.yml` ;
|
||
- `roles/ssh_hardening/handlers/main.yml`.
|
||
|
||
### Validé
|
||
- Vérification que chaque `notify` du template Debian 13 Proxmox pointe vers un handler existant.
|
||
- Relance du playbook de préparation du template Debian 13 Proxmox.
|
||
- Nettoyage final non lancé.
|