alliance-boreale/docs/architecture/10 - Nomenclature mnémotechnique.md
Dan Allaire ef98fd8a3f Refonte
2026-03-09 18:23:06 -04:00

242 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🌲 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 ; C6C8 = 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 dappartenance et portabilité
### 1.1 Règle par couche
* **C1C4 = 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.
* **C6C8 = 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 nest pas un tableau : cest 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 sinscrit dans le corps boréal.
### 3.1 Structure VMID (organes numériques)
**Format :**
```
0CTTII → Infrastructure fédérée (Couches 14)
TTTII → Tenants (Couches 68)
```
* `C` = Couche (14)
* `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 dAdressage 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 dadressage 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 dusage |
| 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
```
<service>.<contexte>.<membre>.alliance-boreale.ca
```
* `<contexte>` = infra | pivot | t<tenant-id>
* `<membre>` = 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 dEnsemencement
Créer ou migrer une entité dans lécosystème boréal revient à greffer une cellule dans un organisme.
### 6.1 Création dun service fédéré (C1C5)
1. **Choisir la couche et le type de service.**
2. **Attribuer le VMID** selon la plage.
3. **Déterminer ladresse IP** à partir du plan.
4. **Nommer la VM** suivant la syntaxe :
```
<membre>-infra-<type>-prod-<instance>
```
5. **Créer lentrée DNS**.
6. **Documenter** dans linventaire Ansible et le registre.
### 6.2 Création dun tenant (C6C8)
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 dadressage.
* 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 lAlliance 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.