This type should never have been shared between Service and Ingress.
The `ports` field is unfortunate, but it is needed to stay compatible.
Kubernetes-commit: 0153bfad16102e42d0b0dbb56742d0a6626e4180
Mark remotecommand.Executor as deprecated and related modifications.
Handle crash when streamer.stream panics
Add a test to verify if stream is closed after connection being closed
Remove blank line and update waiting time to 1s to avoid test flakes in CI.
Refine the tests of StreamExecutor according to comments.
Remove the comment of context controlling the negotiation progress and misc.
Signed-off-by: arkbriar <arkbriar@gmail.com>
Kubernetes-commit: 42808c8343671e6783ba4c901dcd619bed648c3d
This PR changes `kubectl apiresources` command by using restclientgetter
instead of cmdutil.Factory for loose coupling and a couple of minor refactorings.
This PR also unleashes migration of other commands depending on apiresources
via completion.
Kubernetes-commit: 50c93bfe04557eccb38b46cc4b99a6a3ec13f85b
certificates/v1beta1 was deprecated in 1.19 and we can safely clear it's
dependencies in `kubectl certificates` command.
Kubernetes-commit: 48b8ee0d3ba40a19d40a7404f890031fe22bc111
When doing completion for arguments or flags for a plugin, kubectl will
call "kubectl_complete-<plugin>" to obtain the list of completions.
For example, for "krew" plugin, when the user triggers completion using:
$ kubectl krew <tab><tab>
kubectl will look for an executable file called "kubectl_complete-krew".
This file should print the list of valid completions for the plugin to
stdout. Using cobra.ShellCompDirective as the last line of the output
is supported as is done by Cobra.
We also clear global flags when doing plugin completion because plugins
don't necessarily accept the global kubectl flags. If some plugins do,
they will need to include such flags in their kubectl_complete-<plugin>
output.
Signed-off-by: Marc Khouzam <marc.khouzam@montreal.ca>
Kubernetes-commit: befc8da7efa5d961d9ade4eadc706292c7ca5a64
This commit allows us to get shell completion for kubectl plugins.
For example, with the use of a plugin named 'kubectl-krew', completing
kubectl k<tab>
will include 'krew' in the list of possible completions.
Because the shell completion scripts are generated by Cobra, this commit
took the approach of registering every plugin as a Cobra command. This
makes Cobra aware of each plugin command when generating completions.
For efficiency, searching for plugins and registering them as Cobra
commands is only done when needed, which is when calling the
'kubectl completion' command in the case of bash, as it includes all
commands and subcommands directly in the bash generated script.
For the other shells, this will need to be done for the
'kubectl __complete' command, in a follow-up command.
Co-authored-by: Marc Khouzam <marc.khouzam@montreal.ca>
Signed-off-by: Kazuki Suda <kazuki.suda@gmail.com>
Kubernetes-commit: 3db3ff53cdf4b106365c5de9194153fc371868a7
Add categories column to show which categories each
resource type belongs to.
Add --categories flag to allow filtering the output to
a specific category or set of categories.
Change verbs column to display verbs in a comma-delimited
list, consistent with other multi-value columns in the output.
Kubernetes-commit: a1330a405497479ea30319258e75435ba8321d61
`kubectl patch` commands fails when patch type is strategic merge
patch for CRDs. This PR handles `UnsupportedMediaType` error and
shows descriptive message to user.
Kubernetes-commit: dc2c0ad831f71349befdfa57d4367c4ea57d4a6c
Fix rollout history bug where the latest revision was
always shown when requesting a specific revision and
specifying an output.
Add unit and integration tests for rollout history.
Kubernetes-commit: 693e1299a6a75ffe358c41626532cdf2567c267b
To preserve loose coupling, it is needed to pass `RESTClientGetter`
instead `cmdutil.Factory` for all kubectl commands.
This PR removes `cmdutil.Factory` usage in `cluster-info` command and
instead passes `RESTClientGetter`.
Kubernetes-commit: 60680fc1d5458994aa29892e581aaf966d64ae91
To preserve loose coupling, it is needed to pass `RESTClientGetter`
instead `cmdutil.Factory` for all kubectl commands.
This PR removes `cmdutil.Factory` usage and instead
passes `RESTClientGetter` as well as required changes in unit tests.
Kubernetes-commit: 55cb8ba1ebe68d2fa6b33f1e474419b895eb31ea
Currently `kubectl apply` determines correct patch type for given
GVKs by trying to register schema and if it succeeds, it uses
strategic-merge-patch.
But OpenAPI endpoint already stores which patch types are supported
by GVKs. This PR checks OpenAPI endpoint to retrieve patch type,
if OpenAPI is enabled. If it is not enabled, patch type determination
will be done as conventional registration method.
Kubernetes-commit: cddbb0c56397448ac0489f0473a26601c1feece8
* Prepend reactor not watch reactor
This forces the object to be created first it looks like, avoiding a race condition in testing.
Use PrependReactor instead of PrependWatchReactor
Decrease test timeouts
No need to be this long
Revert use of new scheme to reuse same scheme for all tests
Allow 1 to 2 actions in stale observed generation failure
Allow range of test action lengths
Reduce test flakiness
Fix TestWaitForJSONPathCondition/handles_watch_condition_change
Set delete wait options properly
cherry pick original changes back into branch
* Revert delete timeout setting change
* Remove validateActions functions
* Remove go-spew
Kubernetes-commit: dcc54dec19fa5f4605cf679af5289b173ce6015f
In order to promote kubectl alpha events to beta,
it should at least support flags which is already
supported by kubectl get events as well as new flags.
This PR adds;
--output: json|yaml support and does essential refactorings to
integrate other printing options easier in the future.
--no-headers: kubectl get events can hide headers when this flag is set for default printing.
Adds this ability to hide headers also for kubectl alpha events.
This flag has no effect when output is json or yaml for both commands.
--types: This will be used to filter certain events to be printed and
discard others(default behavior is same with --event=Normal,Warning).
Kubernetes-commit: 63b8684cd32f96f3a1e5c5a5fd05e8194f2140fc
Changes kubectl diff to exclude managedFields by default.
Adds a new --show-managed-fields flag that allows you to
include managed fields in the diff.
Kubernetes-commit: e88470c31f74cbb1ed685ef1bc2ba91e74fc1c5e
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Kubernetes-commit: a9593d634c6a053848413e600dadbf974627515f