k9s
k9s copied to clipboard
[Feature]: Sort CRDs by their group

Is your feature request related to a problem? Please describe. I find it difficult to find CRDs when I type ":crds". There are a lot of CRDs, and they are alphabetically ordered. Also, I can't search them by a part of their name (some of them have long names).
Describe the solution you'd like
I'd like to see the CRDs grouped by their group (such as the cert-manager.io
group).
Describe alternatives you've considered
- In the
views.yaml
columns section, allow to specify an attribute from the resource (such as spec.group). May be like this:
# $XDG_CONFIG_HOME/k9s/views.yaml
views:
apiextensions.k8s.io/v1/customresourcedefinitions:
# Overrides default sort column
sortColumn: GROUP:asc
columns:
- NAME
- VERSIONS
- GROUP:.spec.group
- AGE
- A plugin that shows the CRDs, but sorted by their group. I wrote a plugin like that, but it would be good to have this feature without the need for another plugin.
# $XDG_CONFIG_HOME/k9s/plugins.yaml
plugins:
sort-crds-by-group:
shortCut: s
confirm: false
description: Sort CRDs
scopes:
- customresourcedefinitions
command: sh
background: false
args:
- -c
- "kubectl get crds -o=custom-columns=NAME:.metadata.name,GROUP:.spec.group --sort-by=.spec.group --context $CONTEXT | less -K"
Additional context
The first alternative would be similar to sorting the pods by their namespace, such as:
Would it be interesting to add the alternative 2 to https://github.com/derailed/k9s/tree/master/plugins? I could open a PR
@leomichalski Thank you for the heads up Leonardo! CRD view indeed needs a little tlc as this should be readily available out of the box. I'll push an update in the next drop...
How can we now set :desc
as the default everywhere?