HashiCorp Vault — алерт когда токен сервиса скоро expire-нет
Сервисный VAULT_TOKEN скоро истекает (TTL не renew-ит, no-renewable=true). Сервис ходит в Vault — однажды получит 403 и потеряет доступ к секретам.
Рецепт
#!/usr/bin/env bash
# /etc/cron.d/vault-token
# 0 */6 * * * root /opt/vault-token.sh
export VAULT_ADDR=${VAULT_ADDR}
export VAULT_TOKEN=${VAULT_TOKEN}
WARN_HOURS=${WARN_HOURS:-24}
# `token lookup` returns ttl in seconds
TTL=$(vault token lookup -format=json | jq '.data.ttl')
LEFT_HOURS=$((TTL / 3600))
if [ "$LEFT_HOURS" -lt "$WARN_HOURS" ]; then
curl -fsS "$HEARTBEAT_URL" --data "vault_ttl_h=$LEFT_HOURS,threshold=$WARN_HOURS"
exit 2
fi
echo "OK (TTL=${LEFT_HOURS}h)"
То же самое в Enterno.io
Подключите Enterno heartbeat с расписанием каждые 6 часов — увидите когда «забыли продлить» раньше, чем сервис начнёт фейлить.
Похожие рецепты
Compliance требует ротации DB-паролей каждые 90 дней. Vault static-creds-engine должен это делать сам, но кто-то поставил max_ttl=0 — secret лежит вечно. Аудитор найдёт первый.
Кто-то сделал `vault secrets disable` (debug, или drift) — pipeline ходит за DB-creds и получает 404. Vault сам не уведомит — для него это «нормальный admin-action».
Сайт в HSTS preload-листе, но после рефакторинга nginx конфиг заголовок пропал. Через 3 месяца домен будет удалён из preload-листа. Нужен ежедневный чек.