Filter array items by condition yq
Select only Running pods from a list
yq '.items[] | select(.status.phase == "Running")' pods.yaml
more yq
all 15 commands →
Update image tag across manifests
yq -i '(.spec.template.spec.containers[] | select(.name == "app") | .image) = "myapp:v2.0.0"' deployment.yaml
Process multiple files at once
yq '.metadata.name' manifests/*.yaml
Read YAML field
yq '.spec.replicas' deployment.yaml
Set YAML field
yq -i '.spec.replicas = 3' deployment.yaml
Convert YAML to JSON
yq -o=json deployment.yaml