加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

django和厨师的postgres连接细节

发布时间:2020-12-20 13:36:05 所属栏目:Python 来源:网络整理
导读:我有一个使用postgres DB的 django应用程序. 我有一个设置postgres数据库的厨师食谱,包括为django应用程序设置postgres用户名/密码. 然后,DATABASES settings.py值使用此用户名/密码. 目前,我必须在attributes.rb和settings.py中都有postgres细节. 我怎样才
我有一个使用postgres DB的 django应用程序.

我有一个设置postgres数据库的厨师食谱,包括为django应用程序设置postgres用户名/密码.

然后,DATABASES settings.py值使用此用户名/密码.

目前,我必须在attributes.rb和settings.py中都有postgres细节.
我怎样才能在一个地方拥有它们?

我目前考虑的选项:

>具有由厨师模板生成的settings.py(或其一部分).这样,细节只需要在厨师食谱中.
这方面的缺点是django应用程序是不完整的,除非它是通过厨师部署的. (这可能不是一个很大的问题,因为甚至当地的开发人员都是与流浪厨师一起完成的).
>在文件系统上有一个已知文件,settings.py检查并加载一些值.此文件由chef生成.
这比第一个解决方案好一点.此外,它还需要settings.py中的一些样板代码来加载和解析文件.
>在settings.py中有详细信息,让厨师提取它们(不知何故).
这种方法有问题,因为它混淆了厨师食谱中的排序(我必须检查我的django应用程序,提取值,使用值来设置postgres,然后启动django).
这本身可能不会太糟糕,但真正的问题出现在/如果我想转移到一个系统,其中密码不在源控制文件中,而是像厨师的数据包.

我已经google了很多,但除了关于settings.py的布局的各种讨论和一般谈论如何使用django和厨师,我找不到一个很好的解决方案.
当然其他人已经使用厨师使用postgres部署了一个django应用程序并且之前遇到过这个问题?

解决方法

您应该使用 data bag.当您在那里存储密码时,它应该是 encrypted data bag.然后您可以在两个食谱(postgres和python)中从中读取数据.

将密码存储在属性中也不是一个好主意 – 因为它们太暴露了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读