Difference between revisions of "Yq"

From UVOO Tech Wiki
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
## Install
 +
```
 +
curl -LO https://github.com/mikefarah/yq/releases/download/v4.34.1/yq_linux_amd64.tar.gz
 +
tar xf yq_linux_amd64.tar.gz
 +
sudo cp yq_linux_amd64 /usr/local/bin/yq
 +
```
 +
 +
## kubectl
 +
```
 +
ip=$(kubectl get svc foo -o yaml | yq .spec.clusterIP)
 +
```
 +
 +
https://mikefarah.gitbook.io/yq/usage/tips-and-tricks
 +
 
```
 
```
 
kubectl get configMap zabbix-server -oyaml | yq eval 'del(.metadata.resourceVersion, .metadata.uid, .metadata.annotations, .metadata.creationTimestamp, .metadata.selfLink, .metadata.managedFields)' -
 
kubectl get configMap zabbix-server -oyaml | yq eval 'del(.metadata.resourceVersion, .metadata.uid, .metadata.annotations, .metadata.creationTimestamp, .metadata.selfLink, .metadata.managedFields)' -
 
```
 
```
 
https://github.com/mikefarah/yq
 
https://github.com/mikefarah/yq
 +
 +
Dump all
 +
```
 +
mkdir -p tmp
 +
cd tmp
 +
 +
for OBJ in $(kubectl api-resources --verbs=list --namespaced -o name)
 +
do
 +
  for DEF in $(kubectl get --show-kind --ignore-not-found $OBJ -o name)
 +
  do
 +
      mkdir -p $(dirname $DEF)
 +
      echo $DEF
 +
 +
      kubectl get $DEF -o yaml \
 +
      | yq eval 'del(.metadata.resourceVersion, .metadata.uid, .metadata.annotations, .metadata.creationTimestamp, .metadata.selfLink, .metadata.managedFields)' - > $DEF.yaml
 +
done
 +
```
 +
 +
# env vars
 +
https://mikefarah.gitbook.io/yq/operators/env-variable-operators
 +
```
 +
yq '(.. | select(tag == "!!str")) |= envsubst(nu, ff)' text.yqenv
 +
```
  
 
Ref:
 
Ref:
  
 
- https://stackoverflow.com/questions/61392206/kubectl-export-is-deprecated-any-alternative
 
- https://stackoverflow.com/questions/61392206/kubectl-export-is-deprecated-any-alternative

Latest revision as of 02:50, 17 June 2023

Install

curl -LO https://github.com/mikefarah/yq/releases/download/v4.34.1/yq_linux_amd64.tar.gz
tar xf yq_linux_amd64.tar.gz
sudo cp yq_linux_amd64 /usr/local/bin/yq

kubectl

ip=$(kubectl get svc foo -o yaml | yq .spec.clusterIP)

https://mikefarah.gitbook.io/yq/usage/tips-and-tricks

kubectl get configMap zabbix-server -oyaml | yq eval 'del(.metadata.resourceVersion, .metadata.uid, .metadata.annotations, .metadata.creationTimestamp, .metadata.selfLink, .metadata.managedFields)' -

https://github.com/mikefarah/yq

Dump all

mkdir -p tmp
cd tmp

for OBJ in $(kubectl api-resources --verbs=list --namespaced -o name)
do
   for DEF in $(kubectl get --show-kind --ignore-not-found $OBJ -o name)
   do
      mkdir -p $(dirname $DEF)
      echo $DEF

      kubectl get $DEF -o yaml \
      | yq eval 'del(.metadata.resourceVersion, .metadata.uid, .metadata.annotations, .metadata.creationTimestamp, .metadata.selfLink, .metadata.managedFields)' - > $DEF.yaml
done

env vars

https://mikefarah.gitbook.io/yq/operators/env-variable-operators

yq '(.. | select(tag == "!!str")) |= envsubst(nu, ff)' text.yqenv

Ref: