diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fa9864..b6998e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,46 @@ # CHANGELOG — Set-OPS +## 2026-08-23 — Patient 0 porte le génome : la boucle est fermée + +Les cinq dépôts qui fabriquent la lignée vivent désormais sur la forge de patient 0 — +**y compris l'étiquette signée**, donc la filiation reste vérifiable depuis l'enfant. + +``` +Set-OPS-public 5547 Ko main v2026.08.21 ✓ +OPS-Chezlepro 160 Ko main +OPS-Patient0 37 Ko main +Set-OPS-Modeles 23 Ko master +SITE-Chezlepro 18 Ko main +``` + +Le génome existe maintenant en **trois exemplaires vivants et indépendants** : `eregion`, +le poste de l'exploitant, et patient 0. C'est le seuil à partir duquel réécrire l'histoire +suppose de convaincre plusieurs témoins — la propriété qu'on cherchait, obtenue sans +blockchain, comme effet secondaire de la lignée. + +### Le chemin a dû se plier à la politique, et c'est bon signe + +Le port 3000 n'est pas ouvert depuis le poste, et le SSH de `forge-01` **refuse le +transfert de ports** (durcissement). Le versement s'est donc fait par paquets git déposés +sur l'hôte, puis poussés depuis lui à travers l'API locale de la forge — donc par ses +crochets, comme n'importe quel `git push`. Aucune règle n'a été assouplie pour la +commodité. + +### Le compte de secours ne secourait rien + +Forgejo exige par défaut un changement de mot de passe au premier accès, et refuse toute +requête d'API tant qu'il n'a pas eu lieu. Or ce rôle **désactive la connexion locale** +(SSO d'abord) : il n'existait aucun chemin pour effectuer ce changement. + +Le compte administrateur était donc **inutilisable dès sa création** — sur toutes les +forges déployées. `--must-change-password=false` est posé : le mot de passe vient de la +voûte et tourne déjà par empreinte, exiger un changement manuel en plus ne ferait que +faire diverger la voûte du réel. + +> **Cinquième défaut révélé par le même écosystème.** Aucun n'était visible sur une flotte +> debout : il fallait en construire une *autre*, et s'en servir. + + ## 2026-08-23 — Patient 0 est debout Quatre machines, zéro échec, et la forge répond. diff --git a/roles/serveur_forgejo/tasks/main.yml b/roles/serveur_forgejo/tasks/main.yml index ad714b0..f8a8282 100644 --- a/roles/serveur_forgejo/tasks/main.yml +++ b/roles/serveur_forgejo/tasks/main.yml @@ -285,12 +285,23 @@ when: not ansible_check_mode - name: Creer le compte administrateur (une fois) + # `--must-change-password=false` : SANS LUI, LE COMPTE EST INUTILISABLE (2026-08-23, + # premiere forge de patient 0). Forgejo exige par defaut un changement de mot de passe + # au premier acces, et refuse TOUTE requete d'API tant qu'il n'a pas eu lieu : + # « You must change your password ». Or ce role desactive la connexion locale + # (`serveur_forgejo_connexion_locale: false`, SSO d'abord) — il n'existait donc aucun + # chemin pour effectuer ce changement. Le compte de secours ne secourait rien. + # + # Le mot de passe vient de la voute et tourne par empreinte (voir plus bas) : exiger un + # changement manuel en plus ferait diverger la voute de la realite, ce que ce role + # s'emploie justement a empecher. ansible.builtin.shell: cmd: >- {{ serveur_forgejo_binaire }} admin user create --admin --username {{ serveur_forgejo_admin_user }} --email {{ serveur_forgejo_admin_email }} --password '{{ serveur_forgejo_admin_password }}' + --must-change-password=false --config {{ serveur_forgejo_config }} && touch {{ serveur_forgejo_data }}/.admin-created creates: "{{ serveur_forgejo_data }}/.admin-created"