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
|
# 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
|
## 2026-08-09 — Dépendances externes sur le chemin critique du déploiement
|
||||||
|
|
||||||
Le passage d'idempotence a échoué sur `Telecharger le binaire Forgejo` :
|
Le passage d'idempotence a échoué sur `Telecharger le binaire Forgejo` :
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,22 @@
|
||||||
group: root
|
group: root
|
||||||
mode: "0755"
|
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
|
- name: Telecharger la cle de signature Grafana
|
||||||
|
when: not telecharger_la_cle_de_signature_grafana_present.stat.exists
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ client_journal_depot_cle_url }}"
|
url: "{{ client_journal_depot_cle_url }}"
|
||||||
dest: "{{ client_journal_depot_cle_fichier }}"
|
dest: "{{ client_journal_depot_cle_fichier }}"
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,22 @@
|
||||||
group: root
|
group: root
|
||||||
mode: "0755"
|
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
|
- name: Telecharger la cle de signature Smallstep
|
||||||
|
when: not telecharger_la_cle_de_signature_smallste_present.stat.exists
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ client_pki_depot_cle_url }}"
|
url: "{{ client_pki_depot_cle_url }}"
|
||||||
dest: "{{ client_pki_depot_cle_fichier }}"
|
dest: "{{ client_pki_depot_cle_fichier }}"
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,22 @@
|
||||||
group: root
|
group: root
|
||||||
mode: "0755"
|
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
|
- name: Telecharger la cle de signature Grafana
|
||||||
|
when: not telecharger_la_cle_de_signature_grafana_present.stat.exists
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ serveur_grafana_depot_cle_url }}"
|
url: "{{ serveur_grafana_depot_cle_url }}"
|
||||||
dest: "{{ serveur_grafana_depot_cle_fichier }}"
|
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
|
- name: Telecharger le trousseau de cles Icinga
|
||||||
|
when: not telecharger_le_trousseau_de_cles_icinga_present.stat.exists
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ serveur_icinga_keyring_url }}"
|
url: "{{ serveur_icinga_keyring_url }}"
|
||||||
dest: "/tmp/icinga-archive-keyring.deb"
|
dest: "/tmp/icinga-archive-keyring.deb"
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,22 @@
|
||||||
group: root
|
group: root
|
||||||
mode: "0755"
|
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
|
- name: Telecharger la cle de signature Grafana
|
||||||
|
when: not telecharger_la_cle_de_signature_grafana_present.stat.exists
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ serveur_loki_depot_cle_url }}"
|
url: "{{ serveur_loki_depot_cle_url }}"
|
||||||
dest: "{{ serveur_loki_depot_cle_fichier }}"
|
dest: "{{ serveur_loki_depot_cle_fichier }}"
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,22 @@
|
||||||
group: root
|
group: root
|
||||||
mode: "0755"
|
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
|
- name: Telecharger la cle de signature Smallstep
|
||||||
|
when: not telecharger_la_cle_de_signature_smallste_present.stat.exists
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ serveur_step_ca_depot_cle_url }}"
|
url: "{{ serveur_step_ca_depot_cle_url }}"
|
||||||
dest: "{{ serveur_step_ca_depot_cle_fichier }}"
|
dest: "{{ serveur_step_ca_depot_cle_fichier }}"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue