Consolidation minimale post-diagnostic : menage documentaire

Catalogue : section "Etat d'implementation des roles" (implementes /
echafaudages / roles-categories inertes) ; colonnes "Role futur" -> "Role".
vm-lifecycle S8 : flux deploiement aligne sur le plan (au lieu de
hote-ajouter, supplante). Refs inventories/lab laissees (golden template).

Verifie : make verifier exit 0, ansible-lint 0 echec.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-06-24 18:20:47 -04:00
parent e037b5fdb8
commit ba8cbe87bf
3 changed files with 34 additions and 5 deletions

View file

@ -1,5 +1,10 @@
# CHANGELOG — Set-OPS
## 2026-06-24
### Modifié
- **Consolidation minimale post-diagnostic (ménage documentaire, sans risque).** Suite à une relecture à froid « auteur » de l'état réel du dépôt. (1) **En-tête généré rafraîchi** : `instance/inventories/production/hosts.yml` pointait encore vers l'ancienne source `docs/` ; régénéré via `instancier-appliquer` (diff sémantique **vide** — contenu inchangé, seul l'en-tête a bougé ; commité côté instance `OPS-Chezlepro`). (2) **`docs/catalogue-services.md`** : nouvelle section **« État d'implémentation des rôles »** qui distingue sans ambiguïté les rôles **implémentés** (validés *en tant que code*, **non éprouvés en prod**), les **échafaudages** (playbooks-ancres `debug` sans rôle : `serveur_nextcloud`, `serveur_collabora`, `client_supervision`, `serveur_web_frontal`, `serveur_web_dorsal`) et les **rôles-catégories inertes** (`applications`, `backup`, `database`, `identity`, `monitoring`, `proxmox`, `storage`, `web` — vestiges d'un regroupement par catégorie abandonné, l'architecture réelle étant plate `serveur_*`/`client_*`) ; colonnes « Rôle futur » → « Rôle ». (3) **`docs/vm-lifecycle.md` §8** : flux de déploiement réaligné sur le plan (`instancier-appliquer` puis `deployer`) au lieu de la commande supplantée `hote-ajouter`. Vérifié : `make verifier` (exit 0), `ansible-lint` 0 échec. **Non touché à dessein** : les références `instance/inventories/lab/` des docs de template sont **correctes** (contexte golden template, distinct de `production`) ; le bas du `README.md` (« Premier chantier »/« Principe ») est daté mais **exact** (template = socle), donc laissé tel quel pour éviter le churn.
## 2026-06-23
### Corrigé

View file

@ -16,9 +16,34 @@ Un service central peut partager un hôte avec d'autres services de la même fon
> Modèle à jour : chaque service est une **application** (`instance/plan/applications.yml`). Voir `docs/plan-et-generation.md`.
## État d'implémentation des rôles
> **Mise à jour (2026-06-24).** La plupart des rôles ci-dessous **existent désormais**
> écrits et validés *en tant que code*, **pas encore éprouvés sur des VM réelles**. Le rôle
> effectif porte le nom du **groupe** (`serveur_keycloak`, `client_pki`…), pas le nom court
> de la colonne « Rôle » des tables.
**Implémentés** (`tasks` + `templates` + `handlers`, validés) : `serveur_step_ca`,
`client_pki`, `serveur_powerdns`, `client_dns`, `serveur_openldap`, `client_ldap`,
`serveur_keycloak`, `serveur_postgresql`, `serveur_redis`, `serveur_nginx`,
`serveur_sendmail`, `client_smtp`, `serveur_prometheus`, `client_metrique`, `serveur_loki`,
`client_journal`, `serveur_grafana`, `serveur_icinga`, `serveur_forgejo`. Plus le socle et
le durcissement, appliqués par `serveur_debian` / `serveur_durci`.
**Échafaudages** (playbook-ancre `debug` « reste à définir », **sans rôle**) :
`serveur_nextcloud`, `serveur_collabora`, `client_supervision`, `serveur_web_frontal`,
`serveur_web_dorsal`. Les capacités *collaboration* et *couche web applicative* sont câblées
par convention mais pas encore implémentées.
**Rôles-catégories inertes** (dossiers `roles/<x>/` réduits à un `README.md`, jamais câblés) :
`applications`, `backup`, `database`, `identity`, `monitoring`, `proxmox`, `storage`, `web`.
L'architecture réelle est **plate** (`serveur_*` / `client_*`) ; ces dossiers sont des
vestiges d'un regroupement par catégorie abandonné — à supprimer ou réactiver lors d'une
consolidation ultérieure.
## Services centraux
| Service | Groupe | Playbook | Rôle futur |
| Service | Groupe | Playbook | Rôle |
| --- | --- | --- | --- |
| Keycloak | `serveur_keycloak` | `playbooks/groupes/serveur_keycloak.yml` | `keycloak` |
| OpenLDAP | `serveur_openldap` | `playbooks/groupes/serveur_openldap.yml` | `openldap` |
@ -46,7 +71,7 @@ La couche applicative web est distincte de l'edge `serveur_nginx` :
Le « web » de ces deux groupes est implicite par leur position derrière `serveur_nginx`. Le jour où un service dorsal n'est pas web (worker batch, file, démon), créer un groupe dédié plutôt que d'élargir `serveur_web_dorsal`.
| Couche | Groupe | Playbook | Rôle futur |
| Couche | Groupe | Playbook | Rôle |
| --- | --- | --- | --- |
| Présentation web (frontends) | `serveur_web_frontal` | `playbooks/groupes/serveur_web_frontal.yml` | `web_frontaux` |
| Application web (backends) | `serveur_web_dorsal` | `playbooks/groupes/serveur_web_dorsal.yml` | `web_dorsaux` |
@ -72,7 +97,7 @@ Dépendance d'intégration prévue : `serveur_web_frontal` devra publier via `se
## Intégrations clientes
| Intégration | Groupe | Playbook | Rôle futur |
| Intégration | Groupe | Playbook | Rôle |
| --- | --- | --- | --- |
| Résolution DNS interne | `client_dns` | `playbooks/groupes/client_dns.yml` | `client_dns` |
| Confiance PKI / ACME | `client_pki` | `playbooks/groupes/client_pki.yml` | `client_pki` |

View file

@ -142,10 +142,9 @@ L'accès SSH par mot de passe est désactivé dès le socle. L'activation de nft
## 8. Déploiement par Makefile
Pour une VM déjà clonée et démarrée :
L'hôte est d'abord déclaré dans le **plan** (`instance/plan/serveurs.yml`) et l'inventaire régénéré (`make instancier-appliquer`) — `hosts.yml` est généré, il ne s'édite plus à la main. Pour une VM déjà clonée et démarrée :
```bash
make hote-ajouter HOTE=web-frontal-01 VMID=95301 ADRESSE_IP=10.1.15.31 GROUPES="serveur_debian serveur_durci"
make deployer HOTE=web-frontal-01
```