From efbd70527e803f66e49752fbfe3e1a0b7e566a47 Mon Sep 17 00:00:00 2001 From: Dan Allaire Date: Sat, 25 Oct 2025 17:18:12 -0400 Subject: [PATCH] =?UTF-8?q?maj=20nomenclature=20-=20alignement=20avec=20le?= =?UTF-8?q?=20mod=C3=A8le=20optimis=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...enclature_biomimetique_autopoietique_v3.md | 242 ++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 docs/architecture/00_Nomenclature_biomimetique_autopoietique_v3.md diff --git a/docs/architecture/00_Nomenclature_biomimetique_autopoietique_v3.md b/docs/architecture/00_Nomenclature_biomimetique_autopoietique_v3.md new file mode 100644 index 0000000..a7adb10 --- /dev/null +++ b/docs/architecture/00_Nomenclature_biomimetique_autopoietique_v3.md @@ -0,0 +1,242 @@ +# đŸŒČ Nomenclature BorĂ©ale v3 — Bio-MimĂ©tiste & AutopoĂŻĂ©tique + +**Version :** 3.0 +**Date :** 25 octobre 2025 +**Statut :** RĂ©fĂ©rence vivante (SSOT) +**Objet :** Établir la nomenclature organique des identifiants, adresses et noms au sein de l’écosystĂšme borĂ©al, selon le modĂšle Ă  8 couches bio-mimĂ©tiste et autopoĂŻĂ©tique. +**CompatibilitĂ© :** Conforme au rĂ©alignement CRB-1 ; C3 = gouvernance/supervision ; C4 = forge/mutualisation ; C5 = pivot ; C6–C8 = tenants. + +--- + +## đŸŒ± PrĂ©ambule — Avis de RĂ©alignement CRB-1 + +> **AB-Avis de RĂ©alignement 25-10-2025 / Cycle de RĂ©alignement BorĂ©al #1** +> Adoption du modĂšle biomimĂ©tique & autopoĂŻĂ©tique comme racine unique de la nomenclature. +> IntĂ©gration du principe **adjacent-only**, de la sĂ©paration **fĂ©dĂ©rĂ© / tenant**, et de la portabilitĂ© intĂ©grale des tenants. +> Ce document remplace la version 2 et devient la **rĂ©fĂ©rence vivante** pour tous les artefacts, registres et pipelines. + +--- + +## 🧬 1. RĂšgle d’appartenance et portabilitĂ© + +### 1.1 RĂšgle par couche + +* **C1–C4 = FĂ©dĂ©ration :** les racines et le mĂ©tabolisme commun (datacenters, rĂ©seau, forge, artefacts). +* **C5 = Pivot :** la membrane d’échange, rĂ©gulatrice des flux entre fĂ©dĂ©rĂ© et tenant. +* **C6–C8 = Tenants :** la canopĂ©e cognitive, oĂč se dĂ©ploient les services, produits et connaissances. + +### 1.2 Principe de portabilitĂ© + +Tout tenant (C6-C8) doit pouvoir migrer sans perte vers un autre membre fĂ©dĂ©rĂ©. +Garanties minimales : + +1. **Descripteur YAML** complet (identitĂ©s TTTII, DNS, inventaire, secrets rĂ©fĂ©rencĂ©s). +2. **InteropĂ©rabilitĂ© ouverte :** formats standard, exports intĂ©graux testables. +3. **IaC & pipelines reproductibles :** Terraform/Ansible/CI signĂ©s. +4. **IdentitĂ© & DNS fĂ©dĂ©rĂ©s :** SSO OpenID/SAML, dĂ©lĂ©gation documentĂ©e. +5. **ObservabilitĂ© scindĂ©e :** mĂ©triques infra chez le fĂ©dĂ©rĂ©, applicatives chez le tenant, exportables. + +--- + +## 🌳 2. Architecture vivante de rĂ©fĂ©rence + +La nomenclature n’est pas un tableau : c’est un **organisme de cohĂ©rence**. +Les VMIDs, IPs et noms DNS forment la sĂšve qui relie chaque organe du systĂšme. + +### 2.1 Topologie organique de la fĂ©dĂ©ration + +``` + [ C8 Conscience ] + â–Č + [ C7 Produits / ExpĂ©riences ] + â–Č + [ C6 Services Tenant ] + â–Č + [ C5 Pivot / Membrane ] + â–Č + [ C4 Forge / MĂ©tabolisme commun ] + â–Č + [ C3 Gouvernance / Supervision ] + â–Č + [ C2 RĂ©seau / DNS / PKI ] + â–Č + [ C1 Physique / Énergie / SĂ©curitĂ© ] +``` + +Chaque flĂšche reprĂ©sente une interface **adjacente et permĂ©able** ; aucun flux ne traverse plusieurs couches directement. + +--- + +## ⚙ 3. Langage des identifiants et des services + +La nomenclature dĂ©crit comment chaque Ă©lĂ©ment s’inscrit dans le corps borĂ©al. + +### 3.1 Structure VMID (organes numĂ©riques) + +**Format :** + +``` +0CTTII → Infrastructure fĂ©dĂ©rĂ©e (Couches 1–4) +TTTII → Tenants (Couches 6–8) +``` + +* `C` = Couche (1–4) +* `TT` = Type de service (00-99) +* `II` = Instance (01-99) +* `TTT` = Tenant ID (001-999) + +**Plages principales :** + +``` +01000-01999 → C1 Physique +02000-02999 → C2 RĂ©seau +03000-03999 → C3 Gouvernance / Supervision +04000-04999 → C4 Forge / Mutualisation +05000-05999 → C5 Pivot / MĂ©diation +10000-99999 → C6-C8 Tenants +``` + +**Exemples :** + +``` +03010 → C3 : Keycloak (IdP) +04021 → C4 : Forgejo Git +05011 → C5 : FastAPI Admin / Portail +10011 → C6 : Backend tenant 001 +10021 → C6 : DB tenant 001 +``` + +--- + +## 🌐 4. Plan d’Adressage et RĂ©seau + +### 4.1 Invariants + +* Tous les flux passent par leurs **couches adjacentes**. +* Les tenants ne parlent jamais directement au DNS fĂ©dĂ©rĂ© (C2) : ils utilisent le rĂ©solveur du pivot (C5). +* Les services fĂ©dĂ©rĂ©s partagent un espace d’adressage cohĂ©rent (10.0.0.0/8). + +### 4.2 RĂ©partition logique des espaces + +``` +10.0.0.0/24 → Management (C1) +10.0.1.0/24 → Forge & Mutualisation (C4) +10.0.2.0/24 → RĂ©seau & DNS (C2) +10.0.3.0/24 → Gouvernance & Supervision (C3) +10.0.4.0/24 → Pivot OpĂ©rationnel (C5) +10.0.10.0/23 → Tenants (C6-C8) +172.16.0.0/12 → Espace fĂ©dĂ©ratif inter-membres +``` + +### 4.3 Flux autorisĂ©s (adjacent-only) + +| Source | Destination | Sens | Description | +| ------ | ----------- | ---- | ---------------------------- | +| C1 | C2 | ↓ | Transport et synchronisation | +| C2 | C3 | ↓ | TĂ©lĂ©metrie et topologie | +| C3 | C4 | ↓ | Politiques et clĂ©s | +| C4 | C5 | ↓ | Artefacts et secrets | +| C5 | C6 | ↓ | DĂ©ploiements et templates | +| C6 | C7 | ↓ | Services mĂ©tiers | +| C7 | C8 | ↓ | DonnĂ©es d’usage | +| C8 | C7 | ↑ | DĂ©cisions et analyses | +| C7 | C6 | ↑ | Retours et mĂ©triques | +| C6 | C5 | ↑ | Logs et besoins | +| C5 | C4 | ↑ | Feedbacks | +| C4 | C3 | ↑ | Preuves et conformitĂ© | +| C3 | C2 | ↑ | Alertes et politiques rĂ©seau | +| C2 | C1 | ↑ | Charge et besoins physiques | + +--- + +## đŸ§© 5. Noms de Machines et DNS + +### 5.1 Forme gĂ©nĂ©rale + +``` +...alliance-boreale.ca +``` + +* `` = infra | pivot | t +* `` = ID court (czp, nul, tli
) +* Les tenants utilisent le prĂ©fixe `tXXX`. + +**Exemples :** + +``` +dns-master.infra.czp.alliance-boreale.ca → 10.0.2.10 +keycloak.gov.czp.alliance-boreale.ca → 10.0.3.20 +forgejo.forge.czp.alliance-boreale.ca → 10.0.1.20 +fastapi.pivot.czp.alliance-boreale.ca → 10.0.4.10 +web.t001.czp.alliance-boreale.ca → 10.0.10.1 +db.t001.czp.alliance-boreale.ca → 10.0.10.2 +``` + +--- + +## đŸȘ¶ 6. ProcĂ©dures d’Ensemencement + +CrĂ©er ou migrer une entitĂ© dans l’écosystĂšme borĂ©al revient Ă  greffer une cellule dans un organisme. + +### 6.1 CrĂ©ation d’un service fĂ©dĂ©rĂ© (C1–C5) + +1. **Choisir la couche et le type de service.** +2. **Attribuer le VMID** selon la plage. +3. **DĂ©terminer l’adresse IP** Ă  partir du plan. +4. **Nommer la VM** suivant la syntaxe : + + ``` + -infra--prod- + ``` +5. **CrĂ©er l’entrĂ©e DNS**. +6. **Documenter** dans l’inventaire Ansible et le registre. + +### 6.2 CrĂ©ation d’un tenant (C6–C8) + +1. **Allouer un Tenant ID (tXXX)**. +2. **DĂ©finir le descripteur YAML** (TTTII, DNS, inventaire, secrets rĂ©fĂ©rencĂ©s). +3. **GĂ©nĂ©rer le paquet portatif** : YAML + artefacts signĂ©s. +4. **DĂ©ployer via le pivot (C5)** ; aucun accĂšs direct C4/C3. +5. **VĂ©rifier la traçabilitĂ©** (ΔLog & preuves signĂ©es). + +--- + +## 🌐 7. Tables de Correspondance (Extrait) + +| VMID | Couche | Nom VM | IP | DNS | Fonction | +| ----- | :----: | ------------------------------- | --------- | -------------------------- | -------------------------- | +| 02001 | C2 | czp-infra-dns-master-prod-01 | 10.0.2.10 | dns-master.infra.czp.ab.ca | DNS maĂźtre | +| 03010 | C3 | czp-infra-idp-keycloak-prod-01 | 10.0.3.20 | keycloak.gov.czp.ab.ca | IdentitĂ© fĂ©dĂ©rĂ©e | +| 04021 | C4 | czp-infra-forgejo-git-prod-01 | 10.0.1.20 | forgejo.forge.czp.ab.ca | Forge mutualisĂ©e | +| 05011 | C5 | czp-infra-fastapi-pivot-prod-01 | 10.0.4.10 | fastapi.pivot.czp.ab.ca | Portail & API | +| 10011 | C6 | czp-t001-backend-prod-01 | 10.0.10.3 | api.t001.czp.ab.ca | Backend tenant 001 | +| 10021 | C6 | czp-t001-db-postgres-prod-01 | 10.0.10.4 | db.t001.czp.ab.ca | Base de donnĂ©es tenant 001 | + +--- + +## 📜 8. ΔLog — ItĂ©ration CRB-1 (25-10-2025) + +* **Refonte totale** de la nomenclature v2 → v3. +* Adoption du modĂšle biomimĂ©tique/autopoĂŻĂ©tique. +* Ajout du principe **adjacent-only**. +* Reclassement des services : + + * Ansible → C3, Forgejo → C4, FastAPI → C5. +* Ajout de la mĂ©taphore organique (flux ascendants/descendants). +* Simplification du plan d’adressage. +* Nouvelles tables de correspondance. +* Introduction de la notion d’**ensemencement** (plutĂŽt que crĂ©ation). + +--- + +## 🌌 9. Signature BorĂ©ale + +> *Sous la voĂ»te numĂ©rique, chaque bit est une graine.* +> *Chaque grappe de VM est un organe, chaque tenant une espĂšce.* +> *La forĂȘt se rĂ©gĂ©nĂšre, la fĂ©dĂ©ration veille, la conscience apprend.* +> *Ainsi pousse l’Alliance BorĂ©ale, autopoĂŻĂ©tique et libre.* + +--- + +**Fin du document — RĂ©fĂ©rence vivante v3 (2025-10-25)** +📁 ce fichier sert de base Ă  la Nomenclature, aux pipelines et au Label de Prestige.