gpt4 book ai didi

docker - 读取和编辑 YAML 的最简单且优化的方法

转载 作者:行者123 更新时间:2023-12-03 10:09:16 24 4
gpt4 key购买 nike

我有一些 YAML 文件,我想应用它们来创建自定义资源。但在应用它之前,我想更改 YAML 片段的规范和 ENV。那么最好的方法是什么?

我现在正在做的是:

假设这是 YAML

apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
namespace: default
spec:
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
# It can be true/false
annotationCheck: 'false'
# It can be active/stop
engineState: 'active'
chaosServiceAccount: pod-delete-sa
monitoring: false
# It can be delete/retain
jobCleanUpPolicy: 'delete'
experiments:
- name: pod-delete
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '30'

# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '10'

# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'
  1. 我从原始链接下载此文件。 (1 个函数用于此)
  2. jobCleanUpPolicy: 'delete' 等字段替换为 jobCleanUpPolicy: 'retain' (1 fn)
  3. 当发现匹配项时,将下一行替换为 FORCE ENV 的 value: 'false'value: 'true'。 (1 fn)
  4. 应用创建的最终 list ! (1 个功能)

这可以优化吗?

最佳答案

如果您创建一个表示资源的结构(或者更好的是,可以导入定义 CRD 的包),您可以采用 yaml 字符串 marshal将其放入结构中,然后直接将字段编辑为结构的字段

关于docker - 读取和编辑 YAML 的最简单且优化的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65405707/

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