Commit graph

125 commits

Author SHA1 Message Date
Jordan Liggitt
31a13e236e Fix PipeWriter#CloseWithError race on go1.13
Kubernetes-commit: 399ab7aadca3879e040a5f2c4fde5451f838eb66
2021-02-24 15:35:03 -05:00
Maciej Szulik
508c8c8cdf Handle nil elements when sorting, instead of panicking
Kubernetes-commit: f1a26055e1a793214ab233dbac0c14045c5b1687
2020-09-09 22:39:46 +02:00
Jordan Liggitt
f96bbfd425 Make kubectl tolerate other versions of the CSR API
Kubernetes-commit: 789dde9a3b8b60c788492341effdea8a29cfd19e
2020-06-02 13:53:26 -04:00
Tatsuhiro Tsujikawa
9abcedf467 Restore the ability to kubectl apply --prune without -n flag
Before https://github.com/kubernetes/kubernetes/pull/83084, `kubectl
apply --prune` can prune resources in all namespaces specified in
config files.  After that PR got merged, only a single namespace is
considered for pruning.  It is OK if namespace is explicitly specified
by --namespace option, but what the PR does is use the default
namespace (or from kubeconfig) if not overridden by command line flag.
That breaks the existing usage of `kubectl apply --prune` without
--namespace option.  If --namespace is not used, there is no error,
and no one notices this issue unless they actually check that pruning
happens.  This issue also prevents resources in multiple namespaces in
config file from being pruned.

kubectl 1.16 does not have this bug.  Let's see the difference between
kubectl 1.16 and kubectl 1.17.  Suppose the following config file:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: foo
  namespace: a
  labels:
    pl: foo
data:
  foo: bar

Kubernetes-commit: 4e644d0b4842c851b18d846d1ce56ef5c73204a1
2020-03-27 01:11:36 +00:00
Sean R. Sullivan
a7b6c5bf39 Even with build error, kubectl apply should apply all valid resources
Kubernetes-commit: 0dee03d1bd2764fae9a8edae69408f0cb8733908
2020-04-03 19:50:25 -07:00
Julian V. Modesto
51dacf879c Ensure diff doesn't persist patches
Kubernetes-commit: 7444c1e865b64127a59f379af2c8f866d0b0f56d
2020-04-02 17:14:17 -04:00
Sean R. Sullivan
54f205ddea Fixes problem where kubectl apply stops after first error
Kubernetes-commit: 7e4d0319e3ad3b629bf7e171bbf7d83b82f917bf
2020-03-26 13:24:33 -07:00
Jordan Liggitt
8806a28122 Simplify dual or single port logic
Kubernetes-commit: dd342d7579d5287be9034b9f8934e314ab5dada1
2020-03-23 22:04:14 -04:00
Marius Ziemke
a35dd2b601 fix kubectl port-forward for services with explicit local port
Kubernetes-commit: 2ca708d2c2be2d5cb135829c6de2cb0ceada0754
2020-03-08 17:49:18 +01:00
Julian V. Modesto
c583481195 Set field manager for kubectl diff --server-side.
Bonus: check diff only dry-runs without persisting.

Co-authored-by: Takahiro HATORI <tahatori@zlab.co.jp>

Kubernetes-commit: bacc2c49605f608d3f919109e0c37ebf6e1d7036
2020-03-02 14:06:50 -05:00
Jordan Liggitt
76fcfa950f client-go: update expansions callers
Kubernetes-commit: d8abacba40a63395cc064452b09a244555536fca
2020-03-06 16:29:23 -05:00
Jordan Liggitt
9dba2f752c client-go dynamic client: add context to callers
Kubernetes-commit: b7c2faf26c2a25427794478c6265e6d55e8acb5a
2020-03-06 10:17:41 -05:00
Jordan Liggitt
38c5349404 client-go dynamic client: update DeleteOptions callers
Kubernetes-commit: b19dc3a474e840340cb357f5ea9f4e575bad888d
2020-03-06 10:20:40 -05:00
Lee Verberne
a37bfb301f Add kubectl debug alpha command
This first version of `kubectl alpha debug` is an import of the existing
kubectl-debug plugin, which supports adding ephemeral containers to
running pods. This attempts to follow patterns used by other kubectl
commands such as run, exec and scale.

Kubernetes-commit: e5b655938e55e0404545ff73e9239593a27a3272
2020-01-31 15:29:31 +01:00
Brian Pursley
1b611fc460 Changed kubectl cluster-info dump to not display "Cluster info dumped to standard output" message when output is stdout
Kubernetes-commit: 6de140567b37f6f41404237860a1c17e45e45296
2020-03-03 09:18:16 -05:00
Maciej Szulik
05f1ae9347 Wire --filename flag to exec
Kubernetes-commit: 9dac1699bfdb0ff2b8bcfd76c42815b033b3cce0
2020-02-24 14:35:37 +01:00
David Eads
3d36c95b21 update override behavior for kubectl --tls-server-name
Kubernetes-commit: 9dcbc0bf909a794cf77a801bfd29e306791b1e24
2020-03-03 13:16:50 -05:00
Suresh Kumar Ponnusamy
f564b695fd Support TLS Server Name overrides in kubeconfig file
Signed-off-by: Suresh Kumar Ponnusamy <suresh.ponnusamy@freshworks.com>

Kubernetes-commit: 37c81ed79ac6836bce4b96f888aa407dc18d747c
2019-08-28 10:51:14 +05:30
Maciej Szulik
dec02b7261 Squash pkg/describe/versioned/ into pkg/describe/
Kubernetes-commit: 02cd65d7bb5e4aea84a4f466186bcbbe604c4b27
2020-03-03 13:06:26 +01:00
Maciej Szulik
74f95074d1 Deprecate --generator flag from kubectl create commands
Kubernetes-commit: be6ac856f13b994251b3c8e54b2251cf75c6847d
2020-02-28 11:58:53 +01:00
drfish
67636a07cd Staticcheck: vendor/k8s.io/kubectl/pkg/cmd/exec|config|certificates
Kubernetes-commit: a14ceeb2c00d8048ce05ad199c919bdab6fb6954
2020-01-23 14:03:11 +08:00
Julian V. Modesto
9210a53827 Hide deprecated --server-dry-run for kubectl apply
Kubernetes-commit: 7b214c96b01bf34345d4d7d82fcf5a85fd8318dd
2020-02-28 16:19:51 -05:00
Julian V. Modesto
ea073cac23 Clean up --dry-run values.
- Clean up --dry-run values in tests, docs, and scripts
- Fix --dry-run for auth reconcile and add a test

Kubernetes-commit: d97169f59ad11f2d2ffd8ef14446bbec5ffc881b
2020-02-13 16:28:22 -05:00
Brian Pursley
8735c06401 Default grace period to 0 when --force is used to delete an object
Kubernetes-commit: 0f31bef94c46b735bb7b1fe2a7d49d58fb93ed11
2020-02-24 09:30:56 -05:00
Cornelius Weig
561f918bdf Add documentation around plugins
Documentation is added in several areas:
1. `kubectl plugin` now prints a note that plugins are best discovered
   with krew.dev and how to install it.
2. The kubectl book now has a new section about plugins, featuring
   - a very brief introduction to the kubectl plugin mechanism
   - a section about krew

Kubernetes-commit: ed0e0350854e34bad65de4db44c0f661a5851870
2020-02-26 14:50:50 +01:00
zhouya0
d197180d35 Add init containers to dump info
Kubernetes-commit: a024ac14ef14da1c972edc6589de81405f17bc76
2020-02-19 20:47:34 +08:00
Julian V. Modesto
a7e7c4c78b Remove deprecated rolling-update command
Kubernetes-commit: 932500c0151a4f0926cf07e63068248540b22f90
2020-02-11 23:27:01 -05:00
Julian V. Modesto
3f460486bc Add --dry-run to more kubectl commands.
- delete
- taint
- replace

Kubernetes-commit: a9ec444d743940fd93b31313a6f3f857e5c5f048
2020-02-18 18:08:25 -05:00
zhouya0
9c37ff1094 optimize kubectl version help info
Kubernetes-commit: f85e079147b65fe444ee60b9c302173ae169990a
2020-02-19 16:45:37 +08:00
Julian V. Modesto
9c04919f3b Error if --local and --dry-run=server are passed
Kubernetes-commit: 5fcd9c7c7ec432dd27e770e49e0e6872335c765d
2020-02-13 16:44:14 -05:00
Hidetake Iwata
0f70b0c27b Fix example of kubectl config set-credentials
Kubernetes-commit: 0368a7d5f7acea476f4adcd85ea037cfe24ccd3f
2020-02-12 21:11:24 +09:00
Olivier Lemasle
e7018f8673 kubectl cluster-info dump: use file extension according to output format
Kubernetes-commit: d6fcc224f17f2fe4bb45e731ea3d50a26539fc54
2019-08-28 11:51:39 +02:00
Julian V. Modesto
f9460c5333 Use --dry-run=client,server in kubectl.
- Support --dry-run=server for subcommands apply, run, create, annotate,
expose, patch, label, autoscale, apply set-last-applied, drain, rollout undo
- Support --dry-run=server for set subcommands
  - image
  - resources
  - serviceaccount
  - selector
  - env
  - subject
- Support --dry-run=server for create subcommands.
  - clusterrole
  - clusterrolebinding
  - configmap
  - cronjob
  - job
  - deployment
  - namespace
  - poddisruptionbudget
  - priorityclass
  - quota
  - role
  - rolebinding
  - service
  - secret
  - serviceaccount
- Remove GetClientSideDryRun

Kubernetes-commit: 13b80b48cd02b8263d910f2423a1f5b92cdf7644
2020-01-30 20:23:33 -05:00
Maciej Szulik
e10402e591 Don't show flags in api-versions help
Kubernetes-commit: 8ff6b24c5736d7b2ce31319ae950a806f2325327
2020-02-12 18:31:05 +01:00
gavinfish
275513cb52 Staticcheck: vendor/k8s.io/kubectl/pkg/scale|describe/versioned|cmd/top|cmd/util/editor|cmd/top
Kubernetes-commit: f4940cf55fd7c2787b370464d491a764c4febd78
2020-01-21 10:13:10 +08:00
zhouya0
94b91c1d51 fix kubectl drain ignore daemonsets and others
Kubernetes-commit: e3c8add683a095f1bffef1b0ca413f1e42be7fe0
2020-01-19 14:28:53 +08:00
zhouya0
9c14935e27 Add kubectl diff exit code doc
Kubernetes-commit: 527e66fc2829917444d874771142fdd834feb8d6
2020-02-04 17:22:23 +08:00
Brian Pursley
09eaf230cc Fixed code formatting issues discovered by verify-gofmt
Kubernetes-commit: 78248d0c2aaca258b4210446dc38c096e83a1eb6
2020-02-04 10:11:18 -05:00
Brian Pursley
445baa99d2 Added 'No resources found' message to describe and top pod commands
Kubernetes-commit: e70a630dac6c0158a5f9bb571223ed5759096dc1
2020-01-24 10:42:08 -05:00
Odin Ugedal
4e367c0f16 Add error check in kubectl proxy on server setup
If "NewServer" returns an error, it will result in a nil pointer
dereference segfault.

A simple way to test the behavior is to prefix the server url with a
colon, ":".

Kubernetes-commit: 1e50bc2d094410f3848b4dbc5f0442440d8f7d77
2019-07-26 20:06:46 +02:00
Mike Danese
29cd24b6cc generated: run refactor
Kubernetes-commit: 25651408aeadf38c3df7ea8c760e7519fd37d625
2020-02-08 12:30:21 -05:00
Mike Danese
71d8052cb0 generated: run refactor
Kubernetes-commit: 3aa59f7f3077642592dc8a864fcef8ba98699894
2020-02-07 18:16:47 -08:00
Brian Pursley
1777c19079 Fixed code formatting issues discovered by verify-gofmt
Kubernetes-commit: 2d21f16c38e704eaaa42d7d583ddd103c16d0d6b
2020-02-04 10:16:06 -05:00
Brian Pursley
e9f1eb93f4 Fixed problem in unit test where error expected/actual comparison was not being performed
Kubernetes-commit: 97185e97529ef7c006f26bb3190805ad28f15ffe
2020-02-03 12:17:51 -05:00
Brian Pursley
b69c2a4389 Removed unneeded newline (moved to end of directory not found message)
Kubernetes-commit: 48ee18b516b267ba062a1dd00a21e7ae10ecd805
2020-01-28 20:51:24 -05:00
Brian Pursley
346cf3d4f4 Ignore empty or blank string in path when listing plugins
Kubernetes-commit: f60c0af97710a5dca6f55f3c4a1480412ad50ec8
2020-01-28 17:04:31 -05:00
wojtekt
4f3723dc40 Register conversions for kubectl testing types
Kubernetes-commit: ea140f5e1a1a297e251cc28a40e2bbf77dfd02e4
2020-01-09 14:16:33 +01:00
Tim Allclair
6fca42a14a Ensure testing credentials are labeled as such
Kubernetes-commit: 9d3670f3586c98c02cdca93b7c98dd91fc0b87bd
2020-02-04 10:36:05 -08:00
Antoine Pelisse
4c36396b35 kubectl-diff: Return non-1 errors on kubectl failures
Currently, diff AND kubectl can return 1 errors either when diff finds
differences, or when kubectl fails something. It also prints an ugly
error when diff finds a differences, since 1 is treated as an error.

Two things this PR does:

1. If diff returns 1, then do not treat it as an error, and exit with
exit code 1. It no longer prints the ugly error.

2. Kubectl errors are +1'd so that they never return 1 which shouldn't
be considered an error.

We need to update the documentation accordingly, to mention that
`KUBECTL_EXTERNAL_DIFF` programs must also follow the convention of
using one as their exit code for changes detected.

Kubernetes-commit: f2b21f08d95291212ba8987aa9d446c02a96089a
2020-01-21 13:52:41 -08:00
Julian V. Modesto
c0b11fa131 Extend --dry-run to support string values.
* Extend --dry-run to support string values for dry run strategies
  'client', 'server', and 'none'
* Ensure --dry-run is set and accessed via cmdutil
* Deprecate --dry-run (unset), --dry-run=true, and --dry-run=false

Kubernetes-commit: af52beda260257e81cc9e19e9e5108b682ee93d6
2019-12-15 18:29:27 -05:00