serveur_ops : le dossier SSH avant d'y epingler la forge

La reconstruction de Technolibre s'est arretee a l'insemination : la cle d'hote de la
forge s'ecrivait dans /opt/setops/.ssh, que le role ne creait que plus loin. Les runners
existants l'avaient deja ; seule une machine neuve le montre.

95 preuves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-10-11 21:18:52 -04:00
parent 82a2c4a4c2
commit 3fc16c845d
2 changed files with 29 additions and 0 deletions

View file

@ -1,5 +1,21 @@
# CHANGELOG — Set-OPS
## 2026-10-11 (135) — Une machine neuve n'avait pas encore de dossier SSH
**95 preuves.** Le lint du rôle passe. Correctif de l'entrée 133, trouvé par la reconstruction
de Technolibre.
La reconstruction s'est arrêtée à l'insémination : sauvegarde « avant-raser » faite, 13 VM
rasées puis recréées, socle posé sur `ops-01`, puis :
Destination directory /opt/setops/.ssh does not exist
La tâche qui épingle la clé d'hôte de la forge écrit dans `/opt/setops/.ssh`, que le rôle ne
créait que plus loin, avec la clé du poste. Sur les trois runners existants, ce dossier était
là : ni leurs déploiements ni l'épreuve du colis ne pouvaient le voir. Seule une machine neuve
le montre, et c'est pourquoi la preuve de ce chantier passe par une reconstruction. Le dossier
est désormais assuré juste avant d'y écrire.
## 2026-10-11 (134) — L'épreuve du colis a trouvé le défaut qui aurait bloqué l'insémination
**95 preuves.** `make verifier` passe, et `test_forge_cles.py` couvre la visibilité. Les trois

View file

@ -383,6 +383,19 @@
Chez un locataire : la copier depuis sa fiche (`make site-intrants`).
when: serveur_ops_depots | selectattr('role', 'in', serveur_ops_roles_prives) | list | length > 0
# LE DOSSIER SSH D'ABORD (mesure du 2026-10-11, insemination de Technolibre). Il n'etait cree
# que plus bas, avec la cle du poste : sur un runner existant il etait la, et les trois
# deploiements comme l'epreuve du colis n'ont rien vu. Une machine NEUVE s'est arretee ici :
# « Destination directory /opt/setops/.ssh does not exist ». La tache du bas reste, inchangee.
- name: Assurer le repertoire SSH du poste (avant d'y epingler la forge)
ansible.builtin.file:
path: "{{ serveur_ops_racine }}/.ssh"
state: directory
owner: "{{ serveur_ops_utilisateur }}"
group: "{{ serveur_ops_utilisateur }}"
mode: "0700"
when: serveur_ops_forge_cle_hote | length > 0
- name: Epingler la cle d'hote de la forge
ansible.builtin.copy:
content: "{{ serveur_ops_forge_ssh_hote }} {{ serveur_ops_forge_cle_hote | trim }}\n"