我有一个这样的 YAML 文件:
keys:
- &node0001 ageXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- &node0002 ageYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
creation_rules:
- path_regex: secrets.yaml$
key_groups:
- age:
- *node0001
- *node0002
现在我想向 keys 数组和 creation_rules 数组添加一个新条目。我不知道yq
该使用什么语法来实现这一点。因此它变成:
keys:
- &node0001 ageXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- &node0002 ageYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
- &node0003 ageZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
creation_rules:
- path_regex: secrets.yaml$
key_groups:
- age:
- *node0001
- *node0002
- *node0003
我尝试过:
yq '.keys += "ageZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"' .sops.yaml
这会在键数组中添加一个新条目,但我不知道如何设置锚点。并且:
yq '.creation_rules[0].key_groups[0].age += "node0003"' .sops.yaml
此外,这会向列表中添加一个条目,但该条目应该是一个别名。
有什么想法可以实现这一点吗?如果只需一个yq
电话就能实现一切,那就更好了。