fix(crowdsec) — nom de machine stable : 594 LAPI fantômes s'étaient entassées en base #56

Merged
arcodange merged 1 commits from arcodange/crowdsec-machines-stables into main 2026-09-20 19:38:24 +02:00
+42
View File
@@ -28,6 +28,48 @@ crowdsec: &crowdsec_config
env: env:
- name: TZ - name: TZ
value: Europe/Paris value: Europe/Paris
# ⚠ NOM DE MACHINE STABLE — NE PAS REVENIR AU NOM DU POD.
#
# Le chart amont code en dur `CUSTOM_HOSTNAME` sur `metadata.name`
# (templates/lapi-deployment.yaml). L'entrypoint s'en sert pour
# enregistrer la LAPI en base :
# si .login du fichier d'identifiants == CUSTOM_HOSTNAME et que la
# machine existe déjà → « Local agent already registered », rien à faire ;
# sinon → cscli machines delete <CUSTOM_HOSTNAME> puis add.
# Le `delete` ne porte QUE sur le nom courant : l'enregistrement de
# l'ancien pod, lui, n'est jamais supprimé.
#
# Or le pod change de nom bien plus souvent qu'on ne le croit. Ce n'est pas
# une histoire de redémarrages — un redémarrage garde le nom. C'est le
# `rolloutRestartTargets` du VaultDynamicSecret (templates/
# vaultdynamicsecret.yaml) : à chaque rotation de l'identifiant Postgres,
# VSO force un rollout, ce qui change le pod template, donc le hash du
# ReplicaSet, donc le nom du pod.
#
# Mesuré le 2026-09-20 : 594 enregistrements `crowdsec-lapi-*` en base
# depuis le 2025-12-05, pour 571 hashes de ReplicaSet distincts — soit
# 2,05 par jour, sur 290 jours, et une seule LAPI vivante à la fois.
# Ils s'entassent dans le PostgreSQL externe de pi2, celui-là même qui a
# refusé des connexions le 2026-09-20 (SQLSTATE 53300) et fait crasher la
# LAPI 3 fois.
#
# Avec un nom fixe, le premier démarrage fait delete+add sur CE nom, et
# tous les suivants tombent sur « already registered » — plus aucune
# écriture. Le fichier d'identifiants survit d'ailleurs aux redémarrages
# (/etc/crowdsec est un lien vers le PVC crowdsec-config), donc la
# comparaison sur `.login` tient dans le temps.
#
# ⚠ Cette entrée DOIT rester dans `lapi.env` : le chart émet sa propre
# définition de CUSTOM_HOSTNAME AVANT d'injecter `.Values.lapi.env`, et en
# cas de doublon Kubernetes retient la DERNIÈRE. C'est ce qui permet de
# surcharger un champ que le chart n'expose pas. `kubectl apply` avertit
# « hides previous definition », c'est attendu.
#
# Ne pas « corriger » en supprimant le rolloutRestartTargets : les
# identifiants arrivent par secretKeyRef, qui ne se recharge pas à chaud.
# Sans rollout, la LAPI garderait des identifiants révoqués par Vault.
- name: CUSTOM_HOSTNAME
value: crowdsec-lapi
# To enroll the Security Engine to the console # To enroll the Security Engine to the console
- name: ENROLL_KEY - name: ENROLL_KEY
value: "cmieq72i3000802jr1wx8kply" value: "cmieq72i3000802jr1wx8kply"