wiki : les deux forges servent le meme wiki (origin rattrape)
CE QUE JE DISAIS ETAIT FAUX. « Il n y a rien sur origin » — le DEPOT y est, et a jour, exactement notre HEAD. C est le WIKI qui etait vide. Je l avais recopie d une session precedente sans le remesurer. LA GARDE AVAIT RAISON DE REFUSER, ET TORT DE S ARRETER LA. wiki-publier refuse un wiki vide parce que publier y inventerait un nom de branche. Son message renvoyait a l interface Forgejo — injoignable depuis ce poste, et ce n est pas une panne : la forge du site n accepte le 443 que des machines qui declarent le flux. Forgejo DECLARE pourtant la reponse : wiki_branch, dans son API. Interroge depuis ops-01 — machine qui a le flux — il repond main. On ne devinait pas : on ne demandait pas. WIKI_BRANCHE= ajoute a la recette, le refus reste le defaut. Les deux cotes eprouves. Resultat : 26 pages sur les deux forges, contenu identique au fichier pres. LECON D INSTRUMENT. Trois sondes fausses avant la bonne : connect() direct rend TimeoutError (politique, pas route manquante) ; un tunnel par la frontiere ne repondait pas ; et git ls-remote fonctionnait tres bien, parce que ~/.ssh/config passe par un ProxyJump que la sonde ignorait. make prouver : CONFORME, 62 OK, 0 echec, 1 saute. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
This commit is contained in:
parent
2d9dc866a9
commit
36aba37200
4 changed files with 63 additions and 9 deletions
40
CHANGELOG.md
40
CHANGELOG.md
|
|
@ -1,5 +1,45 @@
|
|||
# CHANGELOG — Set-OPS
|
||||
|
||||
## 2026-09-09 (2) — Le wiki d'`origin` : une garde qui bloquait au lieu de proteger
|
||||
|
||||
**Les deux forges servent desormais le meme wiki**, 26 pages, contenu identique au fichier
|
||||
pres (`diff -rq` : aucune difference).
|
||||
|
||||
### Ce que je disais, et qui etait faux
|
||||
|
||||
« Il n'y a rien sur `origin` » — non. **Le depot y est, et a jour** : `git ls-remote` rend
|
||||
exactement notre HEAD. C'est le WIKI qui etait vide. L'ecart entre « le depot est absent »
|
||||
et « son wiki n'a pas de branche » est tout l'ecart entre une panne et une formalite, et je
|
||||
l'avais recopie d'une session precedente sans le remesurer.
|
||||
|
||||
### La garde avait raison de refuser, et tort de s'arreter la
|
||||
|
||||
`make wiki-publier` refuse un wiki VIDE : sans commit il n'a aucune branche, et publier en
|
||||
inventerait une — `master` sur ce poste, alors que le wiki en service vit sur `main`. Le
|
||||
message disait « creer une premiere page dans l'interface Forgejo ». Or l'interface n'est
|
||||
pas joignable depuis ce poste, et ce n'est pas une panne : la forge du site n'accepte le
|
||||
443 que des machines qui DECLARENT le flux.
|
||||
|
||||
**Forgejo declare pourtant la reponse.** `GET /api/v1/repos/genome/set-ops-public` rend
|
||||
`wiki_branch`. Interroge depuis `ops-01` — une machine qui a le flux — il repond `main`.
|
||||
On ne devinait donc pas : on ne demandait pas.
|
||||
|
||||
`WIKI_BRANCHE=` a ete ajoute a la recette. Le refus reste le DEFAUT ; qui a la reponse peut
|
||||
la donner. Les deux cotes sont eprouves : un wiki vide sans la variable est refuse, avec
|
||||
`WIKI_BRANCHE=main` il est initialise sur `main` exactement.
|
||||
|
||||
### Au passage, une lecon d'instrument
|
||||
|
||||
Trois sondes fausses avant la bonne. Un `connect()` direct sur `10.0.33.11:443` depuis le
|
||||
poste rend `TimeoutError` — route presente, paquets avales : une POLITIQUE, pas une route
|
||||
manquante. Un tunnel par la frontiere ne repondait pas davantage. Et pendant ce temps
|
||||
`git ls-remote` fonctionnait tres bien, parce que `~/.ssh/config` passe par un
|
||||
`ProxyJump ansible@10.17.0.1` que la sonde ignorait.
|
||||
|
||||
L'instrument juste etait `ops-01` : la machine dont le flux vers la forge est DECLARE. Elle
|
||||
repond `HTTP 200` en 443, et 22 muet — l'exact inverse du poste. *Verifier d'ou l'instrument
|
||||
mesure*, encore une fois.
|
||||
|
||||
## 2026-09-09 — cloud-init nait avec la VM et ne lui survit pas
|
||||
|
||||
**63 preuves (P01-P63). `make prouver` : CONFORME, 62 OK, 0 echec, 1 saute.**
|
||||
|
|
|
|||
26
Makefile
26
Makefile
|
|
@ -825,13 +825,27 @@ wiki-publier: ## Publie le wiki (wiki/) vers la forge
|
|||
: ' de branche etait DEVINE, et il divergeait d une forge a l autre.'; \
|
||||
: ' On refuse donc plutot que de choisir a la place de Forgejo : creer une premiere'; \
|
||||
: ' page dans son interface initialise le wiki avec LA branche qu il attend.'; \
|
||||
: ' ON NE DEVINE PAS — ON DEMANDE. Forgejo DECLARE la branche qu il attend, dans'; \
|
||||
: ' `wiki_branch` de son API : GET /api/v1/repos/<proprio>/<depot>. Mesure du'; \
|
||||
: ' 2026-09-09 sur forge.genese.internal : `wiki_branch = main`. Le refus ci-dessous'; \
|
||||
: ' reste le DEFAUT — depuis ce poste l API n est pas joignable (la forge du site'; \
|
||||
: ' n accepte le 443 que des machines qui declarent le flux) — mais qui a la reponse'; \
|
||||
: ' peut la donner, au lieu de passer par l interface web :'; \
|
||||
: ' make wiki-publier WIKI_REMOTE=... WIKI_BRANCHE=main'; \
|
||||
: ' C est la difference entre une garde qui protege et une garde qui bloque.'; \
|
||||
if ! git -C "$$tmp/wiki" rev-parse --verify --quiet HEAD >/dev/null; then \
|
||||
printf '%s\n' 'Refus: ce wiki est VIDE (aucun commit).' \
|
||||
'Publier ici inventerait un nom de branche — sur ce poste `master`, alors que' \
|
||||
'le wiki deja en service vit sur `main`. Creer une premiere page dans' \
|
||||
"l interface Forgejo de $(WIKI_REMOTE), puis relancer :" \
|
||||
' make wiki-publier WIKI_REMOTE=...'; \
|
||||
exit 2; \
|
||||
if [[ -n "$(WIKI_BRANCHE)" ]]; then \
|
||||
printf '%s\n' "Wiki vide : initialisation sur la branche declaree « $(WIKI_BRANCHE) »."; \
|
||||
git -C "$$tmp/wiki" checkout -q -b "$(WIKI_BRANCHE)"; \
|
||||
else \
|
||||
printf '%s\n' 'Refus: ce wiki est VIDE (aucun commit).' \
|
||||
'Publier ici inventerait un nom de branche — sur ce poste `master`, alors que' \
|
||||
'le wiki deja en service vit sur `main`. Deux issues :' \
|
||||
' - demander a Forgejo : GET /api/v1/repos/<proprio>/<depot> -> `wiki_branch`,' \
|
||||
' puis make wiki-publier WIKI_REMOTE=... WIKI_BRANCHE=<cette valeur>' \
|
||||
" - ou creer une premiere page dans l interface Forgejo de $(WIKI_REMOTE)"; \
|
||||
exit 2; \
|
||||
fi; \
|
||||
fi; \
|
||||
find "$$tmp/wiki" -maxdepth 1 -name '*.md' -delete; \
|
||||
for f in "$$src"/*.md; do \
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@
|
|||
| P57 | Comptes en prose : les chiffres du depot sur lui-meme | — | ✅ OK | Les comptes ecrits en prose correspondent a la mesure (63 preuves, 66 roles, 40 groupes). |
|
||||
| P58 | Habilitations : chaque service dit a quel GROUPE, et par quoi | — | ✅ OK | 8 habilitation(s) declarees, toutes nommant un groupe, un mecanisme connu et une raison ; les `role-realm` sont projetees. |
|
||||
| P59 | Enumerations annoncees : le nombre correspond a ce qui suit | — | ✅ OK | 2 enumeration(s) annoncee(s) correspondent a ce qu'elles annoncent (formes non ambigues seulement). |
|
||||
| P60 | Wiki publie : la forge sert ce que le depot dit | AFF-002 | ✅ OK | Le wiki publie correspond au depot : `wiki/` n'a pas bouge depuis `f89b097` (publie le 2026-09-09). |
|
||||
| P60 | Wiki publie : la forge sert ce que le depot dit | AFF-002 | ✅ OK | Le wiki publie correspond au depot : `wiki/` n'a pas bouge depuis `2d9dc86` (publie le 2026-09-09). |
|
||||
| P61 | Schema du plan : il decrit tout ce que les plans contiennent | AFF-033 | ✅ OK | Le schema decrit 47 champ(s) sur 6 registres ; il couvre tout ce que les plans reels contiennent, et la FORME de chaque champ (scalaire / objet / table) corresp |
|
||||
| P62 | Schema du plan : il decrit tout ce que le MOTEUR accepte | AFF-033 | ✅ OK | Les 4 validateurs n'acceptent aucun champ que le schema ignore (applications:8, bases_donnees:4, domaines_publics:5, serveurs:3 champ(s) lus par validateur). |
|
||||
| P63 | cloud-init nait avec la VM et ne lui survit pas | — | ✅ OK | cloud-init est au gabarit (la premiere seconde), absent du socle (pas de va-et-vient), et retire par le durcissement — avec la garde qui verifie que le reseau s |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
# Ecrit par `make wiki-publier`, lu par la preuve P60. Ne pas editer a la main.
|
||||
remote: ssh://git@eregion.chezlepro.ca:2222/Alliance-Boreale/Set-OPS-Public.wiki.git
|
||||
source: f89b097
|
||||
remote: ssh://git@forge.genese.internal/genome/set-ops-public.wiki.git
|
||||
source: 2d9dc86
|
||||
date: 2026-09-09
|
||||
|
|
|
|||
Loading…
Reference in a new issue