-
Notifications
You must be signed in to change notification settings - Fork 43k
Move kubectl client logic into server #12143
Copy link
Copy link
Closed
Labels
area/apiIndicates an issue on api area.Indicates an issue on api area.area/ecosystemarea/kubectllifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.Indicates that an issue or PR should not be auto-closed due to staleness.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.Must be staffed and worked on either currently, or very soon, ideally in time for the next release.sig/api-machineryCategorizes an issue or PR as relevant to SIG API Machinery.Categorizes an issue or PR as relevant to SIG API Machinery.sig/cliCategorizes an issue or PR as relevant to SIG CLI.Categorizes an issue or PR as relevant to SIG CLI.
Metadata
Metadata
Assignees
Labels
area/apiIndicates an issue on api area.Indicates an issue on api area.area/ecosystemarea/kubectllifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.Indicates that an issue or PR should not be auto-closed due to staleness.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.Must be staffed and worked on either currently, or very soon, ideally in time for the next release.sig/api-machineryCategorizes an issue or PR as relevant to SIG API Machinery.Categorizes an issue or PR as relevant to SIG API Machinery.sig/cliCategorizes an issue or PR as relevant to SIG CLI.Categorizes an issue or PR as relevant to SIG CLI.
Doing things like
kubectl replacerequires a lot of logic inkubectl, such as waiting for RC to scale pods down by polling before deleting the RC itself.Putting this in
kubectlmakes it hard to replicate in clients written in other languages to get consistent behaviour. Moving this to the api server would mean consistency across languages.For background, we created the Java Kubernetes client in fabric8 (https://github.com/fabric8io/kubernetes-client) & I've also contributed to the Ruby client at https://github.com/abonas/kubeclient). Having consistent behaviour means replicating undocumented functionality across clients which seems a bit dirty.