Mi organización utiliza Openshift para ejecutar varias aplicaciones. Hasta ahora, nuestra política ha sido almacenar siempre valores confidenciales (contraseñas de base de datos, claves API, etc.) en variables de entorno y nunca como parte del código base. Sin embargo, varios proyectos, cada uno con instancias de desarrollo, control de calidad y producción, generan muchas variables de entorno que deben administrarse.
Para ayudar con esto, escribí algunas herramientas para que podamos realizar un seguimiento de las variables en archivos YAML y luego aplicarlas de forma declarativa a una configuración de implementación de Openshift. Hasta ahora, estos archivos YAML se encuentran en un repositorio de git solo local en mi estación de trabajo. Sin embargo, esto tiene las desventajas obvias de hacerlo inutilizable para otros miembros del equipo de desarrollo. Sin embargo, manejarlo como todos nuestros otros repositorios de git y enviarlo a Gitlab o Github parece inaceptablemente arriesgado.
¿Quizás podríamos escribir ganchos de git para que GPG cifre automáticamente los archivos antes de enviarlos y los descifre después de extraerlos? ¿Cuál es la forma recomendada de almacenar y compartir repositorios confidenciales como este entre equipos?
Respuesta1
Usamostranscriptarpara este tipo de cosas y creo que funciona muy bien.
Otra opción es utilizar un sistema de almacenamiento secreto adecuado como el de HashiCorp.Bóveda.