如何修改Go Template以生成目标YAML配置文件?
Go Template 修改方案以生成目标YAML配置
当前的Go Template存在两处问题,导致无法生成符合要求的YAML配置:一是缩进不符合YAML层级规范,二是包含了目标配置中不存在的字段。以下是修正后的模板及修改说明:
修正后的Go Template
logs: {{- range $value := . }} - type: file path: /opt/nomad/data/alloc/*/alloc/logs/*{{$value.Task}}.stderr.* service: {{$value.Task}} source: nomad {{end}}
修改说明
修复YAML缩进问题
YAML对层级缩进有严格要求,原模板中- type: file下的path、service等字段没有缩进,会导致生成的配置结构错误。修正后给列表项标记- type: file增加2个空格缩进,其下的子字段再增加2个空格(共4个空格),完全匹配目标YAML的层级结构。移除多余字段
目标配置中不存在exclude_paths字段,因此直接删除原模板中的该行代码。优化空白控制
调整range标签的空白控制逻辑,移除了range末尾的-,确保每个列表项之间保留正确的换行,生成的YAML格式更整洁。
内容的提问来源于stack exchange,提问作者Denis Samarskiy
相关产品推荐
相关产品推荐

