haskell – 在Yesod和Keter传递应用程序的秘密
发布时间:2020-12-14 21:32:10 所属栏目:资源 来源:网络整理
导读:我正在使用Yesod构建一个Web应用程序,目前正在通过环境变量(根据 The Twelve-Factor App)传递API密钥等秘密,以避免将这些值存储在版本控制的配置文件中。例如,我在dev模式下运行我的应用程序如下: SOME_API_KEY=value yesod devel 我在我的config / sett
我正在使用Yesod构建一个Web应用程序,目前正在通过环境变量(根据
The Twelve-Factor App)传递API密钥等秘密,以避免将这些值存储在版本控制的配置文件中。例如,我在dev模式下运行我的应用程序如下:
SOME_API_KEY=value yesod devel 我在我的config / settings.yml文件中有一个值,该文件根据这个环境变量定义为空值,如下所示: meetup-api-key: "_env:SOME_API_KEY:" 要使用Keter进行部署,我将使用yesod keter命令构建Keter软件包,并将生成的文件放入Keter的目录中。由于我使用环境变量配置,我的应用程序的.keter文件不包含SOME_API_KEY值(这是有意的)。 我应该如何将SOME_API_KEY传递到我在Keter中运行的应用程序的实例? 至少有以下三个原因,我想避免将这个值烘焙到我的keter-config.yaml中: >它比环境变量方法更不安全。 我希望在这种情况下有一些“最佳做法”。 解决方法
将您的秘密设置为服务器上的环境变量,并使用config / keter.yml中的forward-env将其转发到您的应用程序,如以下补丁所示:
https://github.com/snoyberg/keter/commit/9e9fca314fb78860fb5c9b08cad212d92b0b20d4
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |