vault agent template inject secret pas à jour

astrid-gay 19/09/2024
RÉSOLU
astrid-gay
Auteur
Avatar de astrid-gay
astrid-gay
Auteur

salut la team

on a mis en place vault agent sur nos apps pour injecter les secrets directement dans des fichiers. la config marche nickel au démarrage l'appli voit bien le secret initial. par contre quand je renouvelle le secret dans vault ou que je le change ben le fichier sur la vm est pas mis à jour direct. j'ai l'impression que vault agent met du temps à réagir ou ptete l'appli qui relit pas le fichier. une idée ?


# config vault agent (simplifié)
pid_file = "/var/run/vault-agent.pid"
auto_auth {
  method "aws" {
    mount_path = "auth/aws"
    config = {
      role = "my-app-role"
    }
  }
  sink "file" {
    config = {
      path = "/etc/vault/token"
      mode = 0600
    }
  }
}
template {
  source      = "/vault/templates/db_creds.ctmpl"
  destination = "/opt/app/config/db_creds.env"
  command     = "systemctl reload my-app.service" # j'ai testé ça aussi
}
19/09/2024 à 12:18

7 commentaires

tmaillard
Membre Actif Secouriste
Avatar de tmaillard
tmaillard
Membre Actif Secouriste

yo t'as vérifié le min_period dans ta config template ? par défaut c'est 5s il me semble mais si t'as pas spécifié explicitement un change_mode ou un period ça peut jouer des tours. aussi ton command c'est executé que si le fichier change non ? si le secret change mais le template génère la même chose pas de commande

Modifié le 23/05/2026 à 16:20
astrid-gay
Auteur
Avatar de astrid-gay
astrid-gay
Auteur

ah bien vu pour min_period j'ai rien mis. et pour la commande oui normalement elle est déclenchée. le problème c'est que le fichier /opt/app/config/db_creds.env lui-même est pas mis à jour. je vois toujours l'ancien secret dedans

Modifié le 23/05/2026 à 16:20
eleonore22
Membre Secouriste
Avatar de eleonore22
eleonore22
Membre Secouriste

hmm regarde les logs de vault agent en debug vault agent -log-level=debug. tu devrais voir s'il détecte le renouvellement du secret et s'il essaie de render le template. des fois c'est juste un souci de droits sur le fichier de destination ou le répertoire

Modifié le 23/05/2026 à 16:20
astrid-gay
Auteur
Avatar de astrid-gay
astrid-gay
Auteur

ok je vais checker les logs en debug thx. mais pour les droits je suis sûr c'est bon le fichier est créé par l'agent et c'est le même user qui le lit

22/09/2024 à 23:07
tmaillard
Membre Actif Secouriste
Avatar de tmaillard
tmaillard
Membre Actif Secouriste

t'as pas un exit_on_retry_failure dans ton auto_auth ? si l'agent perd sa connexion à vault et galère à se réauthentifier il peut rester en mode "stale" et ne pas puller les updates. ou ptete un souci de clock skew entre ta vm et vault qui perturbe les ttl

Modifié le 23/05/2026 à 16:20

et ton source de template c'est bien un fichier local ou c'est un truc de conf consul-template ? si c'est un fichier local il faut qu'il soit rafraîchi lui aussi. vault agent s'occupe des valeurs du secret mais pas du template lui-même s'il est statique

Modifié le 23/05/2026 à 16:20
astrid-gay
Auteur
Avatar de astrid-gay
astrid-gay
Auteur

c'était bien la clock skew en fait ! la vm avait décalé de quelques minutes par rapport au serveur vault ce qui foutait le bordel sur les ttl des tokens et des secrets. un petit ntpdate et hop tout est rentré dans l'ordre les secrets sont maintenant rafraîchis instantanément. merci la team !

Modifié le 23/05/2026 à 16:20

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire