gpt4 book ai didi

go - 如何为多个环境和突变的组合生成配置

转载 作者:行者123 更新时间:2023-12-01 21:13:06 24 4
gpt4 key购买 nike

我正在尝试使用gomplate作为配置生成器。我现在面临的问题是存在多个突变和需要以不同方式配置应用程序的环境。我想以某种在模板和源数据中尽可能减少重复的方式实现用户友好和可读的方式。
其背后的动机是生成了可在以下gomplate中使用的源数据app_config,如下所示:

feature_a={{ index (datasource "app_config").features.feature_a .Env.APP_MUTATION .Env.ENV_NAME | required }}
feature_b={{ index (datasource "app_config").features.feature_b .Env.APP_MUTATION .Env.ENV_NAME | required }}
基本上我想要这个源数据
features:
feature_a:
~: true
feature_b:
mut_a:
~: false
dev: true
test: true
mut_b:
~: true
转换为该结果(用作 app_config gomplate数据源)
features:
feature_a:
mut_a:
dev: true
test: true
load: true
staging: true
prod: true
mut_b:
dev: true
test: true
load: true
staging: true
prod: true
feature_b:
mut_a:
dev: true
test: true
load: false
staging: false
prod: false
mut_b:
dev: true
test: true
load: true
staging: true
prod: true
给定数据源 platform被定义为
mutations:
- mut_a
- mut_b
environments:
- dev
- test
- load
- staging
- prod
我选择使用 ~声明未定义的每个环境或突变都将获得 ~后面的值。
这应该在最低级别为环境且最低级别为突变之前的假设下进行。除非未定义环境,否则在这种情况下,突变级别最低,适用于所有突变和环境。但是我知道这带来了额外的复杂性,因此我想使用始终定义突变的简化变体:
features:
feature_a:
mut_a: true
mut_b: true
feature_b:
mut_a:
~: false
dev: true
test: true
mut_b:
~: true
但是,由于我刚接触gomplate,因此不确定它是否适合此工作。
我欢迎每一个反馈。

最佳答案

经过进一步调查,我决定使用单独的工具可以更好地解决此问题。

关于go - 如何为多个环境和突变的组合生成配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62598691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com