Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(cmd): standardize subcommand aliases with kubectl shortnames #300

Merged
merged 3 commits into from
Jun 14, 2024

Conversation

doronkg
Copy link
Contributor

@doronkg doronkg commented Jun 14, 2024

What this PR does / why we need it?

This PR refactors subcommand aliases to match kubectl official shortnames, as disaplyed in kubectl api-resources.
Fixes:

  • Remove excess singular aliases (i.e. "job", "replicaset")
  • Remove unofficial shortnames (i.e. "scrt")
  • Support uncovered shortnames (i.e. "crds")

In addition, this PR refactors the Usage section in README.md to address kor's subcommands in singular form.

PR Checklist

  • This PR adds new code
  • This PR adds docs

GitHub Issue

[XX-XX]

Notes for your reviewers

Kor Original Aliases
$ grep -r Aliases cmd/kor/ -B 1
cmd/kor/clusterroles.go-        Use:     "clusterrole",
cmd/kor/clusterroles.go:        Aliases: []string{"clusterroles"},
--
cmd/kor/configmaps.go-  Use:     "configmap",
cmd/kor/configmaps.go:  Aliases: []string{"cm", "configmaps"},
--
cmd/kor/crds.go-        Use:     "customresourcedefinition",
cmd/kor/crds.go:        Aliases: []string{"crd", "customresourcedefinitions"},
--
cmd/kor/daemonsets.go-  Use:     "daemonset",
cmd/kor/daemonsets.go:  Aliases: []string{"ds", "daemonsets"},
--
cmd/kor/deployments.go- Use:     "deployment",
cmd/kor/deployments.go: Aliases: []string{"deploy", "deployments"},
--
cmd/kor/finalizers.go-  Use:     "finalizer",
cmd/kor/finalizers.go:  Aliases: []string{"fin", "finalizers"},
--
cmd/kor/hpas.go-        Use:     "horizontalpodautoscaler",
cmd/kor/hpas.go:        Aliases: []string{"hpa", "horizontalpodautoscalers"},
--
cmd/kor/ingresses.go-   Use:     "ingress",
cmd/kor/ingresses.go:   Aliases: []string{"ing", "ingresses"},
--
cmd/kor/jobs.go-        Use:     "job",
cmd/kor/jobs.go:        Aliases: []string{"job", "jobs"},
--
cmd/kor/pdbs.go-        Use:     "poddisruptionbudget",
cmd/kor/pdbs.go:        Aliases: []string{"pdb", "poddisruptionbudgets"},
--
cmd/kor/pods.go-        Use:     "pod",
cmd/kor/pods.go:        Aliases: []string{"po", "pods"},
--
cmd/kor/pv.go-  Use:     "persistentvolume",
cmd/kor/pv.go:  Aliases: []string{"pv", "persistentvolumes"},
--
cmd/kor/pvc.go- Use:     "persistentvolumeclaim",
cmd/kor/pvc.go: Aliases: []string{"pvc", "persistentvolumeclaims"},
--
cmd/kor/replicasets.go- Use:     "replicaset",
cmd/kor/replicasets.go: Aliases: []string{"rs", "replicaset", "replicasets"},
--
cmd/kor/roles.go-       Use:     "role",
cmd/kor/roles.go:       Aliases: []string{"roles"},
--
cmd/kor/secrets.go-     Use:     "secret",
cmd/kor/secrets.go:     Aliases: []string{"scrt", "secrets"},
--
cmd/kor/serviceaccounts.go-     Use:     "serviceaccount",
cmd/kor/serviceaccounts.go:     Aliases: []string{"sa", "serviceaccounts"},
--
cmd/kor/services.go-    Use:     "service",
cmd/kor/services.go:    Aliases: []string{"svc", "services"},
--
cmd/kor/statefulsets.go-        Use:     "statefulset",
cmd/kor/statefulsets.go:        Aliases: []string{"sts", "statefulsets"},
--
cmd/kor/storageclasses.go-      Use:     "storageclass",
cmd/kor/storageclasses.go:      Aliases: []string{"sc", "storageclassses"},
Kubectl Official Shortnames
$ kubectl api-resources | awk '{print $1, $2}' | egrep -v '/|v1' | column -t
NAME                        SHORTNAMES
componentstatuses           cs
configmaps                  cm
endpoints                   ep
events                      ev
limitranges                 limits
namespaces                  ns
nodes                       no
persistentvolumeclaims      pvc
persistentvolumes           pv
pods                        po
replicationcontrollers      rc
resourcequotas              quota
serviceaccounts             sa
services                    svc
customresourcedefinitions   crd,crds
daemonsets                  ds
deployments                 deploy
replicasets                 rs
statefulsets                sts
horizontalpodautoscalers    hpa
cronjobs                    cj
certificatesigningrequests  csr
events                      ev
ingresses                   ing
networkpolicies             netpol
poddisruptionbudgets        pdb
priorityclasses             pc
storageclasses              sc

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 0% with 3 lines in your changes missing coverage. Please review.

Project coverage is 40.92%. Comparing base (2fdeab2) to head (1348c48).
Report is 2 commits behind head on main.

Files Patch % Lines
pkg/kor/multi.go 0.00% 2 Missing ⚠️
pkg/kor/all.go 0.00% 1 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #300   +/-   ##
=======================================
  Coverage   40.92%   40.92%           
=======================================
  Files          58       58           
  Lines        2913     2913           
=======================================
  Hits         1192     1192           
  Misses       1532     1532           
  Partials      189      189           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Owner

@yonahd yonahd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice cleanup

@yonahd yonahd merged commit 4c3b45d into yonahd:main Jun 14, 2024
1 check passed
@doronkg doronkg deleted the naming-fixes branch June 18, 2024 18:51
@doronkg doronkg mentioned this pull request Oct 7, 2024
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants