diff --git a/crowdsec/values.yaml b/crowdsec/values.yaml index 4bc52f8..d2dd07e 100644 --- a/crowdsec/values.yaml +++ b/crowdsec/values.yaml @@ -28,6 +28,48 @@ crowdsec: &crowdsec_config env: - name: TZ 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 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 - name: ENROLL_KEY value: "cmieq72i3000802jr1wx8kply"