Meine Organisation verwendet Openshift zum Ausführen mehrerer Anwendungen. Unsere bisherige Richtlinie bestand darin, vertrauliche Werte (DB-Passwörter, API-Schlüssel usw.) immer in Umgebungsvariablen und nie als Teil der Codebasis zu speichern. Mehrere Projekte mit jeweils Dev-, QA- und Prod-Instanzen führen jedoch dazu, dass viele Umgebungsvariablen verwaltet werden müssen.
Um dabei zu helfen, habe ich einige Tools geschrieben, mit denen wir Variablen in YAML-Dateien verfolgen und sie dann deklarativ auf eine Openshift-Bereitstellungskonfiguration anwenden können. Bisher befinden sich diese YAML-Dateien in einem lokalen Git-Repository auf meiner Workstation. Dies hat jedoch den offensichtlichen Nachteil, dass es für andere im Entwicklerteam unbrauchbar wird. Es wie alle unsere anderen Git-Repositorys zu behandeln und es auf Gitlab oder Github zu übertragen, scheint jedoch ein inakzeptables Risiko.
Vielleicht könnten wir Git-Hooks schreiben, um die Dateien vor dem Commit automatisch per GPG zu verschlüsseln und nach dem Pullen zu entschlüsseln? Was ist die beste Vorgehensweise, um vertrauliche Repos wie dieses zu speichern und zwischen Teams zu teilen?
Antwort1
Wir gebrauchenumschlüsselnfür diese Art von Dingen, und finde, dass es sehr gut funktioniert.
Eine weitere Möglichkeit ist die Verwendung eines geeigneten Secret-Store-Systems wie das von HashiCorpGewölbe.