Skip to content

Instantly share code, notes, and snippets.

@kokoye2007
Forked from clux/ky.sh
Created August 17, 2022 14:04
Show Gist options
  • Save kokoye2007/90f3d4f8f07c7089be8d53b004ee88a7 to your computer and use it in GitHub Desktop.
Save kokoye2007/90f3d4f8f07c7089be8d53b004ee88a7 to your computer and use it in GitHub Desktop.
kubectl get yaml without managedFields
# kubectl < 1.21
ky() {
local -r resource="${1:-$(kubectl api-resources --no-headers | choose 0 | fzf)}"
local -r name="${2:-$(kubectl get ${resource} --no-headers | choose 0 | fzf)}"
kubectl get "${resource}" "${name}" -oyaml \
| yq 'del(.metadata.managedFields)' -y \
| bat -l=yaml --plain --theme=DarkNeon
}
# kubectl >= 1.21
ky() {
local -r resource="${1:-$(kubectl api-resources --no-headers | choose 0 | fzf)}"
local -r name="${2:-$(kubectl get ${resource} --no-headers | choose 0 | fzf)}"
kubectl get "${resource}" "${name}" -oyaml | bat -l=yaml --plain --theme=DarkNeon
}
@kokoye2007
Copy link
Author

uses:

choose
bat
python-yq (for older kubectl < 1.21)
then put some aliases elsewhere:

alias kyp="ky pod"
alias kyc="ky cm"
alias kysec="ky secret"
alias kyd="ky deploy"
alias kyrs="ky rs"
alias kyj="ky job"
alias kycj="ky cj"
alias kysm="ky sm"
alias kys="ky service"
alias kysa="ky sa"
alias kyn="ky node"
alias kyh="ky hpa"
alias kyf="ky foo"

https://asciinema.org/a/441968

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment