数据库凭证和leiningen?

Pau*_*ald 11 clojure leiningen amazon-elastic-beanstalk

我正在开发一个clojure Web应用程序,使用leiningen 2进行构建和部署.这是一个非常香草的webapp,我正在使用compojure,ring和lein-beanstalk.我的应用程序需要使用数据库凭据和S3凭据,我不确定在我的应用程序中存储和访问它们的最佳方法.

使用leiningen 2处理需要与我的应用程序一起部署的数据库凭据等敏感内容的常用方法是什么?

我可以在弹性beanstalk上设置环境变量,但是如果可能的话我想避免使用该路由.

小智 9

有两种方法可以做到.一种是使用环境变量,如果所有配置值都是字符串并且您不需要任意嵌套,那么这很好.你最好的选择是Environ:https://github.com/weavejester/environ

另一个不错的选择是从类路径中读取Clojure数据文件.您可以使用dev-resourcesdir将dev配置设置检查到项目中,并使用部署工具将生产配置放在类路径上.这里的优点是你的配置可以是嵌套地图等任意的Clojure值.最好的事情是Carica:https://github.com/sonian/carica


Art*_*ldt 5

我非常喜欢使用环境变量来跟踪变量环境.;-)

其他人使用-Ddb=foo选项传递它们并阅读它们(System/getProperty "db")