提供/部署具有敏感数据和pip的config ini文件的最佳方式

时间:2018-01-15 02:41:16

标签: python pip config configuration-files

我想提供一个配置ini文件,我的python包将保存敏感的数据库凭据。如何提供将要安装的默认配置文件,请在/ etc / config文件夹下说?在使用pip安装的软件包部署此类配置文件方面,最佳做法是什么?我不喜欢将此配置文件保留在其余的包文件中。

谢谢!

1 个答案:

答案 0 :(得分:1)

我刚刚检查了如何使用流行的python项目。

django创建一个配置文件,允许指向具有数据库连接详细信息的另一个配置文件,存储在不同的位置: https://docs.djangoproject.com/en/2.0/ref/databases/#connecting-to-the-database

flask和airflow在用户主文件夹下创建默认配置,但允许使用环境变量覆盖配置文件的位置。配置文件存储敏感数据,如数据库连接或密钥: http://flask.pocoo.org/docs/0.12/config/#configuring-from-files https://airflow.apache.org/configuration.html

这两种方法都允许: 1)分发默认配置文件并使用软件包安装轻松部署 2)允许将敏感配置值存储在安全文件夹中

airflow还允许使用密钥加密数据库连接字符串。

另请参阅下面的这篇文章以及有关如何部署/存储配置文件的一些想法: https://stackoverflow.com/a/22554594/473725