#yaml #env-var #configuration #config-file #exporter #compiler #confpiler

app confpiler_cli

配置“编译器”和导出器

12 个版本

0.5.0 2023年6月14日
0.4.3 2022年4月21日
0.3.4 2022年4月11日
0.3.0 2022年3月31日
0.1.0 2022年3月6日

配置 中排名 832

每月下载量 38

许可协议 MIT/ApacheGPL-3.0-only

53KB
780

Confpiler (cli)

此命令行工具旨在将一组配置文件“编译”成一个单一的、平坦的表示形式,适用于导出到环境变量。

有关子命令/选项的完整列表(以及更详细的帮助),请参阅相关的 --帮助 部分。

简单示例

# given a file, config.yaml
foo:
  bar: 10
  baz: false

hoof: https://some.url
$ confpiler build config.yaml
FOO__BAR="10"
FOO__BAZ="false"
HOOF="https://some.url"

更复杂的示例

给定一些如下所示的文件

somedir/
  global.yaml
  myapp/
    default.yaml
    development.yaml
    production.yaml
    staging.yaml

我们可以使用以下命令编译成表示“生产”配置的单个表示形式

$ cd somedir
$ confpiler build global.yaml myapp --env production --json

这将产生一个JSON形式的字典,表示合并了 global.yamlmyapp/default.yamlmyapp/production.yaml

当前此工具在处理目录时需要“默认”文件。

检查

check 替换为 build 将仅验证是否可以根据指定的选项生成配置。

$ confpiler check global.yaml myapp --env staging

# or stricter
$ confpiler check global.yaml myapp --env staging --strict

支持的格式

目前支持以下格式

  • JOSN
  • TOML
  • YAML
  • INI

依赖项

~18–32MB
~535K SLoC