Assume the following CRDs exist (ordered by priority, the first is the highest):
- authentications.migration.k8s.io (K=Authentications, G=migration.k8s.io)
- authentications.metal3.io (K=Authentications, G=metal3.io)
- authentications.whereabouts.cni.cncf.io (K=Authentications, G=whereabouts.cni.cncf.io)
- authentications.snapshot.storage.k8s.io (K=Authentications, G=snapshot.storage.k8s.io)
In case 'kubectl explain authentications' is ran, the highest priority definition (in this case authentications.migration.k8s.io)
is returned. In case a user wants to explain authentication CRD of a different group, --api-version flag has to be set alongside
to point to a specific group and version. E.g. --api-version=metal3.io/v1
This PR allows to dismiss --api-version flag and perform a prefix check to select a resource (e.g. CRD) whose (resource, group) pair
fully prefixes requested resource. E.g. running 'kubectl explain authentications.metal3.io' will return
description of authentications.metal3.io. The same holds for optional field path.
I.e. 'kubectl explain authentications.metal3.io.spec' will return description of spec field
of authentications.metal3.io.spec. In case no resource match is found, the search falls back
to selecting the highest priority gvr that matches the resource.
In case --api-version is set, no prefix matching is performed. To cover cases
such as 'kubectl explain authentications.metal3.io --api-version=authentications.metal3.io/v1' where
fields path coincide with the resource fully specified name (to access .metal3.io field of authentications.metal3.io).
Kubernetes-commit: 30674db1595e3a24273ceb71cbfe67bb300ad951
The behavior of the container defaulting in attach/exec is inconsistent
and should be unified. As a user, when we default the vast majority of
pods will have a small number of containers and so printing the container
names inline (as kubectl logs did) is more appropriate. The debug message
we printed about using describe was already longer than 99% of all pod
container names, so we were wasting user time.
Unify container selection for exec and attach to be consistent with old
behavior. Properly handle the --quiet flag (should not print in that case)
for both commands. Remove EnableCmdSuggestion and the machinery it needs.
The message now prints:
> Defaulted container "etcdctl" out of: etcdctl, etcd, etcd-metrics, etcd-ensure-env-vars (init), etcd-resources-copy (init)
Kubernetes-commit: 43e8ebbbcd3f57d18d8151efb6242f88a763b06d
--quiet means no informational output for the human that could be
confused with the output of the shell / command on the other side.
Kubernetes-commit: 75700d32bff0e28c7093ef384de78dbdd0db61b2
Currently, server-side dry-run fetches the OpenAPI schema for every
single object.
This change fetches the OpenAPI schema only once.
Kubernetes-commit: caa158610dfb53de3582ed6df0eb37359206fc66
- update according to KEP: move getContainerName to helper
Signed-off-by: pacoxu <paco.xu@daocloud.io>
Kubernetes-commit: b54e823dbce08bff6fab979243663b0fea5a351f
`kubectl get` supports specifying a comma separated list of resource types. E.g.:
```bash
kubectl get pods,secrets
```
Will list all pods and secrets in the current namespace.
This commit adds support to the kubectl bash completion for this feature. Which means if you type `kubectl get pods,sec<tab>` it will be auto-completed to `kubectl get pods,secrets` (assuming the cluster does not have a CRD starting with `sec`).
Kubernetes-commit: 51671ecc2e258d50c7b1315b7b68c4e239f7e829
* Remove the dependency between create namespace command and generators
* Update create_namespace.go
format the file
rename "kruntime" package to "runtime"
remove the reliance of generators
replace dynamic client with typed client
rename "options" to "o" in "NewNamespaceOptions" fun for better reading and comparison with other create cmd
remove Namespace and EnforceNamespace from NamespaceOptions
remove Mapper from NamespaceOptions
refactory the "Run" fun
refactory the "Run" fun
Update create_namespace.go and create_namespace_test.go
* Update create_namespace.go and create_namespace_test.go
* fix createNamespace function
* fix createNamespace function
* fix createNamespace function
* remove the wrong comment in NamespaceOptions
* add validate operation for cobra.Command
* add some unit tests
* add some unit tests
* remove the call of Validate() from createNamespace() and update return type of createNamespace()
* update test suite for the new createNamespace()
Kubernetes-commit: 6990d75625b6aaa32c1aa5a99a174775868263bc
When using GNU diffutils, some commands (e.g. --color[=WHEN])
requires an equal sign.
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Kubernetes-commit: 722751accf7607f4d0573778e85027c63e1802ce
No need extra vars just for a single validation.
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Kubernetes-commit: ea017e53af84b05154f275fabcfc95a61b091493