alliance-boreale/docs/TRANSMISSION.md

44 lines
2.2 KiB
Markdown
Raw Normal View History

# 📦 Dossier de transmission — Alliance Boréale
> Ce document permet à une nouvelle équipe de **reprendre** et **ré-instancier** un écosystème Alliance Boréale à partir du dépôt “constitution”.
## 1) Résumé exécutif
- **Ce que cest** : un cadre (constitution + standards + SSOT) pour bâtir un écosystème numérique **autonome, interopérable et reproductible**.
- **Où est la vérité** : un **YAML unique** (`configure/configure.yaml`) — toutes les configurations dérivent de ce fichier.
- **Ce que fait la forge** : héberge la constitution et **miroire** les prérequis non-Debian (sources externes).
- **Ce que fournit ce dépôt** :
- gouvernance (constitution),
- règles techniques (DNS/PKI, IP v3, couches),
- SSOT + exports (Prometheus, Icinga, DNS, Ansible, NetBox),
- CI de base (lint YAML, build docs).
## 2) Principes structurants
- **Couches** : 14 (infra/réseau/systèmes/sécurité) ↔ **VPN** ; 58 (services/app/UI) ↔ **PKI/TLS** (pas besoin de VPN).
- **Adressage** : 10/8 local par fédéré ; 172.16/12 fédératif ; 172.20/16 P2P.
- **Nommage** : `<service>.<couche>.<tenant|site>.<domaine>`.
- **VNI** : `VNI = tenant_id × 10000 + VLAN` (auto-calcul si `vni` vide).
## 3) Arborescence (vue densemble)
- `docs/` : site MkDocs + **Constitution** (vision, gouvernance, standards)
- `specs/` : charte DNS/PKI, plan dadressage IP v3
- `configure/` : **SSOT** (`configure.yaml`) + export CLI (`export.mjs`)
- `dns/` : zones & politiques
- `ansible/` : inventaire/rôles (seed)
- `terraform/` : IaC commun
- `.forgejo/` : CI (YAML lint, build docs)
## 4) Processus de changement (PR-first)
- Toute évolution **passe par PR** sur `main` (branche protégée).
- **CODEOWNERS** exigent au moins 1 approbation.
- CI doit passer (lint + exports + build docs).
- Tag de version “constitution” : `vYYYY.M` (ex: `v2025.1`) après ratification.
## 5) Démarrage rapide (voir aussi INSTALL.md)
```bash
git clone <forge>/<owner>/alliance-boreale.git
cd alliance-boreale
$EDITOR configure/configure.yaml # renseigner les valeurs (site, tenant, IP…)
cd configure && npm ci || npm i
node export.mjs # génère out/{prometheus,icinga,dns,ansible,netbox}