vijoni / config-builder
为不同的环境结构配置文件并将它们合并为一个PHP文件。支持使用git-crypt密钥文件加密的文件
2.0.2
2022-03-31 08:14 UTC
Requires
- php: >=8.0
Requires (Dev)
README
基于组织好的模板配置文件构建特定于PHP环境的配置文件。
使用方法
查看接受测试以获取更多详细信息
示例文件结构
示例配置文件内容(未加密)
// default.yaml
---
config:
enable_checkout_payment_experiment: true
database:
host: ${DATABASE_HOST}
pass: ${DATABASE_PASS}
user: ${DATABASE_USER}
name: ${DATABASE_NAME}
// prod/config.yaml
---
extends:
- '../default.yaml'
- '../_shared/experiments.yaml'
config:
从提供为环境变量的base64编码的git-crypt文件内容构建密钥文件。
echo $DEFAULT_GC_KEY | bin/decode-gckey -o /tmp/git-crypt-default.key
echo $PROD_GC_KEY | bin/decode-gckey -o /tmp/git-crypt-prod.key
构建配置文件。
如果省略了 -k
参数,脚本将不会使用解密。 命令接受多个git-crypt密钥文件路径。 如果提供的密钥文件都无法解密文件,则命令将出错退出。 命令读取环境变量以替换模板的占位符文本。
bin/build-config \
-k /tmp/git-crypt-default.key \
-k /tmp//git-crypt-prod.key \
-c environments/prod/config.yaml \
-o config/config.php
模板
模板可以包含占位符文本 ${VAR_NAME}
,在构建过程中将用相应的值替换。
您可以将配置组织到多个文件中。 使用 extends
键指定额外的文件。 列表底部的文件将覆盖上面文件提供的值。 在 config
键中提供的值将覆盖来自扩展文件中的值。
支持YAML、JSON、PHP模板。 查看接受测试以获取示例配置文件。