跳转到主要内容

从不同的存储中检索设置和秘密。

项目描述

configstore是一个小巧的可插拔库,它允许您从各种存储系统中检索设置或秘密来配置您的应用程序。

该库试图解决的主要问题是

假设您的配置存储在环境变量中,但您希望将秘密存储在其他地方。您如何混合使用秘密后端存储秘密,同时保持所有其他内容都在环境变量中?使用此模块,您可以使用两者。例如,您可以使用DATABASE_PASSWORD作为数据库密码环境变量。这将首先尝试在您的第一个后端(例如docker secrets)中找到它,如果失败,将回退到环境变量。

有关示例代码,请参阅example.py

可用后端

configstore.EnvVarBackend 在环境变量中查找设置。这是一种经典的12要素方法,其主要缺点是外部工具或子进程很容易检查环境并访问敏感数据。此后端对于不是秘密的设置仍然很有用。

configstore.DotenvBackend 允许您使用 dotenv模块 将设置放入键值格式文件中,这在本地开发中很有用。此后端需要可选依赖项,因此请使用类似 configstore[dotenv] 的要求来安装所有内容。

如果您正在使用 docker-compose,则已安装了另一个 dotenv模块,并且它不提供相同的接口;请使用类似 configstore[pydotenv] 的要求。DotenvBackend 具有自动兼容性。

configstore.DockerSecretBackend 可以读取 Docker秘密。这是一种具有Docker运行时和相关工具一等支持的加密存储。

configstore.AwsSsmBackend 连接到 AWS Systems Manager 中的参数存储服务。此后端需要可选依赖项(boto3),因此请使用类似 configstore[awsssm] 的要求来安装所有内容。

最后,configstore.DictBackend 对于定义用于测试或默认设置的设置很有用。

贡献者

原作者:Antoine Reversat @crevetor

当前维护者:Éric Araujo @merwok

由Caravan Coop @caravancoop 赞助的项目

项目详情


下载文件

下载适合您平台的自定义文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

configstore-0.9.tar.gz (12.2 kB 查看哈希)

上传时间

构建分布

configstore-0.9-py3-none-any.whl (8.0 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面