This repository has been archived on 2026-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
Set-OPS/docs/architecture-set-ops.md
Daniel Allaire ca0f95da28 Mettre les noms de roles et playbooks au singulier
serveurs_* -> serveur_, clients_ -> client_, suffixes pluriels au
singulier (serveur_web_dorsal/frontal, client_metrique, client_journal).

Renommage par tokens exacts : repertoires de roles, playbooks de groupes,
group_vars, variables internes des roles (serveur_nginx_*, conformite
ansible-lint), groupes du plan, constantes de code, docs. Faux-amis
preserves (serveurs_bd, scripts/serveurs.py, fonctions Python). Groupes
d'etat gardes au pluriel (hotes_actifs/planifies, modeles_vm).

Valide : ansible-lint 0 echec (0 var-naming), diff vide de la generation,
node --check, tous les registres. Ajout de .ansible-lint excluant docs/
(registres de donnees, pas du contenu Ansible).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 23:18:52 -04:00

2.3 KiB

Architecture Set-OPS

Set-OPS définit et construit l'écosystème numérique souverain de Chezlepro. Il se pilote par un plan : l'inventaire Ansible (inventories/production/hosts.yml) est généré depuis le plan, pas édité à la main.

  • Modèle, registres, commandes et flux de travail : docs/plan-et-generation.md.
  • Règles d'autorité : AGENTS.md (sections « Mission et identité » et « Le plan et la génération de l'inventaire »).

Entités du plan

serveur (VM)   docs/serveurs.yml      fonction, état, placement, intégrations
application    docs/applications.yml  groupe (rôle), hôte, port, requiert, expose
base           docs/bases-donnees.yml serveur de BD, base, propriétaire, secret (Vault), portée
domaine (DNS)  docs/domaines.yml      zone publique, autorité, edge
nomenclature   docs/nomenclature.yml  fonctions -> VMID / VLAN / IP (dérivés)

L'application est l'entité pivot ; le groupe Ansible n'est qu'une capacité (le rôle appliqué). VMID / IP / VLAN et les appartenances de groupes sont dérivés.

Rôles Ansible

Les rôles actifs sont conservés directement sous roles/.

Les sous-arborescences catégorielles de rôles ne doivent pas dupliquer un rôle actif. Un nouveau rôle doit être ajouté seulement lorsqu'un besoin opérationnel réel existe.

Les valeurs communes aux rôles doivent rester dans les defaults des rôles quand elles sont valables pour tous les environnements. Les inventaires ne doivent contenir que les politiques propres à leur contexte.

Groupes et playbooks

Les groupes opérationnels de l'inventaire doivent correspondre à un playbook homonyme :

inventories/production/hosts.yml
  serveur_debian

playbooks/groupes/serveur_debian.yml

Cette relation rend l'exploitation lisible :

appartenance à un groupe
→ playbook correspondant
→ état voulu appliqué par Ansible

Les groupes structurels ou vides peuvent exister, mais un groupe assigné à une VM de production doit avoir un playbook s'il exprime une intention de configuration.

Cycle de vie VM

Le cycle de vie des VM Chezlepro est documenté dans :

docs/vm-lifecycle.md

Intégrations futures

Les intégrations transversales des VM sont documentées dans :

docs/integrations-vm.md