get_url : plus aucun sans garde — la dependance externe tombe a zero
Arbitrage de l'exploitant : garder aussi les cles de signature. Zero get_url sans garde dans le depot, contre neuf ce matin. Avant : 6 serveurs tiers x 14 hotes recontactes a chaque deploiement. Apres : zero. Un deploiement de flotte ne depend plus d'aucun serveur etranger pour ce que la machine possede deja. Consequence assumee et ecrite dans chaque role : une rotation de cle amont n'est plus recuperee seule. Elle ne passe pas inapercue pour autant — apt refuse le depot, bruyamment — et le remede tient en une ligne. C'est un defaut SONORE, pas silencieux ; toute la journee a consiste a transformer les seconds en premiers. Verifie sur backup-01 : changed=0, trois taches sautees. Reste a eprouver sur un hote neuf, ou la garde doit laisser passer le telechargement. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
26dc0469be
commit
a0dc3da4a6
7 changed files with 114 additions and 0 deletions
24
CHANGELOG.md
24
CHANGELOG.md
|
|
@ -1,5 +1,29 @@
|
|||
# CHANGELOG — Set-OPS
|
||||
|
||||
## 2026-08-09 — Plus aucun `get_url` sans garde : la dépendance externe est comptée
|
||||
|
||||
Arbitrage rendu par l'exploitant : garder aussi les clés de signature. **Zéro `get_url`
|
||||
sans garde** dans le dépôt, contre neuf ce matin.
|
||||
|
||||
```
|
||||
avant : 6 serveurs tiers x 14 hotes recontactes a chaque deploiement
|
||||
apres : 0
|
||||
```
|
||||
|
||||
**Conséquence assumée, écrite dans chaque rôle** : une rotation de clé amont n'est plus
|
||||
récupérée toute seule. Elle ne passe pas inaperçue pour autant — `apt` refuse alors le
|
||||
dépôt, bruyamment, et le remède est d'une ligne : supprimer le fichier et rejouer le rôle.
|
||||
C'est un défaut *sonore*, pas un défaut silencieux ; toute la journée a consisté à
|
||||
transformer les seconds en premiers.
|
||||
|
||||
Ce que ça change vraiment : un déploiement de flotte ne dépend plus d'aucun serveur
|
||||
étranger pour ce que la machine possède déjà. La question posée le matin — *combien de
|
||||
serveurs tiers doivent être joignables pour redéployer ce que l'on possède ?* — a
|
||||
maintenant une réponse mesurée, et c'est **zéro**.
|
||||
|
||||
Reste à éprouver sur un rejeu depuis zéro : sur un hôte neuf le fichier n'existe pas, donc
|
||||
la garde laisse passer le téléchargement. Correct par construction, pas encore mesuré.
|
||||
|
||||
## 2026-08-09 — Dépendances externes sur le chemin critique du déploiement
|
||||
|
||||
Le passage d'idempotence a échoué sur `Telecharger le binaire Forgejo` :
|
||||
|
|
|
|||
|
|
@ -7,7 +7,22 @@
|
|||
group: root
|
||||
mode: "0755"
|
||||
|
||||
# Recuperee UNE FOIS. Sans garde, chaque deploiement recontactait le serveur du
|
||||
# fournisseur : cinq cles x quatorze hotes = soixante-dix allers-retours externes pour
|
||||
# des cles deja installees, et autant d'occasions qu'un tiers lent fasse tomber le
|
||||
# deploiement. Arbitrage rendu le 2026-08-09 : une plateforme souveraine ne depend pas
|
||||
# de six serveurs etrangers pour redeployer ce qu'elle possede deja.
|
||||
#
|
||||
# CONSEQUENCE ASSUMEE : une rotation de cle amont n'est plus recuperee toute seule. Elle
|
||||
# ne passe pas inapercue pour autant — `apt` refuse alors le depot, bruyamment. Pour
|
||||
# forcer le rafraichissement : supprimer le fichier et rejouer le role.
|
||||
- name: Cette ressource est-elle deja recuperee ? (Telecharger la cle de signature Gr)
|
||||
ansible.builtin.stat:
|
||||
path: "{{ client_journal_depot_cle_fichier }}"
|
||||
register: telecharger_la_cle_de_signature_grafana_present
|
||||
|
||||
- name: Telecharger la cle de signature Grafana
|
||||
when: not telecharger_la_cle_de_signature_grafana_present.stat.exists
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ client_journal_depot_cle_url }}"
|
||||
dest: "{{ client_journal_depot_cle_fichier }}"
|
||||
|
|
|
|||
|
|
@ -31,7 +31,22 @@
|
|||
group: root
|
||||
mode: "0755"
|
||||
|
||||
# Recuperee UNE FOIS. Sans garde, chaque deploiement recontactait le serveur du
|
||||
# fournisseur : cinq cles x quatorze hotes = soixante-dix allers-retours externes pour
|
||||
# des cles deja installees, et autant d'occasions qu'un tiers lent fasse tomber le
|
||||
# deploiement. Arbitrage rendu le 2026-08-09 : une plateforme souveraine ne depend pas
|
||||
# de six serveurs etrangers pour redeployer ce qu'elle possede deja.
|
||||
#
|
||||
# CONSEQUENCE ASSUMEE : une rotation de cle amont n'est plus recuperee toute seule. Elle
|
||||
# ne passe pas inapercue pour autant — `apt` refuse alors le depot, bruyamment. Pour
|
||||
# forcer le rafraichissement : supprimer le fichier et rejouer le role.
|
||||
- name: Cette ressource est-elle deja recuperee ? (Telecharger la cle de signature Sm)
|
||||
ansible.builtin.stat:
|
||||
path: "{{ client_pki_depot_cle_fichier }}"
|
||||
register: telecharger_la_cle_de_signature_smallste_present
|
||||
|
||||
- name: Telecharger la cle de signature Smallstep
|
||||
when: not telecharger_la_cle_de_signature_smallste_present.stat.exists
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ client_pki_depot_cle_url }}"
|
||||
dest: "{{ client_pki_depot_cle_fichier }}"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,22 @@
|
|||
group: root
|
||||
mode: "0755"
|
||||
|
||||
# Recuperee UNE FOIS. Sans garde, chaque deploiement recontactait le serveur du
|
||||
# fournisseur : cinq cles x quatorze hotes = soixante-dix allers-retours externes pour
|
||||
# des cles deja installees, et autant d'occasions qu'un tiers lent fasse tomber le
|
||||
# deploiement. Arbitrage rendu le 2026-08-09 : une plateforme souveraine ne depend pas
|
||||
# de six serveurs etrangers pour redeployer ce qu'elle possede deja.
|
||||
#
|
||||
# CONSEQUENCE ASSUMEE : une rotation de cle amont n'est plus recuperee toute seule. Elle
|
||||
# ne passe pas inapercue pour autant — `apt` refuse alors le depot, bruyamment. Pour
|
||||
# forcer le rafraichissement : supprimer le fichier et rejouer le role.
|
||||
- name: Cette ressource est-elle deja recuperee ? (Telecharger la cle de signature Gr)
|
||||
ansible.builtin.stat:
|
||||
path: "{{ serveur_grafana_depot_cle_fichier }}"
|
||||
register: telecharger_la_cle_de_signature_grafana_present
|
||||
|
||||
- name: Telecharger la cle de signature Grafana
|
||||
when: not telecharger_la_cle_de_signature_grafana_present.stat.exists
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ serveur_grafana_depot_cle_url }}"
|
||||
dest: "{{ serveur_grafana_depot_cle_fichier }}"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,20 @@
|
|||
---
|
||||
# Recuperee UNE FOIS. Sans garde, chaque deploiement recontactait le serveur du
|
||||
# fournisseur : cinq cles x quatorze hotes = soixante-dix allers-retours externes pour
|
||||
# des cles deja installees, et autant d'occasions qu'un tiers lent fasse tomber le
|
||||
# deploiement. Arbitrage rendu le 2026-08-09 : une plateforme souveraine ne depend pas
|
||||
# de six serveurs etrangers pour redeployer ce qu'elle possede deja.
|
||||
#
|
||||
# CONSEQUENCE ASSUMEE : une rotation de cle amont n'est plus recuperee toute seule. Elle
|
||||
# ne passe pas inapercue pour autant — `apt` refuse alors le depot, bruyamment. Pour
|
||||
# forcer le rafraichissement : supprimer le fichier et rejouer le role.
|
||||
- name: Cette ressource est-elle deja recuperee ? (Telecharger le trousseau de cles I)
|
||||
ansible.builtin.stat:
|
||||
path: "/tmp/icinga-archive-keyring.deb"
|
||||
register: telecharger_le_trousseau_de_cles_icinga_present
|
||||
|
||||
- name: Telecharger le trousseau de cles Icinga
|
||||
when: not telecharger_le_trousseau_de_cles_icinga_present.stat.exists
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ serveur_icinga_keyring_url }}"
|
||||
dest: "/tmp/icinga-archive-keyring.deb"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,22 @@
|
|||
group: root
|
||||
mode: "0755"
|
||||
|
||||
# Recuperee UNE FOIS. Sans garde, chaque deploiement recontactait le serveur du
|
||||
# fournisseur : cinq cles x quatorze hotes = soixante-dix allers-retours externes pour
|
||||
# des cles deja installees, et autant d'occasions qu'un tiers lent fasse tomber le
|
||||
# deploiement. Arbitrage rendu le 2026-08-09 : une plateforme souveraine ne depend pas
|
||||
# de six serveurs etrangers pour redeployer ce qu'elle possede deja.
|
||||
#
|
||||
# CONSEQUENCE ASSUMEE : une rotation de cle amont n'est plus recuperee toute seule. Elle
|
||||
# ne passe pas inapercue pour autant — `apt` refuse alors le depot, bruyamment. Pour
|
||||
# forcer le rafraichissement : supprimer le fichier et rejouer le role.
|
||||
- name: Cette ressource est-elle deja recuperee ? (Telecharger la cle de signature Gr)
|
||||
ansible.builtin.stat:
|
||||
path: "{{ serveur_loki_depot_cle_fichier }}"
|
||||
register: telecharger_la_cle_de_signature_grafana_present
|
||||
|
||||
- name: Telecharger la cle de signature Grafana
|
||||
when: not telecharger_la_cle_de_signature_grafana_present.stat.exists
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ serveur_loki_depot_cle_url }}"
|
||||
dest: "{{ serveur_loki_depot_cle_fichier }}"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,22 @@
|
|||
group: root
|
||||
mode: "0755"
|
||||
|
||||
# Recuperee UNE FOIS. Sans garde, chaque deploiement recontactait le serveur du
|
||||
# fournisseur : cinq cles x quatorze hotes = soixante-dix allers-retours externes pour
|
||||
# des cles deja installees, et autant d'occasions qu'un tiers lent fasse tomber le
|
||||
# deploiement. Arbitrage rendu le 2026-08-09 : une plateforme souveraine ne depend pas
|
||||
# de six serveurs etrangers pour redeployer ce qu'elle possede deja.
|
||||
#
|
||||
# CONSEQUENCE ASSUMEE : une rotation de cle amont n'est plus recuperee toute seule. Elle
|
||||
# ne passe pas inapercue pour autant — `apt` refuse alors le depot, bruyamment. Pour
|
||||
# forcer le rafraichissement : supprimer le fichier et rejouer le role.
|
||||
- name: Cette ressource est-elle deja recuperee ? (Telecharger la cle de signature Sm)
|
||||
ansible.builtin.stat:
|
||||
path: "{{ serveur_step_ca_depot_cle_fichier }}"
|
||||
register: telecharger_la_cle_de_signature_smallste_present
|
||||
|
||||
- name: Telecharger la cle de signature Smallstep
|
||||
when: not telecharger_la_cle_de_signature_smallste_present.stat.exists
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ serveur_step_ca_depot_cle_url }}"
|
||||
dest: "{{ serveur_step_ca_depot_cle_fichier }}"
|
||||
|
|
|
|||
Loading…
Reference in a new issue