2026-09-12 14:16:58 -04:00
|
|
|
# Intrants de base du SITE-Technolibre — les valeurs-racines dont tout le reste dérive.
|
|
|
|
|
# ⚠ Ce qui est marqué <<…>> est à relever sur place. Voir COLLECTE.md.
|
|
|
|
|
---
|
|
|
|
|
# LE DOMAINE INTERNE DU SITE, pas celui de son locataire. Chezlepro utilise
|
|
|
|
|
# `genese.internal` ; deux sites qui porteraient le même nom de zone ne pourraient pas
|
|
|
|
|
# coexister dans un même résolveur. Proposition : `technolibre.site` ou `atelier.internal`.
|
site : toutes les valeurs decidables sont posees, restent les faits du materiel
Terrain vierge, factory settings : ce qui relevait d une DECISION a ete tranche.
Il reste treize valeurs, et ce sont des faits que seul le materiel peut dire.
Decisions :
- noeud `atelier`, frontiere `portail`, domaine du site `socle.internal` (distinct
de technolibre.internal, qui appartient au locataire)
- pont unique vmbr0 VLAN-aware : sans seconde carte, d autres ponts ne separeraient
rien
- gabarit 99998, le meme dans toute la flotte ; stockage local-lvm, le seul present
sur un noeud unique
- rebond ansible@10.31.0.1, noeud 10.31.0.41
routage_tenants: sdn — et c est le point qui demandait un arbitrage. Sans
commutateur de niveau 3, le mode `switch` ferait porter les SVI a la frontiere :
six interfaces VLAN de locataire EN PLUS de ses six pattes de site, et les ACL
entre elles a verifier a la main. En EVPN, le routage et le filtrage inter-zone du
locataire vivent sur le noeud, la frontiere ne voit que le transit, et le moteur
sait deja poser tout ca. L objection « EVPN sur un seul noeud, c est un maillage
sans pair » se retourne : un VTEP unique n a aucune session a etablir.
CONSEQUENCE MESUREE AVANT LA VISITE, PAS PENDANT. En mode sdn, devis_opnsense
derive le prochain saut des routes de la frontiere depuis
proxmox_sdn.sortie_primaire — qui vit dans proxmox-hebergeur.yml, absent de ce
depot. La derivation rendait une chaine VIDE : le devis se tait au lieu d ecrire
faux, mais la frontiere restait sans route de retour vers le locataire. Le fichier
est cree ; la derivation rend maintenant 10.0.4.41.
ASN 65031 et controleur EVPN0031, derives de l index du site plutot que repris de
Chezlepro (65000) : les deux sites ont vocation a etre relies, et deux clusters qui
echangent des routes avec le meme numero d AS produisent une panne dont le message
ne parle pas d AS.
COLLECTE.md ne demande plus que ce qui se releve : le nom de la carte reseau, les
deux adresses de la frontiere, les neuf noms d interfaces optN. Plus un chiffre a
mesurer avant de materialiser — quinze clones complets font environ 600 Go sur
local-lvm.
Federation : 5 instances, aucun index en collision (13, 17, 23, 29, 31, 37).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 14:16:37 -04:00
|
|
|
domaine_interne: socle.internal
|
|
|
|
|
organisation: TechnoLibre
|
2026-09-12 14:16:58 -04:00
|
|
|
|
|
|
|
|
# Par où l'administration entre. Chez Chezlepro c'est la patte LAN de la frontière ;
|
|
|
|
|
# ici ce sera la patte de gestion de l'OPNsense (10.23.0.1) ou un accès direct.
|
site : toutes les valeurs decidables sont posees, restent les faits du materiel
Terrain vierge, factory settings : ce qui relevait d une DECISION a ete tranche.
Il reste treize valeurs, et ce sont des faits que seul le materiel peut dire.
Decisions :
- noeud `atelier`, frontiere `portail`, domaine du site `socle.internal` (distinct
de technolibre.internal, qui appartient au locataire)
- pont unique vmbr0 VLAN-aware : sans seconde carte, d autres ponts ne separeraient
rien
- gabarit 99998, le meme dans toute la flotte ; stockage local-lvm, le seul present
sur un noeud unique
- rebond ansible@10.31.0.1, noeud 10.31.0.41
routage_tenants: sdn — et c est le point qui demandait un arbitrage. Sans
commutateur de niveau 3, le mode `switch` ferait porter les SVI a la frontiere :
six interfaces VLAN de locataire EN PLUS de ses six pattes de site, et les ACL
entre elles a verifier a la main. En EVPN, le routage et le filtrage inter-zone du
locataire vivent sur le noeud, la frontiere ne voit que le transit, et le moteur
sait deja poser tout ca. L objection « EVPN sur un seul noeud, c est un maillage
sans pair » se retourne : un VTEP unique n a aucune session a etablir.
CONSEQUENCE MESUREE AVANT LA VISITE, PAS PENDANT. En mode sdn, devis_opnsense
derive le prochain saut des routes de la frontiere depuis
proxmox_sdn.sortie_primaire — qui vit dans proxmox-hebergeur.yml, absent de ce
depot. La derivation rendait une chaine VIDE : le devis se tait au lieu d ecrire
faux, mais la frontiere restait sans route de retour vers le locataire. Le fichier
est cree ; la derivation rend maintenant 10.0.4.41.
ASN 65031 et controleur EVPN0031, derives de l index du site plutot que repris de
Chezlepro (65000) : les deux sites ont vocation a etre relies, et deux clusters qui
echangent des routes avec le meme numero d AS produisent une panne dont le message
ne parle pas d AS.
COLLECTE.md ne demande plus que ce qui se releve : le nom de la carte reseau, les
deux adresses de la frontiere, les neuf noms d interfaces optN. Plus un chiffre a
mesurer avant de materialiser — quinze clones complets font environ 600 Go sur
local-lvm.
Federation : 5 instances, aucun index en collision (13, 17, 23, 29, 31, 37).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 14:16:37 -04:00
|
|
|
rebond: ansible@10.31.0.1
|
la premiere heure : adresses et comptes, dans l ordre
Proxmox et OPNsense sont deja installes chez TechnoLibre. Ce qui manque avant tout
deploiement, ce sont les bonnes adresses et les comptes par lesquels Set-OPS agit.
L ORDRE N EST PAS INDIFFERENT : la frontiere porte la passerelle de chaque zone. Posee
apres le noeud, celui-ci aurait des adresses qui ne menent nulle part, et le
diagnostic parlerait de reseau alors qu il s agirait d une patte manquante.
Le document donne les huit pattes de la frontiere avec l invariant du dernier octet,
les trois adresses du noeud, les deux comptes d API avec leurs commandes exactes, la
cle publique de la flotte a poser, la restauration du gabarit depuis la cle USB, et la
mesure d espace a faire AVANT de materialiser.
Il dit aussi franchement pourquoi le jeton Proxmox part en Administrator, et que le
resserrer ensuite est un geste a faire, pas une intention.
Au passage : `cle_ssh` designait `~/.ssh/technolibre`, qui n existe pas. La vraie cle
est `~/.ssh/id_ed25519_ansible_technolibre` — un nom plausible ne designe rien.
Controle : les onze adresses du document sont celles que la carte declare, aucune
inventee.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 19:02:51 -04:00
|
|
|
# LE NOM REEL DE LA CLE, pas un nom plausible. Celle-ci existe sur le poste et sert
|
|
|
|
|
# deja a la flotte de TechnoLibre ; `~/.ssh/technolibre` ne designait rien.
|
|
|
|
|
cle_ssh: ~/.ssh/id_ed25519_ansible_technolibre
|
2026-09-12 14:16:58 -04:00
|
|
|
|
|
|
|
|
integrations_exemptes: {}
|
|
|
|
|
|
|
|
|
|
# La clé publique du runner du site — GÉNÉRÉE au premier déploiement de `site-ops-01`,
|
|
|
|
|
# puis recopiée ici. Laisser vide au départ : c'est normal.
|
|
|
|
|
runner_cle_publique: ""
|
|
|
|
|
|
|
|
|
|
# LE GABARIT. Sur un nœud unique il n'y a pas d'autre machine pour le porter :
|
|
|
|
|
# ne jamais le personnaliser, et ne jamais convertir une VM i440fx en q35.
|
|
|
|
|
gabarit:
|
2026-09-13 17:55:09 -04:00
|
|
|
# LE MEME GABARIT QUE LE RESTE DE LA FLOTTE. 99998 est son PRECEDENT — garde ici
|
|
|
|
|
# pour que l'on sache d'ou l'on vient, jamais clone.
|
|
|
|
|
vmid: 9006
|
|
|
|
|
precedent: 99998
|
2026-09-12 14:16:58 -04:00
|
|
|
nom: modeleSetOPS-minimal
|
site : toutes les valeurs decidables sont posees, restent les faits du materiel
Terrain vierge, factory settings : ce qui relevait d une DECISION a ete tranche.
Il reste treize valeurs, et ce sont des faits que seul le materiel peut dire.
Decisions :
- noeud `atelier`, frontiere `portail`, domaine du site `socle.internal` (distinct
de technolibre.internal, qui appartient au locataire)
- pont unique vmbr0 VLAN-aware : sans seconde carte, d autres ponts ne separeraient
rien
- gabarit 99998, le meme dans toute la flotte ; stockage local-lvm, le seul present
sur un noeud unique
- rebond ansible@10.31.0.1, noeud 10.31.0.41
routage_tenants: sdn — et c est le point qui demandait un arbitrage. Sans
commutateur de niveau 3, le mode `switch` ferait porter les SVI a la frontiere :
six interfaces VLAN de locataire EN PLUS de ses six pattes de site, et les ACL
entre elles a verifier a la main. En EVPN, le routage et le filtrage inter-zone du
locataire vivent sur le noeud, la frontiere ne voit que le transit, et le moteur
sait deja poser tout ca. L objection « EVPN sur un seul noeud, c est un maillage
sans pair » se retourne : un VTEP unique n a aucune session a etablir.
CONSEQUENCE MESUREE AVANT LA VISITE, PAS PENDANT. En mode sdn, devis_opnsense
derive le prochain saut des routes de la frontiere depuis
proxmox_sdn.sortie_primaire — qui vit dans proxmox-hebergeur.yml, absent de ce
depot. La derivation rendait une chaine VIDE : le devis se tait au lieu d ecrire
faux, mais la frontiere restait sans route de retour vers le locataire. Le fichier
est cree ; la derivation rend maintenant 10.0.4.41.
ASN 65031 et controleur EVPN0031, derives de l index du site plutot que repris de
Chezlepro (65000) : les deux sites ont vocation a etre relies, et deux clusters qui
echangent des routes avec le meme numero d AS produisent une panne dont le message
ne parle pas d AS.
COLLECTE.md ne demande plus que ce qui se releve : le nom de la carte reseau, les
deux adresses de la frontiere, les neuf noms d interfaces optN. Plus un chiffre a
mesurer avant de materialiser — quinze clones complets font environ 600 Go sur
local-lvm.
Federation : 5 instances, aucun index en collision (13, 17, 23, 29, 31, 37).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 14:16:37 -04:00
|
|
|
noeud: atelier
|
2026-09-12 14:16:58 -04:00
|
|
|
machine: q35
|
|
|
|
|
bios: ovmf
|
site : toutes les valeurs decidables sont posees, restent les faits du materiel
Terrain vierge, factory settings : ce qui relevait d une DECISION a ete tranche.
Il reste treize valeurs, et ce sont des faits que seul le materiel peut dire.
Decisions :
- noeud `atelier`, frontiere `portail`, domaine du site `socle.internal` (distinct
de technolibre.internal, qui appartient au locataire)
- pont unique vmbr0 VLAN-aware : sans seconde carte, d autres ponts ne separeraient
rien
- gabarit 99998, le meme dans toute la flotte ; stockage local-lvm, le seul present
sur un noeud unique
- rebond ansible@10.31.0.1, noeud 10.31.0.41
routage_tenants: sdn — et c est le point qui demandait un arbitrage. Sans
commutateur de niveau 3, le mode `switch` ferait porter les SVI a la frontiere :
six interfaces VLAN de locataire EN PLUS de ses six pattes de site, et les ACL
entre elles a verifier a la main. En EVPN, le routage et le filtrage inter-zone du
locataire vivent sur le noeud, la frontiere ne voit que le transit, et le moteur
sait deja poser tout ca. L objection « EVPN sur un seul noeud, c est un maillage
sans pair » se retourne : un VTEP unique n a aucune session a etablir.
CONSEQUENCE MESUREE AVANT LA VISITE, PAS PENDANT. En mode sdn, devis_opnsense
derive le prochain saut des routes de la frontiere depuis
proxmox_sdn.sortie_primaire — qui vit dans proxmox-hebergeur.yml, absent de ce
depot. La derivation rendait une chaine VIDE : le devis se tait au lieu d ecrire
faux, mais la frontiere restait sans route de retour vers le locataire. Le fichier
est cree ; la derivation rend maintenant 10.0.4.41.
ASN 65031 et controleur EVPN0031, derives de l index du site plutot que repris de
Chezlepro (65000) : les deux sites ont vocation a etre relies, et deux clusters qui
echangent des routes avec le meme numero d AS produisent une panne dont le message
ne parle pas d AS.
COLLECTE.md ne demande plus que ce qui se releve : le nom de la carte reseau, les
deux adresses de la frontiere, les neuf noms d interfaces optN. Plus un chiffre a
mesurer avant de materialiser — quinze clones complets font environ 600 Go sur
local-lvm.
Federation : 5 instances, aucun index en collision (13, 17, 23, 29, 31, 37).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 14:16:37 -04:00
|
|
|
stockage: local-lvm
|
2026-09-12 14:16:58 -04:00
|
|
|
|
|
|
|
|
# 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.
|
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
2026-09-13 14:37:37 -04:00
|
|
|
# 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"
|
2026-09-12 14:16:58 -04:00
|
|
|
|
|
|
|
|
nftables_admin_ssh: []
|
site : toutes les valeurs decidables sont posees, restent les faits du materiel
Terrain vierge, factory settings : ce qui relevait d une DECISION a ete tranche.
Il reste treize valeurs, et ce sont des faits que seul le materiel peut dire.
Decisions :
- noeud `atelier`, frontiere `portail`, domaine du site `socle.internal` (distinct
de technolibre.internal, qui appartient au locataire)
- pont unique vmbr0 VLAN-aware : sans seconde carte, d autres ponts ne separeraient
rien
- gabarit 99998, le meme dans toute la flotte ; stockage local-lvm, le seul present
sur un noeud unique
- rebond ansible@10.31.0.1, noeud 10.31.0.41
routage_tenants: sdn — et c est le point qui demandait un arbitrage. Sans
commutateur de niveau 3, le mode `switch` ferait porter les SVI a la frontiere :
six interfaces VLAN de locataire EN PLUS de ses six pattes de site, et les ACL
entre elles a verifier a la main. En EVPN, le routage et le filtrage inter-zone du
locataire vivent sur le noeud, la frontiere ne voit que le transit, et le moteur
sait deja poser tout ca. L objection « EVPN sur un seul noeud, c est un maillage
sans pair » se retourne : un VTEP unique n a aucune session a etablir.
CONSEQUENCE MESUREE AVANT LA VISITE, PAS PENDANT. En mode sdn, devis_opnsense
derive le prochain saut des routes de la frontiere depuis
proxmox_sdn.sortie_primaire — qui vit dans proxmox-hebergeur.yml, absent de ce
depot. La derivation rendait une chaine VIDE : le devis se tait au lieu d ecrire
faux, mais la frontiere restait sans route de retour vers le locataire. Le fichier
est cree ; la derivation rend maintenant 10.0.4.41.
ASN 65031 et controleur EVPN0031, derives de l index du site plutot que repris de
Chezlepro (65000) : les deux sites ont vocation a etre relies, et deux clusters qui
echangent des routes avec le meme numero d AS produisent une panne dont le message
ne parle pas d AS.
COLLECTE.md ne demande plus que ce qui se releve : le nom de la carte reseau, les
deux adresses de la frontiere, les neuf noms d interfaces optN. Plus un chiffre a
mesurer avant de materialiser — quinze clones complets font environ 600 Go sur
local-lvm.
Federation : 5 instances, aucun index en collision (13, 17, 23, 29, 31, 37).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 14:16:37 -04:00
|
|
|
supervision_courriel: sysadmin@technolibre.ca
|
2026-09-16 18:11:22 -04:00
|
|
|
|
|
|
|
|
# LA REPLICATION DU DNS PUBLIC AVEC UN SITE PAIR (2026-09-16).
|
|
|
|
|
#
|
|
|
|
|
# Deux serveurs de noms, sur deux reseaux distincts, tenus par deux organisations : c'est ce
|
|
|
|
|
# qui garde un domaine joignable quand l'un tombe — et le registre des `.ca` en exige deux.
|
|
|
|
|
# Chaque site replique les zones publiques de l'autre, par le tunnel WireGuard.
|
|
|
|
|
#
|
|
|
|
|
# DECLAREE DES DEUX COTES, OU PAS DU TOUT. Declaree d'un seul cote, un site servirait des
|
|
|
|
|
# zones que son pair ne replique pas : le second serveur de noms serait vide sans que
|
|
|
|
|
# personne le voie. La preuve refuse une relation sans son vis-a-vis.
|
|
|
|
|
#
|
|
|
|
|
# `inactif` : le serveur du pair n'existe pas encore. Rien n'est emis tant qu'elle l'est.
|
|
|
|
|
dns_public_pairs:
|
|
|
|
|
- site: SITE-Chezlepro
|
|
|
|
|
etat: inactif
|