Ir al contenido

Git hooks

La forma más segura de mantener un secreto fuera de tu historial es no dejar que se commitee. kovra hooks install coloca un hook pre-commit en un repositorio que escanea el diff en staging y falla el commit si encuentra algo.

Ejecútalo dentro del repositorio que deseas proteger:

zsh
~ % kovra hooks install
Wrote ./.gitleaks.toml
Installed the gitleaks pre-commit hook at ./.git/hooks/pre-commit.

Escribe un hook pre-commit basado en gitleaks en .git/hooks/pre-commit y un archivo de configuración .gitleaks.toml que puedes ajustar. A partir de entonces, cada git commit escanea lo que tienes en staging; un posible secreto aborta el commit antes de que entre en el historial.

No reemplazará silenciosamente un hook pre-commit que ya tengas — vuelve a ejecutarlo con --force para sobrescribir uno existente.

El vault mantiene los secretos fuera de tu código desde el principio, y .env.refs guarda solo direcciones — pero un hook es la última barrera frente al error que todos cometemos alguna vez: pegar un valor real en un archivo “solo por un momento”. La defensa en profundidad significa que el commit queda bloqueado incluso cuando la disciplina falla.

  • kovra doctor valida el .env.refs de un proyecto — conéctalo a CI para que falle la build ante cualquier deriva.
  • kovra scaffold propone un .env.refs a partir de tu código fuente, de modo que cables los secretos por dirección, nunca por valor.