Multi-document YAML to array yq
Split a multi-document YAML into a JSON array
yq -s '.' multi.yaml | yq -o=json
more yq
all 15 commands →
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
Merge two YAML files
yq eval-all 'select(fileIndex==0) * select(fileIndex==1)' base.yaml override.yaml