如何共享或encryption敏感的git回购

我的组织正在使用Openshift来运行多个应用程序。 到目前为止,我们的策略是始终将敏感值(DB密码,API密钥等)存储在环境variables中,而不是代码库的一部分。 但是,每个包含Dev,QA和Prod实例的多个项目都会导致需要pipe理许多环境variables。

为了解决这个问题,我为我们编写了一些工具,以便能够跟踪YAML文件中的variables,然后声明性地将它们应用到Openshift的deploy-config。 到目前为止,这些YAML文件都坐在我的工作站上的仅限本地的git仓库中。 但是,这对开发团队中的其他人来说显然是不利的。 然而,像处理所有其他的git回购,并把它推到Gitlab或Github似乎是无法接受的风险。

也许我们可以编写git钩子,在提交之前自动对文件进行GPGencryption,并在提取后解密? 在团队间如何存储和分享敏感回购的最佳实践方法是什么?

我们使用transcrypt来处理这类事情,并发现它工作得很好。

另一个select是使用像HashiCorp的保险库这样的适当的秘密存储系统。