跳转到主要内容

创建.env文件的实用工具

项目描述

A utility tool to create .env files

wemake.services test codecov Python Version Docs wemake-python-styleguide

dump-env takes an .env.template file and some optional environmental variables to create a new .env file from these two sources. No external dependencies are used.

为什么?

为什么我们需要这样的工具?这个工具在CI构建docker(或其他)镜像时非常有用。 以前 我们有一些加密和解密文件、导入密钥等复杂的逻辑。现在我们只需为CI创建一些秘密变量,给它加一些前缀,然后使用dump-env来使我们的生活更轻松。

安装

$ pip install dump-env

快速入门

这个快速演示将展示dump-env的主要和唯一目的

$ dump-env --template=.env.template --prefix='SECRET_ENV_' > .env

此命令将

  1. 接受.env.template
  2. 解析其键和值
  3. 从以SECRET_ENV_开头的环境变量中读取所有变量
  4. 删除此前缀
  5. 将它们全部混合在一起,环境变量可能会覆盖模板中的变量
  6. 按字母顺序排序键
  7. 将所有键和值输出到.env文件中

高级用法

多个前缀

$ dump-env -t .env.template -p 'SECRET_ENV_' -p 'ANOTHER_SECRET_ENV_' > .env

此命令几乎与带有一个前缀的情况做相同的事情。但它会替换多个前缀。后续前缀总是替换之前相同的那些。例如

$ export SECRET_TOKEN='very secret string'
$ export SECRET_ANSWER='13'
$ export ANOTHER_SECRET_ENV_ANSWER='42'
$ export ANOTHER_SECRET_ENV_VALUE='0'
$ dump-env -p SECRET_ -p ANOTHER_SECRET_ENV_
ANSWER=42
TOKEN=very secret string
VALUE=0

严格的env变量

如果您想在导出时确保YOUR_VAR存在于您的环境中,可以使用--strict标志

$ dump-env --strict YOUR_VAR -p YOUR_
Missing env vars: YOUR_VAR

哎呀!我们忘记创建了!现在这会工作

$ export YOUR_VAR='abc'
$ dump-env --strict YOUR_VAR -p YOUR_
VAR=abc

可以提供任意数量的--strict标志。不再有忘记的模板覆盖或缺失的env变量!

源模板

您可以使用env模板作为源模板,通过使用-s--source参数。这将限制在环境中找到的非前缀变量仅限于在您的模板中已经定义的变量。

$ cat template.env
ANSWER=13
TOKEN=very secret string
VALUE=0
$ export ANSWER='42'
$ dump-env --source=template.env
ANSWER=42
TOKEN=very secret string
VALUE=0

您仍然可以使用前缀来添加环境中的额外变量

$ export EXTRA_VAR='foo'
$ dump-env -s template.env -p EXTRA_
ANSWER=13
TOKEN=very secret string
VALUE=0
VAR=foo

严格源

使用--strict-source标志与为源模板中定义的每个变量设置一个--strict标志的效果相同。

$ export ANSWER='42'
$ dump-env -s template.env --strict-source
Missing env vars: TOKEN, VALUE

在某些CI中创建秘密变量

实际用法

在生产中使用此工具的项目

相关

您可能还会对以下内容感兴趣

许可证

MIT

项目详情


下载文件

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

源分布

dump_env-1.5.0.tar.gz (6.3 kB 查看哈希)

上传时间

构建分布

dump_env-1.5.0-py3-none-any.whl (7.3 kB 查看哈希)

上传时间 Python 3

由以下机构支持

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