Yq

From Halfface
Jump to navigationJump to search

yq

Download and make executable.

sudo curl -skL https://github.com/mikefarah/yq/releases/download/v4.32.2/yq_linux_amd64 -o /usr/local/bin/yq ; sudo chmod 755 /usr/local/bin/yq

Select specific values.

oc get mcp worker -o yaml | yq '.spec.configuration.source.[].name'

Delete specific values.

oc get secret -n openshift-config api-ocp -o yaml | kubectl neat | yq 'del(.metadata.annotations)'
oc get kafka kafka -o yaml | yq 'del(.status)'
oc get kafka kafka-cluster -o yaml | yq 'del(.status, .metadata.annotations."kubectl.kubernetes.io/last-applied-configuration", .metadata.creationTimestamp, .metadata.generation, .metadata.resourceVersion, .metadata.uid)'

Convert json to yaml.

yq -p json -o yaml

Convert yaml to json.

yq -o=json cm_result.yaml

Get packages from ansible playbook.

yq '.[] | select(.name == "Install packages.") | ."ansible.builtin.dnf".name[]' ~/git/halfface_ansible/roles/toolbox/tasks/main.yml | xargs

base64 decode

| yq '.data."tls.crt"|@base64d'

sort keys

yq -P 'sort_keys(..)'

print multiple values tab separated

oc get strimzipodsets -o yaml |yq -o tsv '.items[] | .metadata.name as $name | .spec.pods[].spec.containers[].image | [$name, .] | @tsv'