diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..0c401db --- /dev/null +++ b/INSTALL.md @@ -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 //alliance-boreale.git +cd alliance-boreale + diff --git a/RUNBOOK.md b/RUNBOOK.md new file mode 100644 index 0000000..618355c --- /dev/null +++ b/RUNBOOK.md @@ -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/.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 (5–8) 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 d’accè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 + diff --git a/docs/TRANSMISSION.md b/docs/TRANSMISSION.md new file mode 100644 index 0000000..97f0fb7 --- /dev/null +++ b/docs/TRANSMISSION.md @@ -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 c’est** : 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** : 1–4 (infra/réseau/systèmes/sécurité) ↔ **VPN** ; 5–8 (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** : `...`. +- **VNI** : `VNI = tenant_id × 10000 + VLAN` (auto-calcul si `vni` vide). + +## 3) Arborescence (vue d’ensemble) +- `docs/` : site MkDocs + **Constitution** (vision, gouvernance, standards) +- `specs/` : charte DNS/PKI, plan d’adressage 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 //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} +