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

best way to provide / deploy config ini file with sensitive data and pip

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

谢谢!

我刚刚检查了流行的 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 还允许使用密钥加密数据库连接字符串。

另请参阅下面的 post 以及有关如何 deploy/store 配置文件的一些想法: