Merge YAML files yq
Deep-merge a base YAML with an override file
yq '. *= load("override.yaml")' base.yaml
more yq
all 15 commands →
Multi-document YAML to array
yq -s '.' multi.yaml | yq -o=json
Read a field value
yq '.spec.replicas' deployment.yaml
Set a field value in-place
yq -i '.spec.replicas = 3' deployment.yaml
Add array element
yq -i '.spec.containers[0].env += {"name":"DEBUG","value":"true"}' deployment.yaml
Delete a key
yq -i 'del(.metadata.annotations."kubectl.kubernetes.io/last-applied-configuration")' resource.yaml