client_pki : la cle de signature vient du depot, non d un CDN tiers
Le depot porte deja cette cle : `serveur_step_ca` la pose depuis ses `files/`, et les deux fichiers ont le meme SHA-256. Le client la telechargeait. Une flotte d AMORCAGE n a ni serveur d artefacts ni cache, donc le schema reste `https` et chaque hote sort en direct ; le telechargement echouait trois amorcages sur quatre, sur une bordure amont que rien ici ne controle. Le repli reste. Verifie sur une grappe jetable : la copie joue sur l hote qui echouait, le telechargement est saute, et le CDN n est appele aucune fois. Assisted-by: Claude Opus 5
This commit is contained in:
parent
5f6ffda5e8
commit
9d2e4035e8
2 changed files with 44 additions and 1 deletions
|
|
@ -67,6 +67,21 @@ client_pki_provisioner_password: "{{ vault_step_ca_provisioner_password | defaul
|
||||||
# Depot apt officiel Smallstep (partage avec serveur_step_ca).
|
# Depot apt officiel Smallstep (partage avec serveur_step_ca).
|
||||||
client_pki_depot_cle_url: "{{ client_pki_depot_schema }}://packages.smallstep.com/keys/apt/repo-signing-key.gpg"
|
client_pki_depot_cle_url: "{{ client_pki_depot_schema }}://packages.smallstep.com/keys/apt/repo-signing-key.gpg"
|
||||||
client_pki_depot_cle_fichier: "/etc/apt/keyrings/smallstep.asc"
|
client_pki_depot_cle_fichier: "/etc/apt/keyrings/smallstep.asc"
|
||||||
|
|
||||||
|
# LA MEME CLE QUE `serveur_step_ca` POSE, et c'est le DEPOT qui la porte : les deux
|
||||||
|
# fichiers ont le meme SHA-256. La chercher ici d'abord evite de sortir sur un CDN tiers
|
||||||
|
# pour des octets qu'on possede.
|
||||||
|
#
|
||||||
|
# CE N'EST PAS THEORIQUE POUR UNE FLOTTE D'AMORCAGE. Elle n'a par definition ni serveur
|
||||||
|
# d'artefacts ni cache, donc `client_pki_depot_schema` reste `https` et chaque hote sort
|
||||||
|
# EN DIRECT ; le telechargement echouait alors trois amorcages sur quatre, avec cinq
|
||||||
|
# reprises, sur une bordure amont que rien ici ne controle.
|
||||||
|
#
|
||||||
|
# Le chemin traverse `serveur_step_ca` plutot que de dupliquer le fichier : deux copies
|
||||||
|
# d'une meme cle divergent le jour ou l'amont la remplace, et rien ne dirait laquelle
|
||||||
|
# fait foi.
|
||||||
|
client_pki_depot_cle_locale: >-
|
||||||
|
{{ role_path }}/../serveur_step_ca/files/smallstep-repo-signing-key.asc
|
||||||
client_pki_depot_uri: "{{ client_pki_depot_schema }}://packages.smallstep.com/stable/debian"
|
client_pki_depot_uri: "{{ client_pki_depot_schema }}://packages.smallstep.com/stable/debian"
|
||||||
client_pki_depot_suite: "debs"
|
client_pki_depot_suite: "debs"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,36 @@
|
||||||
- telecharger_la_cle_de_signature_smallste_present.stat.exists
|
- telecharger_la_cle_de_signature_smallste_present.stat.exists
|
||||||
- (telecharger_la_cle_de_signature_smallste_present.stat.size | default(0)) == 0
|
- (telecharger_la_cle_de_signature_smallste_present.stat.size | default(0)) == 0
|
||||||
|
|
||||||
|
- name: Voir si le depot porte la cle de signature Smallstep
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: "{{ client_pki_depot_cle_locale }}"
|
||||||
|
delegate_to: localhost
|
||||||
|
become: false
|
||||||
|
changed_when: false
|
||||||
|
check_mode: false
|
||||||
|
register: client_pki_cle_depot_locale
|
||||||
|
|
||||||
|
# LE DEPOT D'ABORD, LE RESEAU ENSUITE. `serveur_step_ca` pose deja cette cle depuis ses
|
||||||
|
# `files/` sans rien demander a personne ; le client la telechargeait. Les deux fichiers
|
||||||
|
# sont identiques — meme SHA-256 — si bien que la sortie n'achetait rien et exposait
|
||||||
|
# chaque amorcage a une bordure tierce.
|
||||||
|
- name: Poser la cle de signature Smallstep depuis le depot
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "{{ client_pki_depot_cle_locale }}"
|
||||||
|
dest: "{{ client_pki_depot_cle_fichier }}"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
when:
|
||||||
|
- not (telecharger_la_cle_de_signature_smallste_present.stat.exists and telecharger_la_cle_de_signature_smallste_present.stat.size | default(0) > 0)
|
||||||
|
- client_pki_cle_depot_locale.stat.exists
|
||||||
|
|
||||||
|
# LE REPLI RESTE, et il n'est pas mort : un depot qui ne porterait plus ce fichier doit
|
||||||
|
# encore pouvoir amorcer. Ce qui change est l'ORDRE — on ne sort que faute de mieux.
|
||||||
- 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 and telecharger_la_cle_de_signature_smallste_present.stat.size | default(0) > 0)
|
when:
|
||||||
|
- not (telecharger_la_cle_de_signature_smallste_present.stat.exists and telecharger_la_cle_de_signature_smallste_present.stat.size | default(0) > 0)
|
||||||
|
- not client_pki_cle_depot_locale.stat.exists
|
||||||
# `force` PARCE QU'UNE REPRISE CONDITIONNELLE NE REPREND RIEN (2026-09-12).
|
# `force` PARCE QU'UNE REPRISE CONDITIONNELLE NE REPREND RIEN (2026-09-12).
|
||||||
#
|
#
|
||||||
# Sans lui, `get_url` envoie un `If-Modified-Since` des que le fichier existe. Le cache
|
# Sans lui, `get_url` envoie un `If-Modified-Since` des que le fichier existe. Le cache
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue