You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Which project are you requesting an enhancement for?
kr8s
What do you need?
A core goal of kr8s is to provide an experience similar to using kubectl in Python. That means the Python code should be minimal, clean and user focused. There should be no boilerplate code and we should avoid Kubernetes API implementation details from leaking into the code.
To ensure that kr8s has all of the features of kubectl and that the API design matches the expectations folks would bring over from kubectl I started playing around with the kubectl-ng example. This example is a reimplementation of kubectl in Python and uses kr8s as a dependency for interacting with Kubernetes. The goal here is that if we can reimplement kubectl in Python using kr8s then we can ensure that kr8s covers all the came features as kubectl.
To make this more fun I also started playing around with rich which is an awesome library for making beautiful terminal text output in Python. Inspired by projects like k9s I've started playing around with trying to make kubectl-ng more beautiful and interactive at the same time.
As kr8s has matured my tinkering on kubectl-ng has slowed down. But it would be really fun to continue pushing on this so I'm opening a top level issue to track implementing each subcommand from kubectl in kubectl-ng.
Goals:
Learn more about the Kubernetes API and how kubectl interacts with it
Find bugs and build out missing functionality in kr8s
Play with libraries like rich and typer
Spend time thinking about CLI tool design and how we can make them more beautiful
Non-goals:
Pairity with kubectl. We aren't trying to replace kubectl, just learn from it and tinker.
Which project are you requesting an enhancement for?
kr8s
What do you need?
A core goal of
kr8s
is to provide an experience similar to usingkubectl
in Python. That means the Python code should be minimal, clean and user focused. There should be no boilerplate code and we should avoid Kubernetes API implementation details from leaking into the code.To ensure that
kr8s
has all of the features ofkubectl
and that the API design matches the expectations folks would bring over fromkubectl
I started playing around with thekubectl-ng
example. This example is a reimplementation ofkubectl
in Python and useskr8s
as a dependency for interacting with Kubernetes. The goal here is that if we can reimplementkubectl
in Python usingkr8s
then we can ensure thatkr8s
covers all the came features askubectl
.To make this more fun I also started playing around with
rich
which is an awesome library for making beautiful terminal text output in Python. Inspired by projects likek9s
I've started playing around with trying to makekubectl-ng
more beautiful and interactive at the same time.As
kr8s
has matured my tinkering onkubectl-ng
has slowed down. But it would be really fun to continue pushing on this so I'm opening a top level issue to track implementing each subcommand fromkubectl
inkubectl-ng
.Goals:
kubectl
interacts with itkr8s
rich
andtyper
Non-goals:
kubectl
. We aren't trying to replacekubectl
, just learn from it and tinker.List of subcommands
kubectl-ng annotate
kubectl-ng api-resources
kubectl-ng api-versions
kubectl-ng apply
kubectl-ng apply edit-last-applied
kubectl-ng apply set-last-applied
kubectl-ng apply view-last-applied
kubectl-ng attach
kubectl-ng auth
kubectl-ng auth can-i
kubectl-ng auth reconcile
kubectl-ng auth whoami
kubectl-ng autoscale
kubectl-ng certificate
kubectl-ng certificate approve
kubectl-ng certificate deny
kubectl-ng cluster-info
kubectl-ng cluster-info dump
kubectl-ng completion
kubectl-ng config
kubectl-ng config current-context
kubectl-ng config delete-cluster
kubectl-ng config delete-context
kubectl-ng config delete-user
kubectl-ng config get-clusters
kubectl-ng config get-contexts
kubectl-ng config get-users
kubectl-ng config rename-context
kubectl-ng config set
kubectl-ng config set-cluster
kubectl-ng config set-context
kubectl-ng config set-credentials
kubectl-ng config unset
kubectl-ng config use-context
kubectl-ng config view
kubectl-ng cordon
kubectl-ng cp
kubectl-ng create
kubectl-ng create clusterrole
kubectl-ng create clusterrolebinding
kubectl-ng create configmap
kubectl-ng create cronjob
kubectl-ng create deployment
kubectl-ng create ingress
kubectl-ng create job
kubectl-ng create namespace
kubectl-ng create poddisruptionbudget
kubectl-ng create priorityclass
kubectl-ng create quota
kubectl-ng create role
kubectl-ng create rolebinding
kubectl-ng create secret
kubectl-ng create secret docker-registry
kubectl-ng create secret generic
kubectl-ng create secret tls
kubectl-ng create service
kubectl-ng create service clusterip
kubectl-ng create service externalname
kubectl-ng create service loadbalancer
kubectl-ng create service nodeport
kubectl-ng create serviceaccount
kubectl-ng create token
kubectl-ng debug
kubectl-ng delete
kubectl-ng describe
kubectl-ng diff
kubectl-ng drain
kubectl-ng edit
kubectl-ng events
kubectl-ng exec
kubectl-ng explain
kubectl-ng expose
kubectl-ng get
kubectl-ng kustomize
kubectl-ng label
kubectl-ng logs
kubectl-ng options
kubectl-ng patch
kubectl-ng plugin
kubectl-ng plugin list
kubectl-ng port-forward
kubectl-ng proxy
kubectl-ng replace
kubectl-ng rollout
kubectl-ng rollout history
kubectl-ng rollout pause
kubectl-ng rollout restart
kubectl-ng rollout resume
kubectl-ng rollout status
kubectl-ng rollout undo
kubectl-ng run
kubectl-ng scale
kubectl-ng set
kubectl-ng set env
kubectl-ng set image
kubectl-ng set resources
kubectl-ng set selector
kubectl-ng set serviceaccount
kubectl-ng set subject
kubectl-ng taint
kubectl-ng top
kubectl-ng top node
kubectl-ng top pod
kubectl-ng uncordon
kubectl-ng version
#502kubectl-ng wait
The text was updated successfully, but these errors were encountered: