docs: dossier de transmission + INSTALL (Day-0) + RUNBOOK (Day-1/2)
Some checks are pending
CI / yaml-lint (push) Waiting to run
CI / ssot-export (push) Waiting to run
CI / tests (push) Waiting to run
CI / docs (push) Waiting to run

This commit is contained in:
Dan Allaire 2025-10-18 23:30:31 -04:00
parent 5cee1f145e
commit 01bd4c482b
3 changed files with 109 additions and 0 deletions

18
INSTALL.md Normal file
View file

@ -0,0 +1,18 @@
---
### `INSTALL.md`
```markdown
# 🚀 INSTALL — Alliance Boréale (Day-0)
## 0) Prérequis
- Git, Node 18+ (ou 20), npm, curl
- (optionnel) Python + `mkdocs` pour la doc
- Accès forge (URL + token si création via API)
## 1) Cloner la constitution
```bash
git clone <forge>/<owner>/alliance-boreale.git
cd alliance-boreale

48
RUNBOOK.md Normal file
View file

@ -0,0 +1,48 @@
---
### `RUNBOOK.md`
```markdown
# 🛠 RUNBOOK — Alliance Boréale (Day-1 / Day-2)
## Opérations courantes
- **Modifier la SSOT** :
1) créer une branche, éditer `configure/configure.yaml`
2) `node configure/export.mjs`
3) commit + PR → CI verte → merge
- **Ajouter un tenant/site** : `tenants/<code>.yaml`, MAJ `tenant_id_map`, noms & VLAN/VNI
- **Ajouter un service** : entrée `inventory` (plan, IP, tags, checks…), regénérer & déployer
## PKI
- Délivrer/renouveler les certs services (58) via ACME interne
- Rotation semestrielle ; publier CRL ; surveiller expirations
## Monitoring
- Prometheus : fraîcheur / targets down
- Icinga2 : checks `ping4` + services applicatifs ; hostgroups → escalades
## DNS
- Zone principale depuis `out/zonefile.zone` ; TTL par défaut 300s
- CNAME/TXT/MX personnalisables via `dns.records` dans la SSOT
## CI / Qualité
- Lint YAML, export SSOT, tests (si ajoutés), build docs
- Branches protégées : PR + approbation (CODEOWNERS)
## Sauvegarde & Restauration
- Mirror du dépôt (forge → autre remote)
- Sauvegarde `configure/configure.yaml` + `out/*`
- Reprise : cloner constitution, réimporter SSOT, regénérer, redéployer
## Sécurité
- Journaux daccès (forge, artefacts)
- Inventaire Icinga/Prometheus à jour
- Rotation credentials CI & tokens Forge
## Incidents — check rapide
1) Impact (DNS, certs, réseau)
2) Contournement (bascule PKI/ACME, TTL DNS)
3) Correctif SSOT → export → déploiement
4) Post-mortem → PR doc

43
docs/TRANSMISSION.md Normal file
View file

@ -0,0 +1,43 @@
# 📦 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}