voute du site : dix secrets engendres, quatre a relever, et la porte fermee avant
Le site n avait ni voute ni cle. C etait le seul blocage TOTAL avant la visite — et le seul qui ne demandait aucun Internet : sans elle, `make site-appliquer` ne passe aucun secret et chaque role echoue sur son assertion. Quatorze secrets, comme le site de Chezlepro : - dix engendres sur le poste (autorite de certification et son provisionneur, cle et jeton interne de la forge, ses comptes d administration, base et jeton d API de la supervision, phrase du depot de sauvegarde) ; - une paire ed25519 pour la sauvegarde — la moitie PRIVEE en voute, la PUBLIQUE au plan, ou elle est publiable sans risque et ou elle est la seule a pouvoir servir ; - quatre laisses VIDES, parce qu ils ne s engendrent pas : ce sont des jetons que le materiel delivre. Vides plutot qu absents, deliberement — une cle absente donne une erreur de variable indefinie, une cle vide donne l assertion du role, qui dit QUOI manque et OU le prendre. .gitignore ALIGNE SUR CHEZLEPRO, ET AVANT DE POSER LA VOUTE. Ce depot n excluait que `*.vault.yml.bak` : `underlay.vault.yml` aurait ete versionnable. Le defaut etait dormant parce que le fichier n existait pas encore — il se serait reveille au premier `git add -A`, c est-a-dire au moment ou l on cesse de regarder. On ferme la porte avant de poser ce qu elle protege. Verifie : la voute se relit par le chemin NORMAL (la liste d identites, pas la cle directe), quatorze secrets, aucun manquant, et la cle privee de sauvegarde est bien une cle. Le chiffrement a ete fait avec ses deux flux rediriges vers des fichiers — `ansible-vault` echoue en SILENCE sur une sortie non bloquante, et la voute paraitrait ecrite en etant identique a l octet. COLLECTE.md compte desormais dix-sept valeurs a relever, dont les quatre jetons. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
This commit is contained in:
parent
1fc0b44b6d
commit
f9d14e6447
3 changed files with 33 additions and 1 deletions
13
.gitignore
vendored
13
.gitignore
vendored
|
|
@ -1,2 +1,15 @@
|
|||
# La VOUTE du monde physique ne se versionne jamais en clair.
|
||||
#
|
||||
# ALIGNE SUR SITE-Chezlepro LE 2026-09-13. Ce fichier n'excluait que `*.vault.yml.bak` :
|
||||
# la voute elle-meme, `underlay.vault.yml`, aurait ete versionnable. Elle n'existait pas
|
||||
# encore, donc le defaut etait DORMANT — il se serait reveille au premier `git add -A`,
|
||||
# c'est-a-dire exactement au moment ou on cesse de regarder.
|
||||
#
|
||||
# L'ordre compte : on ferme la porte AVANT de poser ce qu'elle protege.
|
||||
*.vault.yml
|
||||
*.secret
|
||||
*.pem
|
||||
*.key
|
||||
|
||||
*.vault.yml.bak
|
||||
flux-genere/
|
||||
|
|
|
|||
16
COLLECTE.md
16
COLLECTE.md
|
|
@ -10,6 +10,10 @@ choix : ce sont des FAITS que seul le matériel peut dire. Treize valeurs, pas t
|
|||
| `<<IP_FRONTIERE_ADMIN>>` | OPNsense, interface de gestion | Dépend du plan d'adressage existant sur place |
|
||||
| `<<optN>>` ×9 | OPNsense → Interfaces → Assignments | Les noms `optN` sont attribués dans l'ordre de création |
|
||||
| `<<lan|optN>>` | Idem | Selon que la patte de gestion est la LAN d'origine ou une autre |
|
||||
| `proxmox_api_token_id` | Datacenter → Permissions → API Tokens | Délivré par le nœud à la création |
|
||||
| `proxmox_api_token_secret` | Idem — **affiché une seule fois** | Ne se relit jamais ; le noter tout de suite |
|
||||
| `vault_opnsense_api_key` | System → Access → Users → api keys | Délivré par la frontière |
|
||||
| `vault_opnsense_api_secret` | Téléchargé avec la clé, même fichier | Idem |
|
||||
|
||||
**Le piège des `optN`.** Le devis raisonne en ARRIVÉE : une règle posée sur la mauvaise
|
||||
patte ne correspond jamais, et rien ne le signale. Relever les neuf noms exacts avant de
|
||||
|
|
@ -20,6 +24,18 @@ chez Chezlepro et toutes les règles entrantes des locataires tombaient dans le
|
|||
environ 600 Go. Vérifier `vgs` et `df -h` AVANT de lancer la matérialisation : c'est la
|
||||
seule décision de ce document qui peut encore changer, et elle se prend avec un chiffre.
|
||||
|
||||
**Les quatre jetons vont dans la voûte**, pas dans un fichier de plan :
|
||||
|
||||
```
|
||||
cd ../Set-OPS-public
|
||||
ANSIBLE_VAULT_IDENTITY_LIST="$(python3 scripts/voutes.py identites)" \
|
||||
ansible-vault edit ../SITE-Technolibre/underlay.vault.yml
|
||||
```
|
||||
|
||||
Ils y sont déjà déclarés, **vides**. C'est volontaire : une clé absente donne une erreur de
|
||||
variable indéfinie, une clé vide donne l'assertion du rôle — qui dit quoi manque et où le
|
||||
prendre. Les dix autres secrets du site sont déjà engendrés.
|
||||
|
||||
---
|
||||
|
||||
## Ce qui a été décidé, et qu'il suffit de confirmer
|
||||
|
|
|
|||
|
|
@ -30,7 +30,10 @@ gabarit:
|
|||
|
||||
# Clé publique du compte de dépôt des sauvegardes du site lui-même — générée au
|
||||
# déploiement de `site-backup-01`, recopiée ensuite.
|
||||
backup_pubkey: ""
|
||||
# LA MOITIE PUBLIQUE de la paire de sauvegarde du site. Sa jumelle privee vit dans
|
||||
# `underlay.vault.yml` — jamais versionnee. C'est cette cle-ci que le depot autorise :
|
||||
# la publier est sans risque, et c'est meme le seul moyen qu'elle serve.
|
||||
backup_pubkey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINf8O1ASPbRE2J+3uOrdJBRFJZCap8WeHjupdboI1KKF sauvegarde site-technolibre"
|
||||
|
||||
nftables_admin_ssh: []
|
||||
supervision_courriel: sysadmin@technolibre.ca
|
||||
|
|
|
|||
Loading…
Reference in a new issue