Compare commits

...

1387 Commits

Author SHA1 Message Date
Kubernetes Publisher
5bd52e0a89 Update dependencies to v0.18.5-rc.0 tag 2020-06-17 17:36:49 +00:00
Kubernetes Publisher
303c51f3d4 Merge pull request #89909 from howardjohn/automated-cherry-pick-of-#87821-upstream-release-1.18
[1.18 cherrypick] Check Annotations map against nil for ConfigMapLock#Update()

Kubernetes-commit: 7352cb49fb118471ac08bf49f496a6b623cd1bb9
2020-04-30 00:26:05 +00:00
Kubernetes Publisher
7b592a8174 Merge pull request #90019 from liggitt/json-raw-1.18
Manual cherry pick of #89833: preserve integers decoding raw JSON values

Kubernetes-commit: 1533a3d87f7c750263b07a426d47573e41bfd0d8
2020-04-29 12:28:12 +00:00
Kubernetes Publisher
11b3f81436 Merge pull request #90244 from soltysh/automated-cherry-pick-of-#90243-upstream-release-1.18
Automated cherry pick of #90243: Revert "stop defaulting kubeconfig to http://localhost:8080"

Kubernetes-commit: a19486ac03436191f9826c2058b98486dc9051c5
2020-04-28 13:44:39 -07:00
Maciej Szulik
19e102247d Revert "stop defaulting kubeconfig to http://localhost:8080"
This reverts commit b19ad9e7a78fea0ecdffe7aa53bbe309d9d346ee.

Kubernetes-commit: b03bb751c21ac20f1d2b95e33487017a608cf45c
2020-04-17 16:37:15 +02:00
Kubernetes Publisher
b3ff053fb1 Merge pull request #89975 from liggitt/relist-timeout-1.18
Manual cherry pick of #89652: Fix client watch reestablishment handling of client-side timeouts

Kubernetes-commit: c37f8ac0e1f85be80ce3a91c0bf3f9869aaa200b
2020-04-10 02:42:27 +00:00
Jordan Liggitt
3ce1317b14 kube-openapi bump to release-1.18
Kubernetes-commit: 34726e1b50d1dd7de5972c824db566511813d8b7
2020-04-09 14:51:42 -04:00
Ted Yu
aa2d6328a3 Check Annotations map against nil for ConfigMapLock#Update()
Signed-off-by: Ted Yu <yuzhihong@gmail.com>

Kubernetes-commit: e9e1ea490f8e6f46730f847b2f48456098d94623
2020-04-03 16:47:19 -07:00
Jordan Liggitt
dbcb4c305c Fix client watch reestablishment handling of client-side timeouts
Kubernetes-commit: ea49e94be8a8b5285e1ea737df0bfd83e8b5158f
2020-03-30 10:36:01 -04:00
Kubernetes Publisher
88ba1c9b80 Merge pull request #89783 from weinong/automated-cherry-pick-of-#89706-upstream-release-1.18
Automated cherry pick of #89706: fix a bug where spn: prefix is unexpectedly added to

Kubernetes-commit: ec8c186fe8181f52670716d8d10aa7663e868491
2020-04-04 08:59:45 -07:00
Weinong Wang
136e483e70 fix a bug where spn: prefix is unexpectedly added to kubeconfig apiserver-id setting
Kubernetes-commit: 0c78c1e66e37b9c0c12284889a408ba5c667f321
2020-03-31 15:59:37 -07:00
Kubernetes Publisher
dc8515ba96 Merge pull request #89449 from saad-ali/automated-cherry-pick-of-#89444-upstream-release-1.18
Automated cherry pick of #89444 upstream release 1.18

Kubernetes-commit: 8be33caaf953ac6fdb5e57435363282e3098616c
2020-03-25 04:40:45 +00:00
Hemant Kumar
8ca7f667a2 bump k8s.io/utils package
This fixes bug with xfs mount failing because of xfs_repair
being called. Fixes https://github.com/kubernetes/utils/issues/141

Kubernetes-commit: 0630031f85ba508559abcb40a1adca4ac2350056
2020-03-24 17:21:19 -04:00
Kubernetes Publisher
3e3c7a4209 Merge pull request #89343 from aojea/automated-cherry-pick-of-#89341-upstream-release-1.18
Automated cherry pick of #89341: bump k8s.io utils

Kubernetes-commit: a4d1f873dd75a547dff75c9de77bc4dfabc5d4e6
2020-03-23 04:33:46 +00:00
Antonio Ojea
6be3e0bf76 bump k8s.io utils
Fix a bug in k8s.io/utils/net.GetIndexedIP() that wasn't working
with IPv6 addresses with leading zeros.

Kubernetes-commit: 0c34f5e431c7b0cdc8f41e39e6797422c63532cb
2020-03-22 22:21:47 +01:00
Kubernetes Publisher
d0229e78f4 Merge pull request #89331 from andyzhangx/automated-cherry-pick-of-#89319-upstream-release-1.18
Automated cherry pick of #89319: Update vendored MountSensitive code for Windows

Kubernetes-commit: 35d71ed91ceecb9b19d329a39d8553a273035895
2020-03-21 20:27:08 +00:00
marosset
63c6663c56 Updating vendored files
Kubernetes-commit: cf790a8d209cb61fe8a97b4947b556cdb77be015
2020-03-20 21:13:48 +00:00
Kubernetes Publisher
aad7e5b6d4 Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: 4345b892177bf918d49fea1876bfbe236e251734
2020-03-08 14:53:38 +00:00
Kubernetes Publisher
f6341befeb Merge pull request #88875 from apelisse/apply-no-op
SSA: Applying same object twice should be a no-op the second time

Kubernetes-commit: 71ad0a90205c12e8ebbe6872db30097026916659
2020-03-08 16:26:25 +00:00
Jordan Liggitt
1088ee5da1 client-go: add context/options to expansions methods
Kubernetes-commit: 4c034278f4ec022698eb2e8aae3dfcc08abebe89
2020-03-06 16:30:37 -05:00
Kubernetes Publisher
1979366505 Merge pull request #88910 from liggitt/metadata-context
Metadata client: plumb context

Kubernetes-commit: f52cbea102bb6ba9fe951cbf81e7dd4b48f95d9e
2020-03-08 16:26:24 +00:00
Kubernetes Publisher
1f8ca21aea Merge pull request #88906 from liggitt/dynamic-delete
Dynamic client: plumb context

Kubernetes-commit: cf4d797b5dddef1b1e06a50ebda8a0738e04b66c
2020-03-08 16:26:22 +00:00
Kubernetes Publisher
e686f3a6b1 Merge pull request #88599 from julianvmodesto/scale-ctx-opts
Add context and options to scale client

Kubernetes-commit: 179fe40d06bc07b0e6602b203a8fb8e722c4e2a4
2020-03-08 16:26:21 +00:00
Kubernetes Publisher
95caa2d638 Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: df00300353342181f7930d81c197f52b0d6164de
2020-03-06 17:09:23 +00:00
Jordan Liggitt
e21d8b321d client-go metadata: plumb context
Kubernetes-commit: cb4ee9334b744404e670ea2c28a3093a3cd67844
2020-03-06 10:42:18 -05:00
Christian Huffman
963287bf1b Updated files after rebase
Kubernetes-commit: d0890533a99bcb7f3ee173846863960d15064577
2020-03-06 08:56:59 -05:00
Jordan Liggitt
aa9e2e1d28 client-go dynamic context
Kubernetes-commit: 6fa54d715fbc992afb483e71d450d5dbd66990eb
2020-03-06 01:27:11 -05:00
Jordan Liggitt
62641f51d9 client-go dynamic client: update DeleteOptions callers
Kubernetes-commit: b19dc3a474e840340cb357f5ea9f4e575bad888d
2020-03-06 10:20:40 -05:00
Jordan Liggitt
6d9df0db96 client-go dynamic client: pass DeleteOptions by value
Kubernetes-commit: 161b7513f73185745f8c17db5a56b7229157f876
2020-03-06 10:20:27 -05:00
Antoine Pelisse
fe51308355 Bump sigs.k8s.io/structured-merge-diff to v3
Kubernetes-commit: df41fd932bef1686b30a1abee477c5009ebabe80
2020-03-05 13:09:50 -08:00
Christian Huffman
722d7c83fd Moved CSIDriver to GA
Kubernetes-commit: 726af6bd7f2f3d7e0b6b37b476672944f601af41
2020-02-28 15:22:45 -05:00
Kubernetes Publisher
5c2a76ef0f Merge pull request #88708 from mikedanese/deleteopts
Migrate clientset metav1.DeleteOpts to pass-by-value

Kubernetes-commit: 5708511499fe500ae3b4bbd40204cef382f652e8
2020-03-06 20:33:42 +00:00
Kubernetes Publisher
b4b41575df Merge pull request #88465 from alvaroaleman/utilerrors-implement-errors-is
Utilerrors.Aggregate: Allow using with errors.Is()

Kubernetes-commit: c812375ed605dafa3a7802fc9e21165031de9034
2020-03-06 20:33:40 +00:00
Kubernetes Publisher
2f9d817fc1 Merge pull request #87553 from MikeSpreitzer/shared-informer-comments-redux
More refinement of comments and parameter names for informers

Kubernetes-commit: 50c0a698d83f3eb1325b80270471eaf06c4870d2
2020-03-06 20:33:39 +00:00
Kubernetes Publisher
9793c43f36 Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: f44ed022527037752b74d6e299c7666c18a9463a
2020-03-06 00:33:55 +00:00
Monis Khan
a884d2d0bc Use the same default namespace across event recorders
Signed-off-by: Monis Khan <mok@vmware.com>

Kubernetes-commit: 167d6a2c8b00413cb52841ee49dd042bfb7d10c9
2020-03-04 13:49:33 -05:00
Kubernetes Publisher
c2cd954c1a Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: ee5e5d216da4d3ec8106e3cfc1507599b8787b7b
2020-03-04 18:02:38 +00:00
Kubernetes Publisher
c97745df16 Merge pull request #86173 from soltysh/cli_defaults
stop defaulting kubeconfig to http://localhost:8080

Kubernetes-commit: b5b675491b69b5d48bf112a896bc739e500c7275
2020-03-04 20:30:36 +00:00
Kubernetes Publisher
cbb845eb7b Merge pull request #88769 from deads2k/SNI
Support TLS Server Name overrides in kubeconfig file

Kubernetes-commit: bd6640a8e003059ee98f84e7378d97f8337c5e0b
2020-03-04 20:30:35 +00:00
Kubernetes Publisher
130ee555e2 Merge pull request #88783 from neolit123/1.18-fix-kubectl-auth-verbosity
client-go: use klog.V(3) for the cert-rotation controller start/stop

Kubernetes-commit: cadd51783bd463b3fdd6c1416e596493a717fe83
2020-03-04 20:30:34 +00:00
Lubomir I. Ivanov
db9ba44b57 client-go: use klog.V(3) for the cert-rotation controller start/stop
Introduce a verbosity level for the start and stop notifications,
so that regular calls to commands such as:
  "kubectl auth ..."
would only contain the "yes" / "no" output.

Kubernetes-commit: b2677b1e572ae1cd8b823683e88005b7857d8938
2020-03-04 01:35:17 +02:00
David Eads
275032820d update override behavior for kubectl --tls-server-name
Kubernetes-commit: 9dcbc0bf909a794cf77a801bfd29e306791b1e24
2020-03-03 13:16:50 -05:00
Maciej Szulik
39958e487b Provide more verbose empty config error based on the context
Kubernetes-commit: 07dc17ffd9aadd9918511334e13b02dc817828a5
2020-03-03 18:42:19 +01:00
Mike Danese
9c3e96b764 automated refactor
Kubernetes-commit: c58e69ec791e4dd8a1298d5c2cc0649cf9176f67
2020-03-01 09:24:42 -08:00
Mike Danese
cca4bbf022 update clients
Kubernetes-commit: 86bd06c8820a785cb8d74ef29d4a6a80c08988c0
2020-03-01 08:54:33 -08:00
saad-ali
38ae657aae Update dep k8s.io/utils to 0a110f9eb7ab
Kubernetes-commit: 22e8189f40fc95b18bad2b59ba2ad20ae7c69ea9
2020-02-28 18:22:45 -08:00
Kubernetes Publisher
665c6734d2 Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: ea1576a65d9e2d953b188ede356fecfeba513233
2020-03-03 17:49:44 +00:00
James Munnelly
60fa75c071 Extend client-go csr package to invalidate CSRs based on signerName
Kubernetes-commit: c2367bd5da68112ad3031dd33933859dacf8db58
2020-03-03 13:14:04 +00:00
Kubernetes Publisher
b229bee3a8 Merge pull request #88744 from jackkleeman/kubelet-handle-intermed
Support intermediate certificate in certificate store

Kubernetes-commit: 79e1ad2f4bbd05b1e56b7b57b63b2c1d67b90156
2020-03-03 20:30:27 +00:00
Kubernetes Publisher
5e884de6b7 Merge pull request #79083 from jackkleeman/client-cert-file-reload
Add ability to reload client certificates from disk

Kubernetes-commit: 4b1ee392c180233c085ba0a17949bc9197535c11
2020-03-03 20:30:26 +00:00
Kubernetes Publisher
b4195b390d Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: 28ec82ddbdfc09619ce00a2aae498cb3c9d3ebc8
2020-03-02 20:30:27 +00:00
Jack Kleeman
68503dd6f8 Support intermediate certificate in certificate store
Kubernetes-commit: 83a223f5ee3790b7ed54197986d4317e75da1652
2020-03-02 19:48:38 +00:00
Julian V. Modesto
5403cae7f7 Add context and options to scale client
Kubernetes-commit: da3c3432d8361f315e7f562563e68316b10b9a2d
2020-02-26 18:39:57 -05:00
Rob Scott
4c92726be3 Adding IngressClass to networking/v1beta1
Co-authored-by: Christopher M. Luciano <cmluciano@us.ibm.com>

Kubernetes-commit: 132d2afca0794b4bcaedb6dbbefe4e9d66e80239
2020-02-24 21:20:45 -08:00
Kubernetes Publisher
bc450043dc Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: e3c76196e4cf21633b8b0333ef5bf0a780b922cd
2020-02-29 16:26:12 +00:00
Kubernetes Publisher
cad9369f5c Merge pull request #88246 from munnerz/csr-signername-controllers
Update CSR controllers & kubelet to respect signerName field

Kubernetes-commit: 03b7f272c8287fdaafa67b82f1c577a96c5a238a
2020-02-29 20:25:50 +00:00
Kubernetes Publisher
8f319dd0ec Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: d883d5cd787a84ae6e95276196c2d57024f1dba1
2020-02-27 20:41:23 +00:00
Alvaro Aleman
63b7bdc3fa Utilerrors.Aggregate: Allow using with errors.Is()
Kubernetes-commit: 212190e25e18600bbca2eb5c77aa3fe5bcc55af1
2020-02-24 15:15:04 +01:00
James Munnelly
6ca9f7245f certificates: update controllers to understand signerName field
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>

Kubernetes-commit: d5dae048983cd299cdce9d2703f564bf4bd246ee
2020-02-17 23:06:02 +00:00
jennybuckley
69a103b2ce Improve rate limiter latency logging and metrics
Kubernetes-commit: 2bcf99f05fdc47fb4bc3601b9134408483f59773
2020-02-13 13:32:12 -08:00
Kubernetes Publisher
010dce13f8 Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: 60790dbb519fd09a619fd3d5823804a5b1a513bf
2020-02-23 09:29:41 +00:00
Kubernetes Publisher
8f6e628cf6 Merge pull request #88382 from jpbetz/parallel-mem-client-resource-discovery
Refresh discovery server resources for memCacheClient in parallel

Kubernetes-commit: 62b0bbc1c64f7ca5d3b2a9503158975166af9078
2020-02-23 12:30:06 +00:00
Kubernetes Publisher
39a9bc1d5a Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: 490f4bacd293561bd0b5b785f30c666d99ecaeec
2020-02-21 13:41:40 +00:00
Kubernetes Publisher
b52b5a278b Merge pull request #88100 from jiahuif/kubelet-bootstrap-csr-logging
add logging for kubelet csr being approved and issued.

Kubernetes-commit: bf050f9794973694e2cc9c8df2f5e8b354af63f6
2020-02-23 12:30:03 +00:00
Joe Betz
8f2c761d18 Refresh discovery server resources for memCacheClient in parallel
Kubernetes-commit: 190a72392ae712fbbee979e95a6017ccb578877d
2020-02-20 13:40:23 -08:00
Benjamin Elder
46ad60adf9 update golang.org/x/crypto
Kubernetes-commit: 86ead631585825725e39f9a5e99c169b892a338c
2020-02-20 13:17:51 -08:00
Kubernetes Publisher
40d13067fe Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: 5c1937c55024a7ddf5389651a6a4a02a95d9c1f5
2020-02-19 16:29:48 +00:00
Kubernetes Publisher
789de056aa Merge pull request #88267 from mfojtik/revert-con-refused-retry
client-go: remove connection refused to list of retriable errors

Kubernetes-commit: f38ca13bc8c6e1d99be33afa2b9d3a3f6fb56ba3
2020-02-23 12:30:01 +00:00
Kubernetes Publisher
9346d68881 Merge pull request #88261 from mborsz/rate
Implement ItemBucketRateLimiter

Kubernetes-commit: 1e12d92a5179dbfeb455c79dbf9120c8536e5f9c
2020-02-18 19:23:22 +00:00
Michal Fojtik
6c3faaec46 rest: remove connection refused from the list of retriable errors
Kubernetes-commit: 0dfe0c793b5b85bd85cec7b77679ba78c1617357
2020-02-18 14:44:04 +01:00
Maciej Borsz
94f6bd1785 Implement ItemBucketRateLimiter
Kubernetes-commit: 6846a0a6b62725a5888d66e2789f2af4fb172045
2020-02-18 11:24:20 +01:00
Kubernetes Publisher
a1d715839a Merge pull request #87899 from tedyu/observed-rec
Pass context to tryAcquireOrRenew

Kubernetes-commit: 1c225e3e5648d61f1dfc4f04db99712ab13ba86a
2020-02-16 05:46:14 +00:00
Kubernetes Publisher
200280e336 Merge pull request #88131 from liggitt/mutation-detector-trace
Shrink mutation detection critical section

Kubernetes-commit: c1aeef5e6279f3c3325933242de5746e72635a31
2020-02-16 05:46:13 +00:00
Jordan Liggitt
b0779d525a Shrink mutation detection critical section
Kubernetes-commit: 12abf03f6b4a60fa61773acd21dfb440ff10f699
2020-02-13 22:22:14 -05:00
Kubernetes Publisher
ce0298a60b Merge pull request #88079 from liggitt/onclose-panic
Set up connection onClose prior to adding to connection map

Kubernetes-commit: b2bf4a8acb7ac48f5428483237fff8fb722802bf
2020-02-14 08:23:08 +00:00
Jiahui Feng
b8a07f42d5 add logging for csr being approved and issued.
Kubernetes-commit: fdd7424d191b43bc9b1c4364ddf9c88547883072
2020-02-12 11:09:56 -08:00
Jordan Liggitt
03953c1a93 Set up connection onClose prior to adding to connection map
Kubernetes-commit: aa4113d777dd6c699233e0b6d903e9734e182686
2020-02-12 11:14:22 -05:00
Kubernetes Publisher
e38a845233 Merge pull request #85617 from andrewsykim/optimize-external-ips
proxier: only get local addresses once per sync loop

Kubernetes-commit: ed0d6ee3cec18a2b0cc213bd3833e5bd02b091d8
2020-02-14 08:23:07 +00:00
Kubernetes Publisher
bf78b1a1f3 Merge pull request #87795 from zhan849/harry/reflector-backoff
add exponential backoff with cap and reset in reflector during retrying ListWatch

Kubernetes-commit: f9250c4f951a65d6eb65b6aceb1ac1f33598c14a
2020-02-14 08:23:04 +00:00
Kubernetes Publisher
0ff5a65499 Merge pull request #87991 from mikedanese/createcontext
remove authn/z.CreateContext expansions

Kubernetes-commit: 0b2636a7e705bdf7c911e12d2e8846b9e6f88704
2020-02-10 14:53:53 -08:00
Ted Yu
d6bfb32c17 Pass context to tryAcquireOrRenew
Kubernetes-commit: c049f30ef2a83172f46a587ddaf2104b39df8301
2020-02-10 12:31:24 -08:00
Mike Danese
b1c983c25e remove authn/z.CreateContext expansions
Kubernetes-commit: 119f2208324b67d97795445f3fee2a667d6c5b41
2020-02-10 10:49:48 -08:00
Kubernetes Publisher
c416eeb74a Merge pull request #87957 from liggitt/noop-deltafifo-resourceversion
Treat replaced events that didn't change resourceVersion as resync events

Kubernetes-commit: af618bd100004ecb41ddaf1ee25d8e1d0ea628f3
2020-02-10 19:01:25 +00:00
Kubernetes Publisher
af50d22222 Merge pull request #87952 from mikedanese/opts
add *Options to Create, Update, and Patch in generated clientsets

Kubernetes-commit: abe6321296123aaba8e83978f7d17951ab1b64fd
2020-02-09 07:01:01 +00:00
Kubernetes Publisher
c44f517f89 Merge pull request #87908 from jpbetz/enable-smd-reflector
Bump to latest SMD to pick up performance optimizations

Kubernetes-commit: 86fcb30e5391a5494c8d83586f0911772a6949aa
2020-02-09 07:01:00 +00:00
Jordan Liggitt
08cc53159f Treat replaced events that didn't change resourceVersion as resync events
Kubernetes-commit: a6caa0a4726ba97737056175494516367cf98cae
2020-02-08 16:30:01 -05:00
Kubernetes Publisher
4b7e8bfcc1 Merge pull request #87299 from mikedanese/ctx
context in client-go

Kubernetes-commit: 334d788f081e3bd6bb5fbbb5130c7d0810afc91e
2020-02-08 06:43:52 -08:00
Joe Betz
d002e5e2a5 Bump to latest SMD to pick up performance optimizations
Kubernetes-commit: d9faaca64738a50455f38dd88845e8b4b5ca37e2
2020-02-06 15:10:25 -08:00
Mike Danese
a9af074362 manual fixes
Kubernetes-commit: bfc75d9a5c1673092be1030137319684edd17aa3
2020-02-04 18:02:08 -08:00
Mike Danese
e7a922c979 generated: update clients
Kubernetes-commit: 1dcd1fb3b7a4399bdfd1aeaa8d200ae899a30b27
2020-02-04 17:53:04 -08:00
Mike Danese
6659ae5216 generated: run refactor
Kubernetes-commit: 25651408aeadf38c3df7ea8c760e7519fd37d625
2020-02-08 12:30:21 -05:00
Harry Zhang
1df276a7c6 add exponential backoff with reset to reflector
Kubernetes-commit: f1248163ff4dc3cf164284bf255c10b6b538aa66
2020-02-03 15:32:51 -08:00
Mike Spreitzer
1245dcc076 More refinement of comments and parameter names for informers
Removed the incorrect promise of coherency in the answer to a query to
an informer's local cache.  Removed the definition of "collection
state", because it was only used in the now-removed promise.  Added a
remark about ordering of states that appear in an informer's local
cache.

Brushed up the commentary on resync period.  Changed the relevant
parameter of NewSharedInformer to have the same name as the
corresponding parameter to NewSharedIndexInformer.

Kubernetes-commit: b8e2ad5926c3a6872422ad25cf9867e10e052a7d
2020-01-26 02:43:33 -05:00
andrewsykim
833abd59fa update vendor k8s.io/utils to 5f6fbceb4c31
Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>

Kubernetes-commit: 9e5a06c3eddb135a33496e874477a3a64b2421d6
2020-01-17 22:06:08 -05:00
Mike Danese
6b3a79f9fc some manual fixes
Kubernetes-commit: 26377722982a8489d2a974db88e7478e54e4eaf0
2019-12-17 00:01:53 -08:00
Mike Danese
3e02731f97 generated: update clients
Kubernetes-commit: 9443a3814446ecca4905f7ac7059c67f120151b9
2020-02-04 10:13:30 -08:00
Mike Danese
60a0346672 generated: run refactor
Kubernetes-commit: 3aa59f7f3077642592dc8a864fcef8ba98699894
2020-02-07 18:16:47 -08:00
Kubernetes Publisher
5be5d5753f Merge pull request #87630 from weinong/feat-87541
add a flag in azure auth module to omit spn: prefix in audience claim

Kubernetes-commit: 913c9ef15003ed2782e36f890f76a0950b48883d
2020-02-07 15:01:07 +00:00
Kubernetes Publisher
cf84c08bad Merge pull request #87734 from mikedanese/ctxsnap
snapshot clientsets pending context migration

Kubernetes-commit: 1f147a4cf581a0f90f60e8690e399b1844024559
2020-02-07 11:00:52 +00:00
Kubernetes Publisher
473926661c Merge pull request #87830 from dims/update-sigs.k8s.io/yaml-to-v1.2.0
Updating dependency sigs.k8s.io/yaml to version v1.2.0

Kubernetes-commit: e4061baeac03793f300c2dd824cae5673d1c24cf
2020-02-07 03:01:05 +00:00
Kubernetes Publisher
0088fd1514 Merge pull request #87823 from tallclair/test-tokens
Ensure testing credentials are labeled as such

Kubernetes-commit: 9c1e124b157cfe5a3943ae68bf74860bf0ec85c1
2020-02-07 03:01:02 +00:00
Kubernetes Publisher
8a503c805a Merge pull request #87791 from mikedanese/authexp
remove authn/z expansions

Kubernetes-commit: 85ffc9dbd7e0d177afc9ae90e8bb1ac2dba7f49c
2020-02-05 11:06:17 +00:00
Davanum Srinivas
50a5d4094b Updating dependency sigs.k8s.io/yaml to version v1.2.0
Kubernetes-commit: 5bb1838c5c197dd06af5f37df6fdaf8093338f67
2020-02-04 15:45:47 -05:00
Tim Allclair
8462896174 Ensure testing credentials are labeled as such
Kubernetes-commit: 9d3670f3586c98c02cdca93b7c98dd91fc0b87bd
2020-02-04 10:36:05 -08:00
Kubernetes Publisher
203d909765 Merge pull request #86430 from wojtek-t/avoid_thundering_herd_on_etcd
Avoid thundering herd of relists on etcd

Kubernetes-commit: d52ecd5f70cdf5f13f919bab56cf08cd556a2e26
2020-02-04 11:00:04 +00:00
Mike Danese
276a3a8673 generated: update clients
Kubernetes-commit: 65483a19abd31e77750ff5d8c24c1cffac0c1dcd
2020-02-03 13:43:35 -08:00
Mike Danese
abea97436e remove create expansions form authn/z clients
Kubernetes-commit: 41bd53866efd84a75014a4c385de6569db24cd92
2020-02-03 13:41:22 -08:00
Kubernetes Publisher
21de178e1d Merge pull request #87740 from jennybuckley/rate-limit-log
Log when client rate limiter latency is very high at a lower log level

Kubernetes-commit: 9de57634738cfd13bee5e29494e120cc2f24212c
2020-02-02 10:45:20 +00:00
Kubernetes Publisher
3176187cb1 Merge pull request #87689 from newrelic-forks/master
fix: missing variadic dots

Kubernetes-commit: 38137df87da46400fb9e0641080ef1c0e7431c82
2020-02-02 06:54:03 +00:00
Mike Danese
521dc77f40 snapshot clientsets pending context migration
https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20200123-client-go-ctx.md

Part of #46503

Kubernetes-commit: 0f1871547317fe7ab6e5e583d86a0bd1d223c35c
2020-01-31 19:39:00 -08:00
jennybuckley
9ee80cfbdc Log when client side rate limiter latency is very high
Kubernetes-commit: 82a68be304338f0bee9ed9bdc99a7acc1895e102
2020-01-31 16:17:22 -08:00
Kubernetes Publisher
dc6b49f169 Merge pull request #87687 from markusthoemmes/action-match-subresource
Allow Action's Matches function to specify a subresource.

Kubernetes-commit: bca516f1796e0ce8f2c64ec47959434cc09c64ec
2020-01-31 03:26:50 +00:00
Roger Torrentsgeneros
69becbbf29 fix: missing variadic dots
Kubernetes-commit: 9bfcc6144e5ad24ffa2e903f8ee32405cda8d942
2020-01-30 13:08:14 +01:00
Markus Thömmes
1133cbffc1 Allow Action's Matches function to specify a subresource.
In other parts of the system (notably in RBAC rules), the "resource/subresource" notation is common to specify an explicit subresource. This makes this notation available to tests that use the `Matches` function on client actions as well.

Backwards compatibility is kept by ignoring the `Subresource` field if no specific subresource is defined in the resource string itself.

Kubernetes-commit: 47277f281eb0e7d484555e4d210b0ddb42974793
2020-01-30 12:04:23 +01:00
Kubernetes Publisher
1ae532aad6 Merge pull request #87597 from mikedanese/rctx
Refactor context handling in rest.Request

Kubernetes-commit: 60dd5dbd8b2347284b7e9b87a5700f54c185034e
2020-01-30 07:25:23 +00:00
Kubernetes Publisher
0fcd5b52ae Merge pull request #87431 from dprotaso/bump-gofuzz
bump github.com/google/gofuzz

Kubernetes-commit: fc3b7b6dcde835291bd2103d78df9391b20bba39
2020-01-30 07:25:21 +00:00
Kubernetes Publisher
f55f946138 Merge pull request #87599 from mikedanese/rctx-cleanup
various context related cleanups to rest.Request

Kubernetes-commit: cad44602e1188a1feff0bc085dc8286c6c5d3640
2020-01-29 19:25:10 +00:00
Weinong Wang
6ece45329e add a flag in azure auth module to omit spn: prefix in audience claim
Kubernetes-commit: c08db5feacc78aeaf104f2c0eb0c4b038fba1df5
2020-01-28 14:29:11 -08:00
wojtekt
0e2dbbf70a Switch pager to return whether the result was paginated
Kubernetes-commit: 5dcf08c1993718e94cf6537af50e0a411dd2878c
2020-01-28 09:39:27 +01:00
Mike Danese
c4a6de2f33 various context related cleanups to rest.Request
* Move all usage of r.ctx to the beginning of Do, DoRaw, Stream, Watch
* Move tryThrottle from Do and DoRaw into request()
* Make request() and tryThrottle take a context
* In request(), remove the timeout context setting out of the loop

These changes should be entirely behavior preserving.

Kubernetes-commit: d95ed2c8470158256466fb24728e63ac3afe0899
2020-01-27 19:52:47 -08:00
Mike Danese
09009e85ca cleanup req.Context() and ResponseWrapper
Kubernetes-commit: 968adfa99362f733ef82f4aabb34a59dbbd6e56a
2020-01-27 18:52:27 -08:00
Mike Danese
b136e9eb2b refactor
Kubernetes-commit: d55d6175f8e2cfdab0b79aac72046a652c2eb515
2020-01-27 18:19:44 -08:00
Mike Danese
1b1a1841fa regenerate clients
Kubernetes-commit: 59e757afef07beb17e26c02eade097d031cb49c7
2020-01-27 18:12:12 -08:00
Mike Danese
ae9f6b2601 update rest.Request signatures
Kubernetes-commit: 510aa1b432499f752fbacb2abf7e19f73311cdad
2020-01-27 17:54:13 -08:00
Mike Danese
5f8ab2bf68 various context related cleanups to rest.Request
* Move all usage of r.ctx to the beginning of Do, DoRaw, Stream, Watch
* Move tryThrottle from Do and DoRaw into request()
* Make request() and tryThrottle take a context
* In request(), remove the timeout context setting out of the loop

These changes should be entirely behavior preserving.

Kubernetes-commit: ed48ed0122c7289f458a6bc3ac616319d5c17e91
2020-01-27 19:52:47 -08:00
Kubernetes Publisher
996f3529d3 Merge pull request #87393 from MikeSpreitzer/remove-unused-loop
remove unused layer of loop structure in processorListener::run

Kubernetes-commit: 94ea2be3ccf5defdde7a340678e50ace410470ce
2020-01-25 07:24:30 +00:00
Kubernetes Publisher
7f990bd4b1 Merge pull request #87507 from weinong/revert-86412
Revert "It fixes a bug where AAD token obtained by kubectl is incompa…

Kubernetes-commit: bbc035a66cacc345dd54676e6c4e1f0389dbcb5a
2020-01-25 03:24:27 +00:00
Kubernetes Publisher
142dce433b Merge pull request #87138 from markusthoemmes/fix-capitalization-error
Fix error-string-capitalization in clientset generator.

Kubernetes-commit: 6ae7bfc691c8266fc253d45ecf55acac8877c6d2
2020-01-24 11:24:38 +00:00
Kubernetes Publisher
bccad466ab Merge pull request #87467 from cjcullen/yaml
Update gopkg.in/yaml.v2 to v2.2.8

Kubernetes-commit: 07b358b1904c3c16a40a93a18f95e9411d9a2789
2020-01-24 03:24:37 +00:00
Kubernetes Publisher
7a0c6cfdb0 Merge pull request #86015 from squeed/informer-missing-updates
informers: Don't treat relist same as sync

Kubernetes-commit: 9f09913dbf5188f0ccaecded80766a14309a6992
2020-01-24 03:24:35 +00:00
Weinong Wang
5494d16ef1 Revert "It fixes a bug where AAD token obtained by kubectl is incompatible with on-behalf-of flow and oidc."
This reverts commit d1480ab49d603d0a95e509b627252ee7af8559ae.

Revert this commit due to incomplete migration path

Kubernetes-commit: 71b2a4cdcc18694387961d119c6ab71772579918
2020-01-23 14:21:33 -08:00
Kubernetes Publisher
dbf12d30ba Merge pull request #87442 from jennybuckley/smd-3
Update structured-merge-diff dependency to v3

Kubernetes-commit: 03cb6afc1a7d43e8ea034279a19801d3d3fb17b3
2020-01-23 07:24:53 +00:00
CJ Cullen
c11dbb51c1 update gopkg.in/yaml.v2 to v2.2.8
Kubernetes-commit: b86df2bec4f377afc0ca03482ffad2f0a49a83b8
2020-01-22 11:32:39 -08:00
jennybuckley
84fd45eec7 Update Structured Merge Diff to V3
Kubernetes-commit: b33fbc84d9d6e7033c36fa3bc321b8fea28ceed6
2020-01-21 15:03:56 -08:00
Dave Protasowski
21c891ebdb bump github.com/google/gofuzz
This includes the ability for the fuzzer to skip certain struct fields

Kubernetes-commit: c8dbde86664170f479dd9a9a55de76d8f186754f
2020-01-21 13:11:34 -05:00
Mike Spreitzer
cc22aafc1f remove unused layer of loop structure in processorListener::run
Also updated the comment inside processorListener::run, to restore
accuracy about how long the delay is.

Kubernetes-commit: d2ad469abbb1122cbbd772e15767817cd771f9f6
2020-01-20 11:52:44 -05:00
Kubernetes Publisher
a432bd9ba7 Merge pull request #87081 from dims/updating-protobuf-and-grpc
Updating protobuf (v1.3.1) and grpc (v1.26.0)

Kubernetes-commit: f4b6b751cdf2d46940355359443b263cb883d006
2020-01-18 23:39:46 +00:00
Davanum Srinivas
b71b6102bf Updating dependency google.golang.org/genproto to version v0.0.0-20190819201941-24fa4b261c55
Kubernetes-commit: 2f78a9480f2f4eabb7698984371df25543312db4
2020-01-13 17:40:24 -05:00
Davanum Srinivas
94ec48afe9 Updating dependency google.golang.org/grpc to version v1.26.0
Kubernetes-commit: 3b29bcf52d3f6a73af9830cf55159893899c2b1b
2020-01-13 17:38:18 -05:00
Davanum Srinivas
81f50f67b6 Updating dependency github.com/gogo/protobuf to version v1.3.1
Kubernetes-commit: 9c78f05d06cb43dce4363cad03ff79f579c22eee
2020-01-13 17:36:07 -05:00
Kubernetes Publisher
1aa326d730 Merge pull request #87158 from dims/pick-closest-tags-for-a-few-packages
Pick closest tags for a few packages and avoid random SHA

Kubernetes-commit: 5d1c3016103d83df4ae91664639ba7e0a103c7ec
2020-01-16 03:40:04 +00:00
Davanum Srinivas
52a0e61d78 Updating dependency github.com/elazarl/goproxy to version 947c36d
Kubernetes-commit: a6d72ab71323b01846b37fe896bae3e0886a86ba
2020-01-13 12:33:25 -05:00
Kubernetes Publisher
ded4aaa1cc Merge pull request #86774 from MikeSpreitzer/more-informer-updates
Cleanup comments and names in client-go/tools/cache

Kubernetes-commit: 083f58a1e4684d207a7a4858e9a25c2e120bbc20
2020-01-15 03:39:18 +00:00
Kubernetes Publisher
7ec8a74ae9 Merge pull request #76496 from danielqsj/metrics-2
Clean deprecated metrics

Kubernetes-commit: f4db8212be53c69a27d893d6a4111422fbce8008
2020-01-14 07:39:02 +00:00
Kubernetes Publisher
bcaa73156d Merge pull request #87107 from dims/updating-googleapis/gnostic-to-v0.1.0
updating googleapis/gnostic to v0.1.0

Kubernetes-commit: d5145ffc10c7429f555134f44d5bf95cd7eda270
2020-01-13 23:38:57 +00:00
Markus Thömmes
d83cd18d3d Fix error-string-capitalization in clientset generator.
Kubernetes-commit: 14e0cac5e7a6b07c58e78b0daff48d098fdd2150
2020-01-13 11:17:05 +01:00
Davanum Srinivas
c5db9bb2f8 updating googleapis/gnostic to v0.1.0
per https://github.com/googleapis/gnostic/releases/tag/v0.1.0, the
v0.1.0 was made specifically for use by k8s, but we still seem to be
using a random SHA. Let's try to switch to a tagged version.

Kubernetes-commit: 420d5d10c4baad0aced31de382801fd999f2c94b
2020-01-11 22:38:36 -05:00
Kubernetes Publisher
ea0a6e1183 Merge pull request #85458 from cjcullen/yaml
Update gopkg.in/yaml.v2 to v2.2.7

Kubernetes-commit: 7f2128757b1aa2e83320d1f635fe8b2e7028542a
2020-01-11 15:38:38 +00:00
Mike Spreitzer
d01661091c Further tweaking up the wording
Hopfully improving, based on wojtek's review.

Kubernetes-commit: 59807be5abe6a96aad715823b7bab9fbd5d837bd
2020-01-10 16:05:41 -05:00
Kubernetes Publisher
8ead54f5cf Merge pull request #84453 from matte21/revise-shared-informer-doc
Revise SharedInformer godoc comments

Kubernetes-commit: cd770fa79226b716879aa5c6e7390ea315d6889a
2020-01-07 23:45:21 +00:00
Kubernetes Publisher
926e1ee119 Merge pull request #86727 from mattjmcnaughton/mattjmcnaughton/remove-recorder-PastEventf
Remove `recorder.PastEventf` method

Kubernetes-commit: f3df7a2fdb16dd7b00a9d357e337ed48a6f70d45
2020-01-07 15:38:46 +00:00
Mike Spreitzer
4aedce0891 gofmt reflector.go
Kubernetes-commit: 729337ec7e4251708b75f45ad40b7fa55ad14dd5
2020-01-07 08:56:31 -05:00
Mike Spreitzer
a1b3b98c4b Clarified comment on DeltaFIFO::Replace
Kubernetes-commit: ae53a008cb372f7301e302ee982269630e964b12
2020-01-07 02:40:01 -05:00
Mike Spreitzer
c68732b808 finished pass over comments on Controller, and commented sharedIndexInformer
Kubernetes-commit: f2a8e2d9c9cadc8a969efa1d4edef833ff701e2f
2020-01-07 02:23:29 -05:00
Mike Spreitzer
edca648925 A little more comment tweaking for cache.Controller
Kubernetes-commit: 7d82e23e6cd61af212e73f6fb77c2f74c1628a84
2020-01-06 16:11:26 -05:00
Mike Spreitzer
db5618cb1f began turning attention to cache.Controller
Kubernetes-commit: 72fa714d636dc2f614b251c78cd8297f7754b333
2020-01-06 15:59:11 -05:00
Mike Spreitzer
261b8a00e4 Reworded comment on requestedResyncPeriod
Tried to make it clearer.

Kubernetes-commit: 2ea338b63f2191d859ac68fbba74c93c1d7bc998
2020-01-06 13:10:39 -05:00
Mike Spreitzer
8454aaf1be Noted divergence between requestedResyncPeriod and resyncPeriod
Kubernetes-commit: eef49c965f471d575aef8de5f071ffc6fd31c44d
2020-01-06 01:56:52 -05:00
Mike Spreitzer
1f6e3b32af Started commenting processors
Kubernetes-commit: 5546d9f12f266a082805ad3a2293fe04e0029c78
2020-01-06 01:49:29 -05:00
Kubernetes Publisher
787fa2adce Merge pull request #86660 from qianlei90/fix_test
remove unnecessary code in client-go test

Kubernetes-commit: 65ef5dcc513ccfd60436bf4d04652224c9b6036f
2020-01-03 11:38:29 +00:00
Mike Spreitzer
2f9f325a3b Fix tests and improve comment on NewDeltaFIFO
Kubernetes-commit: 0eca8ae9cdbbbe0e5bf56f9931acdaa97cea91af
2020-01-03 01:01:05 -08:00
Mike Spreitzer
bad9a45b33 Fixed assignment statements
Kubernetes-commit: 1d65f1b5c3977362fb5a32b9cfe5b9930fabf16a
2020-01-03 00:47:19 -08:00
Mike Spreitzer
0421cde51b Revised comments about f.knownObjects and added tests for Replace
Kubernetes-commit: 89c615f9c448503b674a0d61bfa8e413cefa4104
2020-01-03 00:44:02 -08:00
Kubernetes Publisher
d726e8a89b Merge pull request #86790 from wojtek-t/dumb_listwatch
Don't paginate in listwatch

Kubernetes-commit: 1780792d3c3e952e62c872dd2c0dc7a3c2375e64
2020-01-03 03:38:29 +00:00
wojtekt
f229b70415 Don't paginate in listwatch
Kubernetes-commit: 51eb4b50a3a607ba15a215fdcaa50baea5777afb
2020-01-02 20:09:19 +01:00
Mike Spreitzer
c26559b124 Updated comments on internal abstractions in client-go/tools/cache
The comments on Store and Queue and the FIFOs ceased being accurate
long ago.

Kubernetes-commit: 7a7ccb797e0c977c8049c1490f5a1f92f0bfbbb2
2020-01-02 01:53:17 -08:00
matte21
7d44382a3c Reword modifications for clarity
Kubernetes-commit: 21f59c99232afeae05dcdb4f2d1d156cda6a8a77
2019-12-31 09:48:28 +01:00
mattjmcnaughton
3ada5c0eb8 Remove recorder.PastEventf method
The `recorder.PastEventf` method wasn't actually working as advertised.
It was supposed to accept a timestamp, which would be used when
generating the event. However, as the
[source code](https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/tools/record/event.go#L316)
shows, this `timestamp` was never actually used.

In other words, `PastEventf` is identical to `Eventf`.

We have two options: one would be to fix `PastEventf` so that it works
as advertised. The other would be to delete `PastEventf` and only
support `Eventf`.

Ultimately, I could only find one use of `PastEventf` in the code base,
so I propose we just delete `PastEventf` and convert all uses to
`Eventf`.

Kubernetes-commit: 92940fa80d67593c7a2333267da4424c8b45ac88
2019-12-30 11:55:47 -05:00
wojtekt
5534e24283 Avoid thundering herd on etcd on masters upgrade
Kubernetes-commit: 773d3583bcb7a2ac39c772a9861978d81db0df2f
2019-12-30 13:53:28 +01:00
Qian Lei
a28f39cdb5 clean useless code in client-go test
Kubernetes-commit: f5a3c93649cb90fc5082752f68ad9ca2489a4abe
2019-12-27 15:49:29 +08:00
Kubernetes Publisher
526b2fff52 Merge pull request #85123 from danielqsj/apierrs
Unify aliases for "k8s.io/apimachinery/pkg/api/errors"

Kubernetes-commit: 4158e7c1de2541d9a3272950f6e608e35470abb7
2019-12-26 17:59:38 -08:00
Casey Callendrello
b775e00fe5 informers: don't treat relist same as sync
Background:

Before this change, DeltaFIFO emits the Sync DeltaType on Resync() and
Replace(). Seperately, the SharedInformer will only pass that event
on to handlers that have a ResyncInterval and are due for Resync. This
can cause updates to be lost if an object changes as part of the Replace(),
as it may be incorrectly discarded if the handler does not want a Resync.

What this change does:

Creates a new DeltaType, Replaced, which is emitted by DeltaFIFO on
Replace(). For backwards compatability concerns, the old behavior of
always emitting Sync is preserved unless explicity overridden.

As a result, if an object changes (or is added) on Replace(), now all
SharedInformer handlers will get a correct Add() or Update()
notification.

One additional side-effect is that handlers which do not ever want
Resyncs will now see them for all objects that have not changed during
the Replace.

Kubernetes-commit: ca1eeb99b530a6d76b464dad545abc18d4508c49
2019-12-16 18:34:30 +01:00
Casey Callendrello
802190f49e client-go/cache/testing: add ability to simulate watch disruption
This adds ResetWatch() to the FakeControllerSource, which lets the
controller simulate a re-list-and-watch.

Kubernetes-commit: 5aacacbdf000cee2d0ec548ee4afe564f35c60bf
2019-12-06 22:19:42 +01:00
CJ Cullen
bdbda539e1 update gopkg.in/yaml.v2 to v2.2.7
Kubernetes-commit: aa278345fa55ee9f3e097da1b590fcabd85270f7
2019-11-19 09:39:27 -08:00
danielqsj
f67770132d unify alias of api errors under pkg and staging
Kubernetes-commit: 5bc0e26c1902e7e28abfc828de19a2dbb3e492c2
2019-11-12 16:26:59 +08:00
Kubernetes Publisher
1b1a35e41a Merge pull request #86346 from SataQiu/bump-utils-20191217
Bump k8s.io/utils version

Kubernetes-commit: 2d310b13215110a9dcaabcebef65d62a1b3f0bdd
2019-12-22 11:37:38 +00:00
SataQiu
572a228b29 bump k8s.io/utils version
Kubernetes-commit: 2497a1209bf96472bceabbc465b2370f1b66a4a7
2019-12-17 23:12:53 +08:00
Kubernetes Publisher
31f4619a27 Merge pull request #86013 from carlosedp/ginkgo_bump
Bump Ginkgo to support building on riscv64 arch

Kubernetes-commit: 4ff692861908697c530b6b8ba48a5eb442bd7ed7
2019-12-20 23:37:52 +00:00
Carlos de Paula
12aee9c4f0 Bump Ginkgo module to release version
Kubernetes-commit: c71dd7e4ee6b6f8f624ffc12fc38d1c6dedc5739
2019-12-19 19:30:42 -03:00
Carlos de Paula
f1b1e474f4 Bump Ginkgo to support building on riscv64 arch
Kubernetes-commit: ecfd30d2517c52f158b099abcc303cce307c324d
2019-12-06 15:23:15 -05:00
Kubernetes Publisher
d16537844a Merge pull request #86412 from weinong/issue-86410
fix incompatible AAD token

Kubernetes-commit: 3577447764103cc3204b66307d651ac2be0ec83f
2019-12-20 03:50:04 +00:00
Kubernetes Publisher
0b8da74160 Merge pull request #86395 from yutedz/nil-map-conversion
Allocate map when out parameter points to nil map

Kubernetes-commit: 8b7cf0fcdf89ec19cb17ba16efa556edc3db3838
2019-12-19 15:03:34 +00:00
Weinong Wang
b6e5d4b890 It fixes a bug where AAD token obtained by kubectl is incompatible with on-behalf-of flow and oidc.
Kubernetes-commit: d1480ab49d603d0a95e509b627252ee7af8559ae
2019-12-18 20:21:21 -08:00
Ted Yu
efe42e9182 Allocate map when out points to nil map
Kubernetes-commit: 53080bda9c95db33227b02b5b7df7e7737a2904e
2019-12-18 14:17:48 -08:00
Kubernetes Publisher
a32a6f7a30 Merge pull request #86269 from odinuge/go-mod-version
Update go version in go.mod to 1.13

Kubernetes-commit: b96642aeaeefee838b5f0938e5d04765dd27d39b
2019-12-14 19:00:45 +00:00
Odin Ugedal
f1dfb4fe82 Update go version in go.mod
We now use go 1.13 and not 1.12

Kubernetes-commit: 4769cbedd5bdaf61e329b4e9687ec97a6c53b61a
2019-12-14 12:43:14 +01:00
Kubernetes Publisher
16bcffe0e4 Merge pull request #86020 from enj/enj/i/oidc_cache/79546
kubectl oidc auth-provider: include cluster address in cache key

Kubernetes-commit: 9caece8bd9fab55c3300b4a4373c49afcc5f13f8
2019-12-12 07:04:25 +00:00
Kubernetes Publisher
d528d16a5d Merge pull request #86168 from liggitt/discovery-burst
Increase Burst limit for discovery client

Kubernetes-commit: 0d58709016f3358f34a52c12087d707a64cc6cb0
2019-12-11 15:38:32 -08:00
Jordan Liggitt
d4e85bc08a Increase Burst limit for discovery client
Kubernetes-commit: 711dc0b5b5e0d6d792e43ae1edd4a5dd1c5bdf2f
2019-12-11 11:36:51 -05:00
Kubernetes Publisher
a1d3d648d0 Merge pull request #85995 from nikhita/semver-tags-instructions
client-go: update INSTALL.md to include semver tags

Kubernetes-commit: 4f52ccaf39edcb1549920732368ce6298d281b94
2019-12-11 19:07:44 +00:00
Kubernetes Prow Robot
ba02bb8cc0 Merge pull request #721 from nikhita/readme-release-17-update
Update README for release 1.17
2019-12-11 06:56:06 -08:00
Nikhita Raghunath
1132e72f6c Update README for release 1.17 2019-12-11 19:54:19 +05:30
Kubernetes Publisher
b9197b961a Merge pull request #80649 from RobertKrawitz/report-throttling-v3
Report api request throttling at v=3

Kubernetes-commit: bbd48e99b2c19d999dfa25320f055a20deabbc38
2019-12-10 23:03:25 +00:00
Kubernetes Publisher
3922ef2909 Merge pull request #85899 from gongguan/slim_down_lister
slim down some lister expansions

Kubernetes-commit: fcc35b046860ab03851b53ff34a10f6ee0cdecf9
2019-12-09 16:15:27 +00:00
Kubernetes Publisher
238f979bb4 Merge pull request #85874 from sambdavidson/ttlFunc
Kubelet cert TTL via GaugeFunc

Kubernetes-commit: 398e2bcc734f04686ff89fdd9f5b47cf12cd525b
2019-12-09 16:15:26 +00:00
Monis Khan
98b61416aa kubectl oidc auth-provider: include cluster address in cache key
This change includes the cluster address in the cache key so that
using the same issuer and client ID with different tokens across
multiple clusters does not result in the wrong token being used for
authentication.

Signed-off-by: Monis Khan <mok@vmware.com>

Kubernetes-commit: 96fe76a9ed4fde16f449995cc698dca3719ed546
2019-12-06 20:26:25 -05:00
Nikhita Raghunath
7624422635 client-go: update INSTALL.md to include semver tags
Kubernetes-commit: ca36822f1e7ae718853e2dcd4013cc4e5ab27774
2019-12-06 15:53:00 +05:30
Kubernetes Publisher
bc9b51d240 Merge pull request #84614 from rphillips/fixes/add_cert_rotation_failure_metric
kubelet: add certificate rotation error metric

Kubernetes-commit: 205570eb75b52bc0888309c71757314bd099b3d7
2019-12-04 08:25:20 +00:00
Kubernetes Publisher
e9644b2e3e Merge pull request #85350 from liggitt/mutation-detection
Enable mutation detection in test-cmd/test-integration/test-e2e-node, improve memory impact

Kubernetes-commit: ea385aa5e9ceb823363a1592cbbaffe677f76443
2019-12-04 08:25:19 +00:00
Samuel Davidson
41735bf478 Changed Kubelet client and serving cert TTL/Expiry certs to use gaugefunc for calculating time remaining.
Kubernetes-commit: aba0b315269dab469694af7fca879438a7f87e41
2019-12-03 16:01:56 -08:00
louisgong
318a83db09 slim down some lister expansions
Kubernetes-commit: 7f5076d8ee29fbd82baace9426b3e4f9c1cdede1
2019-12-03 15:00:34 +08:00
Jordan Liggitt
f8772cd39b Retain objects for a limited lifetime in the mutation cache detector by default
Kubernetes-commit: 81d05e91b5b5e653e20cc6ab620de08abfd0cbc2
2019-11-15 13:59:58 -05:00
coryrc
8c19b9f4a6 Clarify client-go issue location (#85464)
* Clarify client-go issue location

While pull requests should be in kubernetes/kubernetes, it seems issues are
tracked in client-go repo.

* All Issues along with PRs (except README.md) should be opened in kubernetes/kubernetes

Kubernetes-commit: bc53b97ceb25338570a853845c4cdd295468ed61
2019-12-04 08:25:17 +00:00
Kubernetes Prow Robot
6894652660 Merge pull request #719 from nikhita/fix-contributingmd-to-remove-conflict
Fix CONTRIBUTING.md to avoid conflicts while publishing
2019-12-03 23:56:56 -08:00
Nikhita Raghunath
0e1c000cb7 Fix CONTRIBUTING.md to avoid conflicts while publishing
Comparing the history of:

- the CONTRIBUTING.md file in k/client-go: https://github.com/kubernetes/client-go/commits/master/CONTRIBUTING.md and
- the CONTRIBUTING.md file in staging: https://github.com/kubernetes/kubernetes/commits/master/staging/src/k8s.io/client-go/CONTRIBUTING.md

We see that the one in staging diverged from the one being published,
_even though commits were being published the bot_. The divergence occurs
because the one in staging lacks the following commit:
12a6e5ed0a (diff-6a3371457528722a734f3c51d9238c13).

This occurred because we merged a PR to k/client-go directly
(https://github.com/kubernetes/client-go/pull/421) long ago, which
instead should have been routed through staging.

The commits that were created through staging after the above PR was
merged were still being published by the bot because they didn't
introduce conflicts (and we never found out about it since no conflicts
were detected).

Recently, a PR (https://github.com/kubernetes/kubernetes/pull/85464)
introduced changes that touched the line changed by the
offending/divergent commit. When these changes were cherry-picked to the
master branch to be published, the bot complained with conflicts.

This PR brings the CONTRIBUTING.md file to a state
(36065c6dd7/staging/src/k8s.io/client-go/CONTRIBUTING.md)
before the new PR (https://github.com/kubernetes/kubernetes/pull/85464),
so that cherry-picking the changes in this PR to the master branch won't
introduce conflicts anymore.
2019-12-04 13:06:05 +05:30
Kubernetes Publisher
8d0e6f1b7b Merge pull request #75368 from mfojtik/retry-on-errors
rest: retry on connection refused and apiserver shutdown

Kubernetes-commit: 6666177f8242170d004664a6298bdd9587456602
2019-11-23 05:58:20 +00:00
Kubernetes Publisher
c4788cee6e Merge pull request #85401 from liggitt/config-quote
Test writing configurations with numeric names

Kubernetes-commit: 060d58ca8c8ebe786073f8b45c0dbd8d652d9969
2019-11-23 01:59:43 +00:00
Samuel Davidson
775f4ddf38 Added rest client metrics for client TTL and rot. (#84382)
* Added rest client metrics for client TTL and rot.

* Fixed foo bar comment, added nil checks

* Moved rotation observation inside of old cert nil check block

* Fixed rotation age logic.

* fixed BUILD for exec plugin package

* fixed null pointer dereference in exec.go

* Updated metric name, bucket, used oldest cert.

Kubernetes-commit: 9dcb3bfcff2024e4690d70262cad14668b1f2507
2019-11-22 17:29:30 -08:00
Kubernetes Publisher
571c0ef670 Merge pull request #85223 from sttts/sttts-crd-items-types
apiextensions: fix items+type logic in API due to broken go-openapi validation

Kubernetes-commit: 976712556e4bd22d5312a0af36b18127c709d54a
2019-11-21 01:58:35 +00:00
Michal Fojtik
7c85ddb6ae client-go: add connection refused to list of transient errors
Kubernetes-commit: 9aa68a5cf4b4195e5dfa9749380bc8d29be03522
2019-11-20 17:30:05 +01:00
Jordan Liggitt
a2a1463427 Test writing configurations with numeric names
Kubernetes-commit: 1f2feb2e7ec307fafa615e001ccb9bbac7d273db
2019-11-17 14:36:52 -05:00
Dr. Stefan Schimanski
145c0413a4 hack/pin-dependency.sh github.com/go-openapi/validate v0.19.5
Kubernetes-commit: ef88c43c0296e6004d0e3407a1336074897b309d
2019-11-15 13:48:59 +01:00
Kubernetes Publisher
0a8a1d7b7f Merge pull request #85305 from codenrhoden/remove-mount-pkg
Remove pkg/util/mount (moved out of tree)

Kubernetes-commit: 45e0080fd5883e3355233c9c22fa5bf242d525dd
2019-11-15 21:58:02 +00:00
Kubernetes Publisher
debe729c79 Merge pull request #85284 from yutedz/svr-check-close-ret
Check error return from closing connection

Kubernetes-commit: e3eeb7e2f000b3d51e856a1862a4fef249b6708c
2019-11-15 21:58:01 +00:00
Kubernetes Publisher
050872ffe7 Merge pull request #85272 from mm4tt/pager_fix
pager.go: don't set ResourceVersion on subsequent List calls

Kubernetes-commit: 452c8c9ad303933123ad1f0b208bc935315e8a67
2019-11-15 13:58:07 +00:00
Kubernetes Publisher
6f03b71b98 Merge pull request #85175 from liggitt/golang-org-comments
Add comments to explain golang.org replace directives

Kubernetes-commit: 24334444b46371e26594e1f6e594195a761b53d3
2019-11-14 22:01:10 +00:00
Travis Rhoden
af446e4f13 Remove pkg/util/mount (moved out of tree)
This patch removes pkg/util/mount completely, and replaces it with the
mount package now located at k8s.io/utils/mount. The code found at
k8s.io/utils/mount was moved there from pkg/util/mount, so the code is
identical, just no longer in-tree to k/k.

Kubernetes-commit: 0c5c3d8bb97d18a2a25977e92b3f7a49074c2ecb
2019-11-14 13:30:00 -07:00
Ted Yu
a4893d5271 Check error return from closing connection
Kubernetes-commit: 7bafa7d8f54326b69d41c92793eaa641d3a5b31b
2019-11-14 07:36:30 -08:00
Mateusz Matejczyk
d7b4c23325 pager.go: Don't set ResourveVersion on subsequent List calls
Ref. https://github.com/kubernetes/kubernetes/issues/85221#issuecomment-553748143

Kubernetes-commit: 977ca43d640d2a85e199a8a282e2df8ebd88055a
2019-11-14 11:34:59 +01:00
Kubernetes Publisher
1924198484 Merge pull request #84390 from robscott/endpointslice-beta
Promoting EndpointSlices to beta

Kubernetes-commit: 64f4be5b328a4df8a709b95604743086013a70e4
2019-11-14 10:07:05 +00:00
Kubernetes Publisher
1f4f5fa64a Merge pull request #85004 from deads2k/dynamic-agg-cert
dynamic reload cluster authentication info for aggregated API servers

Kubernetes-commit: 02af1dd62c4842e20e2ee7337edf032327b1c8ed
2019-11-14 10:07:03 +00:00
Kubernetes Publisher
74d7a2e0eb Merge pull request #85134 from LukeShu/lukeshu/event-docs-non-api
client-go/tools: Docs: Clarify what's "old" core/v1 and what's "new" events/v1beta1

Kubernetes-commit: 760af28f69a7cf7090abeca59e1e0703d161ace8
2019-11-14 10:07:00 +00:00
Kubernetes Publisher
5971a24b40 Merge pull request #84970 from atlassian/pdzwart/kubernetes/kubernetes/84959
- Delete backing string set from a threadSafeMap index when the string set length reaches 0.

Kubernetes-commit: 41be6d65d88728f443966da83b62d545684576ab
2019-11-14 10:06:59 +00:00
Jordan Liggitt
d3ab799453 Add comments to explain golang.org replace directives
Kubernetes-commit: 9f40e19d7ac9e2203c23814701468a26eee1964f
2019-11-12 23:54:26 -05:00
Luke Shumaker
f5d68cde58 client-go/tools: Docs: Clarify what's "old" core/v1 and what's "new" events/v1beta1
Kubernetes-commit: 2c4bb0fa4db88462a61995d9179fad801b00d69d
2019-11-12 08:30:24 -05:00
Kubernetes Publisher
dac3b9c76a Merge pull request #80284 from danielqsj/exec
Fix a racing issue in client-go UpdateTransportConfig

Kubernetes-commit: 48ddf3be87789c92e6824c9ce536c76d008f5c19
2019-11-12 10:08:11 +00:00
Kubernetes Publisher
a56922bade Merge pull request #84692 from smarterclayton/protocol_errors
Fix watch negotiation when using a non-default mime type in the client

Kubernetes-commit: c28921f248a8e6c923096154c6e87efcc188b9f0
2019-11-11 06:10:43 +00:00
Clayton Coleman
9bbcc2938d Always negotiate a decoder using ClientNegotiator
This commit performs two refactors and fixes a bug.

Refactor 1 changes the signature of Request to take a RESTClient, which
removes the extra copy of everything on RESTClient from Request. A pair
of optional constructors are added for testing. The major functional
change is that Request no longer has the shim HTTPClient interface and
so some test cases change slightly because we are now going through
http.Client code paths instead of direct to our test stubs.

Refactor 2 changes the signature of RESTClient to take a
ClientContentConfig instead of ContentConfig - the primary difference
being that ClientContentConfig uses ClientNegotiator instead of
NegotiatedSerializer and the old Serializers type. We also collapse
some redundancies (like the rate limiter can be created outside the
constructor).

The bug fix is to negotiate the streaming content type on a Watch()
like we do for requests. We stop caching the decoder and simply
resolve it on the request. We also clean up the dynamic client
and remove the extra WatchSpecificVersions() method by providing
a properly wrapped dynamic client.

Kubernetes-commit: 3b780c64b89606f4e6b21f48fb9c305d5998b9e5
2019-11-10 16:52:08 -05:00
Pete de Zwart
ab63be7642 - Delete backing string set from a threadSafeMap index when the string set length reaches 0.
- Added thread_safe_store_test exercising new index backing string set delete at 0 functionality.

- TestThreadSafeStoreDeleteRemovesEmptySetsFromIndex logic nesting inverted.

- Added test case for usage of an index where post element delete there is non-zero count of elements and expect the set to still exist.

- Fixed date.

- Fixed awprice nits.

- Fix bazel.

Kubernetes-commit: 29a051388a719e0359969b8431de8e38e955e2a6
2019-11-08 16:57:06 +11:00
Ryan Phillips
52589237eb kubelet: add certificate rotation error metric
Kubernetes-commit: 8e50c55e6bf715d9067376a9e7f136ffacb0a3ee
2019-11-05 16:51:40 -06:00
David Eads
7a5b91a7ca dynamic reload cluster authentication info for aggregated API servers
Kubernetes-commit: 3aede35b3b042e8a626e8fb9e1e181e73cd29d0a
2019-11-04 13:46:28 -05:00
David Eads
4bda71482c create utilities inspecting server TLS certs
Kubernetes-commit: e44352f31a8d506d77d2757dbb354fd539826c92
2019-11-12 10:10:26 -05:00
Clayton Coleman
881cd219a8 dynamic: The dynamic client no longer needs a special cased watch
By correctly handling content type negotiation, we can avoid the
need for a special version of watch and use the same code path as
typed clients.

Kubernetes-commit: 3f94f80b0a79293e54d7080aaf7a64d7df8b1d4a
2019-11-03 15:10:12 -05:00
matte21
ce6197e865 Fix error in periodic resyncs description
Make it clear that periodic resyncs fire update notifications, not
create notifications as the old comments incorrectly stated.

Kubernetes-commit: 3ae8c864de24a2ad42321c9cbd71099a2b6dcef3
2019-10-28 14:23:37 +01:00
matte21
85843e6e02 Clarify that OnUpdate can mask delete and recreate
Kubernetes-commit: ff543ddfc09adf3d0abdf42f9d9fbd57c3ab4b43
2019-10-28 14:12:22 +01:00
Rob Scott
370c449f1e Promoting EndpointSlices to beta
Kubernetes-commit: a7e589a8c689d1a6c0c21d47c5e6c97267822875
2019-10-25 14:59:10 -07:00
Suresh Kumar Ponnusamy
292400c132 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
Robert Krawitz
c02e303b36 Report api request throttling at v=3
Kubernetes-commit: e7cc2c2d280f319b78462a37d32c5c7f1e6e5567
2019-07-26 12:59:34 -04:00
danielqsj
0dd469e42b Fix data race in client-go UpdateTransportConfig
Kubernetes-commit: 7518a44b18d8b225a9572f1e0c902776eb4a6eb0
2019-07-18 12:46:03 +08:00
Jack Kleeman
f4cd5ff32d Add ReloadCertFromDisk flag to rest.Config and to kubeconfig which allows the provided client certificate files to be reloaded from disk (currently on every use)
Close outbound connections when using a cert callback and certificates rotate. This means that we won't get into a situation where we have open TLS connections using expires certs, which would get unauthorized errors at the apiserver

Attempt to retrieve a new certificate if open connections near expiry, to prevent the case where the cert expires but we haven't yet opened a new TLS connection and so GetClientCertificate hasn't been called.

Move certificate rotation logic to a separate function

Rely on generic transport approach to handle closing TLS client connections in exec plugin; no need to use a custom dialer as this is now the default behaviour of the transport when faced with a cert callback. As a result of handling this case, it is now safe to apply the transport approach even in cases where there is a custom Dialer (this will not affect kubelet connrotation behaviour, because that uses a custom transport, not just a dialer).

Check expiry of the full TLS certificate chain that will be presented, not only the leaf. Only do this check when the certificate actually rotates. Start the certificate as a zero value, not nil, so that we don't see a rotation when there is in fact no client certificate

Drain the timer when we first initialize it, to prevent immediate rotation. Additionally, calling Stop() on the timer isn't necessary.

Don't close connections on the first 'rotation'

Remove RotateCertFromDisk and RotateClientCertFromDisk flags.

Instead simply default to rotating certificates from disk whenever files are exclusively provided.

Add integration test for client certificate rotation

Simplify logic; rotate every 5 mins

Instead of trying to be clever and checking for rotation just before an
expiry, let's match the logic of the new apiserver cert rotation logic
as much as possible. We write a controller that checks for rotation
every 5 mins. We also check on every new connection.

Respond to review

Fix kubelet certificate rotation logic

The kubelet rotation logic seems to be broken because it expects its
cert files to end up as cert data whereas in fact they end up as a
callback. We should just call the tlsConfig GetCertificate callback
as this obtains a current cert even in cases where a static cert is
provided, and check that for validity.

Later on we can refactor all of the kubelet logic so that all it does is
write files to disk, and the cert rotation work does the rest.

Only read certificates once a second at most

Respond to review

1) Don't blat the cert file names
2) Make it more obvious where we have a neverstop
3) Naming
4) Verbosity

Avoid cache busting

Use filenames as cache keys when rotation is enabled, and add the
rotation later in the creation of the transport.

Caller should start the rotating dialer

Add continuous request rotation test

Rebase: use context in List/Watch

Swap goroutine around

Retry GETs on net.IsProbableEOF

Refactor certRotatingDialer

For simplicity, don't affect cert callbacks

To reduce change surface, lets not try to handle the case of a changing
GetCert callback in this PR. Reverting this commit should be sufficient
to handle that case in a later PR.

This PR will focus only on rotating certificate and key files.
Therefore, we don't need to modify the exec auth plugin.

Fix copyright year

Kubernetes-commit: 929b1559a0b855d996257ab3ad5364605edc253d
2019-06-14 22:08:58 +01:00
danielqsj
51f3d77844 clean SinceInMicroseconds, convert to SinceInSeconds
Kubernetes-commit: ab182552b485ceed96c3b05d284ae9480377daf8
2019-04-15 16:18:01 +08:00
Clayton Coleman
4b146a95cd Remove deprecated-dynamic client
It is now unused.

Kubernetes-commit: c416ee584c178bb89c6cd11c93b504f2098fac0f
2019-02-12 00:31:54 -05:00
Kubernetes Publisher
3c0d1af94b Merge pull request #83840 from liggitt/json-iter
bump json-iterator dependency

Kubernetes-commit: 3387d6cfc73235fd554e5039b85abb7700eaf126
2019-11-09 10:22:09 +00:00
Kubernetes Publisher
f8f007fd45 Merge pull request #84911 from yue9944882/chore/bump-kube-openapi
Pin kube-openapi vendor to 30be4d16710a

Kubernetes-commit: dd6faa5da791c06fa23ff668e4463c3ad2b23340
2019-11-08 07:01:06 +00:00
Kubernetes Publisher
e55a71a3e0 Merge pull request #82705 from deads2k/agg-authn-publish
use controller to publish cluster authentication info

Kubernetes-commit: a5fe905be420d518892e8e8b682902deef82d1c6
2019-11-07 19:01:07 +00:00
yue9944882
656c97889d update k8s.io/kube-openapi to 30be4d16710a
Kubernetes-commit: 8e7606f32898b294fc25152ff8bd34f62d6221d3
2019-11-07 18:39:08 +08:00
Kubernetes Publisher
a537b3b527 Merge pull request #83520 from jpbetz/reflector-relist-rv
Avoid going back in time in Reflector relist (revived)

Kubernetes-commit: 8ed2f4775a0d2b13c4be790cdfc1f34bc8b6522b
2019-11-07 03:03:46 +00:00
Kubernetes Publisher
6f1579c35d Merge pull request #82809 from liggitt/go-1.13-no-modules
update to use go1.13.4

Kubernetes-commit: 695c3061dd92a6b6950f8adf0341ceb4a8dd44d7
2019-11-07 03:03:44 +00:00
Jordan Liggitt
d4d115c905 hack/update-vendor.sh
Kubernetes-commit: 297570e06a88db23e16dbdbf6ce3173fe0ae376c
2019-11-05 14:11:10 -05:00
Kubernetes Publisher
a57d0056db Merge pull request #84807 from clarklee92/ModifyTheStatusCode
Modify the status code number to HTTP status semantics

Kubernetes-commit: 43b102a83cc1d2b97a6a59f1c14967a840df2c35
2019-11-06 23:00:57 +00:00
Kubernetes Publisher
d7ea50d263 Merge pull request #84801 from mikedanese/lebug
Fix panic on configmap and lease lock implementations

Kubernetes-commit: 17d99dfbbee90b1889427874589423e4836d7108
2019-11-06 07:00:52 +00:00
Kubernetes Publisher
d063930b33 Merge pull request #84139 from sshukun/fix-typo
Fix typo in k8s.io/client-go/tools/cache/index.go

Kubernetes-commit: d297780ff6e95308bbf8b0db5ab415825014859f
2019-11-06 07:00:50 +00:00
clarklee92
d3a5e5f798 Modify the status code number to HTTP status semantics
Signed-off-by: clarklee92 <clarklee1992@hotmail.com>

Kubernetes-commit: f86f5ee14ef3c8adf9855ce16dcc57beca949719
2019-11-06 00:45:35 +08:00
Kubernetes Publisher
52092c3c67 Merge pull request #83474 from msau42/topology-ga
CSI Topology ga

Kubernetes-commit: 1d1385af915098abd8bd23ab397ee0aeaa244f1e
2019-11-05 03:03:21 +00:00
Kubernetes Publisher
a7c4a955b2 Merge pull request #84534 from sambdavidson/serverRotMetric
Add a kubelet serving cert age metric

Kubernetes-commit: 0ed66351739608660fef27de55d8e0dff6570f28
2019-11-04 19:01:07 +00:00
Mike Danese
d46fe40533 also fix nil panic in lease and add tests for #84729
Kubernetes-commit: 7907b29551c7ef87bbe398ac02836b4c87246d3d
2019-11-04 10:40:48 -08:00
Ted Yu
93a8bb4af0 Prevent panic due to Annotations being nil map
Kubernetes-commit: c5792784e1ae689cb4c949b9c556ee1e4896064a
2019-11-04 10:04:31 -08:00
Kubernetes Publisher
890ae18798 Merge pull request #83671 from yue9944882/flow-control-api-model
Apiserver flowcontrol api models

Kubernetes-commit: 510fb38f275bdfbd61b2ceba5162209e88cf9634
2019-11-02 07:00:40 +00:00
Kubernetes Publisher
e9766ae820 Merge pull request #84604 from codenrhoden/update-utils-dep
Update k8s.io/utils dependency to latest

Kubernetes-commit: 97e28edb6620568d985f3b03b495a0a373aa8750
2019-11-01 23:00:44 +00:00
Kubernetes Publisher
940f075619 Merge pull request #84503 from wojtek-t/remove_conversion_funcs_2
Cleanup clientcmd api conversions

Kubernetes-commit: 07023f2a7f050fb6df5a552289bf3e7165eba94c
2019-11-01 19:03:46 +00:00
Travis Rhoden
ecaa2792f4 Update k8s.io/utils dependency to latest
Kubernetes-commit: 81f66ecbb5ff359ac765c7f332289dd8c1737c39
2019-10-31 08:35:01 -06:00
wojtekt
6ec083fb70 Autogenerated
Kubernetes-commit: c7916ca081682aaf07b3476f4facdb9695ddf498
2019-10-29 09:43:45 +01:00
wojtekt
62f256057d tags
Kubernetes-commit: 4096a0aa48ce83a7ac9dd791930f13fc9587f55c
2019-10-30 08:18:36 +01:00
wojtekt
cc78c193ee Cleanup clientcmd conversion
Kubernetes-commit: 328295c635449746ca83ac0fb2c9217491d59600
2019-10-29 09:30:27 +01:00
Kubernetes Publisher
1a481fb1e3 Merge pull request #83692 from yastij/fix-events-scheduler
add a fallback for kube-scheduler  when events.k8s.io is disabled

Kubernetes-commit: 486e2380bd2847f1af7f3c1d0c7b01e7e688415e
2019-10-28 23:03:19 +00:00
Samuel Davidson
7bd7ed8621 Added rotation metric to certificate manager
Kubernetes-commit: 7adb18120079016ed8aea1bd40e5cde161827a1d
2019-10-28 14:09:40 -07:00
Kubernetes Publisher
0bdba2f918 Merge pull request #84288 from wojtek-t/cleanup_conversions_registrations
Cleanup conversions registrations

Kubernetes-commit: d379ab2697251334774b7bd6f41b26cf39de470d
2019-10-26 06:59:34 +00:00
Kubernetes Publisher
f79cf5fbef Merge pull request #82794 from ingvagabund/fake-clientset-enforce-exact-much-for-get
Require exact match when calling Get method within fake clientset

Kubernetes-commit: cbf1e2d360698795e80bd4b80287149290f5919a
2019-10-25 22:59:29 +00:00
Kubernetes Publisher
af0e486466 Merge pull request #83987 from wenjiaswe/etcd_client_3_4_2
Update etcd client to v3.4.3 in k8s v1.17

Kubernetes-commit: 09f453ff8322979ed5a7611bc2e5528506c1fc7f
2019-10-25 22:59:28 +00:00
wojtekt
6663414a1f Autogenerated code
Kubernetes-commit: 7b6bcdf780b778af3df5c133686ccb18d8c38fa0
2019-10-24 14:09:51 +02:00
wojtekt
ac8adc6f4c Cleanup explicitly registered functions
Kubernetes-commit: d7011f1bdbee285cdfc9bdb0f5b0716f4e02adfd
2019-10-24 13:18:31 +02:00
Wenjia Zhang
6c8f3ca2c6 Pin dependencies and update vendors
Kubernetes-commit: 660b17d0aeda96af94defd4c5110d9fef523d52b
2019-10-23 13:37:36 -07:00
Kubernetes Publisher
464ec5ba04 Merge pull request #82365 from jkaniuk/pod-gc
Pod GC controller - use node lister

Kubernetes-commit: 2c4cba8aa0fb6db7dbf7ba1c8cb57f1245eb409c
2019-10-24 10:59:28 +00:00
Jacek Kaniuk
d81654af9d pkg/util/workqueue/delaying_queue: export contructor with custom clock
Kubernetes-commit: 638c02f6cdb4e269f46b60fe1f91e553cfc59749
2019-10-23 16:07:38 +02:00
yue9944882
808ced1183 [generated] ./hack/update-all.sh
generated

generated

generated

rule

generated

generated

Kubernetes-commit: 6db3edff108c568a20688e575be4164768836cd7
2019-10-23 15:17:55 +08:00
Kubernetes Publisher
d1b30110f1 Merge pull request #83857 from mrbobbytables/update-client-go-owners
Prune inactive owners from staging/src/k8s.io/client-go/* OWNERS files.

Kubernetes-commit: 9c70e39b204e42bbea0b4cf744595a5af3006f70
2019-10-23 06:59:29 +00:00
sshukun
cd92d91e0f Fix typo in k8s.io/client-go/tools/cache/index.go
Kubernetes-commit: a0d3e6750ecbc67d017c2c67d0ff6f12e1b0c1f1
2019-10-21 13:30:45 +09:00
Michelle Au
69cd73bcf4 generated files
Kubernetes-commit: 9268d4053928488ea58829484bd59537b89da205
2019-10-18 18:09:02 -07:00
Kubernetes Publisher
14c42cd304 Merge pull request #83945 from barkbay/fix-83895
Fix memory and timer leak in work queue

Kubernetes-commit: cd7a0ee8eba749551366c082c15e54aed407d101
2019-10-16 23:02:10 +00:00
Kubernetes Publisher
57ffd16d28 Merge pull request #83911 from matte21/fix-shared-index-informer-notification-miss
Fix DeltaFIFO Replace method to prevent SharedIndexInformers from missing notifications

Kubernetes-commit: 634bddddf271868ed8c0a9fbd853d62e0c0446bb
2019-10-16 23:02:09 +00:00
Michael Morello
8a1fbdc8bb Fix memory and timer leak in work queue
Kubernetes-commit: f9c3d246d32cd440a8ea5ea40f02b6a9bfe4b485
2019-10-15 10:06:06 +02:00
matte21
cc50c9b333 Remove check causing informers to miss notifications
Fix DeltaFIFO bug that caused the sync delta created by a relist
for object ID X to be dropped if the DeltaFIFO already stored a
Delete delta for X. This caused SharedIndexInformer to miss create
notifications. Also, add unit test to expose the bug.

Kubernetes-commit: 9e4be54895e8c0655408b4766cd78de17b6d5b7c
2019-10-14 18:19:05 +02:00
Kubernetes Publisher
bd505ee787 Merge pull request #83785 from yastij/bump-utils-rangesize
bump k8s.io/utils to pickup bug fix for rangesize func

Kubernetes-commit: 677903edc6cfe1fb045a55b0734ee05ce8c3d03c
2019-10-14 07:06:54 +00:00
Bob Killen
dc265f33cf Prune inactive owners from staging/src/k8s.io/client-go/* OWNERS files.
Kubernetes-commit: 3dc01f32eacb4791b248c22f7db9d6dabbec7869
2019-10-12 19:44:19 -04:00
Jordan Liggitt
5c806db031 bump github.com/json-iterator/go v1.1.8
Kubernetes-commit: e323279ab94e2434fa610a476ad6d7630228be0e
2019-10-12 10:10:03 -04:00
Yassine TIJANI
5462db5944 bump k8s.io/utils to pickup bug fix for rangesize
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: 5d49cbd3cae68d7aafdeac7f2ca08208118f09ad
2019-10-11 16:45:21 +02:00
Mengjiang Bao
c51c673cf8 chore(*): update election example (#82821)
* feat(*): simplify leader election example

* chore(*): fix with comment

* chore(*): add os.exit

* chore(*): fix typo

Kubernetes-commit: 1185012da65edf802f22aff24141c0466a2a3ac8
2019-10-14 07:06:53 +00:00
Kubernetes Publisher
172b42569c Merge pull request #82652 from ricardomaraschini/request-construction-error
Clean up dynamic client pre-flight check

Kubernetes-commit: 5ae180cb53c0c63bdba72cb94f8356357f94c28c
2019-10-10 20:00:49 +00:00
Kubernetes Publisher
e318746e79 Merge pull request #83615 from yutedz/evt-receiver-name
Use consistent short name for receivers

Kubernetes-commit: 9b200ae4c3a4585edd43a2111a45e57024083ed9
2019-10-09 23:58:30 +00:00
Joe Betz
a3f022a93c Add HTTP 410 (Gone) status code checks to reflector and relist with RV=''
Kubernetes-commit: e2fe126d485af243d45f06bafd2ca83931881429
2019-10-09 16:45:32 -07:00
Yassine TIJANI
6cdcb13531 add a fallback for kube-scheduler when events.k8s.io is disabled
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: f970b3413779ef817d2a374847bc0a4cb733a9a0
2019-10-09 20:14:29 +02:00
Ted Yu
9be50f2e07 Use consistent short name for receivers
Kubernetes-commit: 21b11c2b6434f949299f85a12c535bfd169c2cf3
2019-10-08 09:08:52 -07:00
Kubernetes Publisher
1210218b4a Merge pull request #83489 from yutedz/brocaster-shutdown
Expose Shutdown func for EventBroadcaster

Kubernetes-commit: 0a9ef994eb40ac0c9bb51ee87b0d494f0bc5393a
2019-10-08 11:58:22 +00:00
Ted Yu
c4ea3eed4f Expose Shutdown func for EventBroadcaster
Kubernetes-commit: 57d43e4946f352f075b219b0a2f35942b06cfeb9
2019-10-07 08:58:38 -07:00
Kubernetes Publisher
911ef75fbc Merge pull request #83106 from jfbai/cleanup-v1-event-expansion
refactor: v1 event expansion.

Kubernetes-commit: 2dc5add8b15bbad5de1d721a1967328a7ad5c369
2019-10-07 15:58:14 +00:00
Kubernetes Publisher
c918cd02a1 Merge pull request #83547 from liggitt/override-ca-file
Overriding CA file should override skip TLS and CA data

Kubernetes-commit: 70d453d32df254ef0c3420804c6487a2ba55a5e0
2019-10-06 23:58:18 +00:00
Jordan Liggitt
24302e441b Overriding CA file should override skip TLS and CA data
Kubernetes-commit: 857572168e79430af2dbf05e9d4705dfb3f0d99b
2019-10-06 13:40:21 -04:00
Jianfei Bai
95b72f7306 cleanup v1 event expansion.
Kubernetes-commit: 89b7c63b5d19001c1ea0541ece0d22407aaeb304
2019-10-06 10:10:57 +08:00
Kubernetes Publisher
b1fd789501 Merge pull request #82176 from pohly/ginkgo-stack-fix
Ginkgo update + stack fix

Kubernetes-commit: b140b431073ae4d84ce9ef5e01a1f27058178ead
2019-10-05 11:58:21 +00:00
Joe Betz
54033229aa Handle expired errors with RV>0 in pager, don't full list if 1st page is expired
Kubernetes-commit: 1f3dc14eea231c90819cbba06f25cb4221236b3f
2019-10-04 17:08:22 -07:00
Kubernetes Publisher
ec28f1ce46 Merge pull request #82371 from deads2k/cert-reload-delegated
add ability to authenticators for dynamic update of certs for delegated authn

Kubernetes-commit: 7ac65858bb9fdf41bb0cf3b257a4943ea8457ed6
2019-10-04 15:58:30 +00:00
Kubernetes Publisher
a746c2f219 Merge pull request #83261 from liggitt/yaml-limits
limit yaml/json decode size

Kubernetes-commit: 4afcba42bed2bb7c36e5209a90d87343f32a0efa
2019-10-03 03:58:59 +00:00
Jordan Liggitt
9c30dbec4d bump gopkg.in/yaml.v2 v2.2.4
Kubernetes-commit: 8aeffa8716dcf986544df74444264ef639d61a7a
2019-10-02 14:46:08 -04:00
Kubernetes Publisher
0ebb3d5f49 Merge pull request #81914 from wojtek-t/cache_serializations_across_watchers
Cache serializations across watchers

Kubernetes-commit: 7878160a9747c0c2d4f2cc16a7401407253d578b
2019-10-01 19:58:19 +00:00
Patrick Ohly
1289614f84 vendor: update gomega to v1.7.0
Updated to keep both Ginkgo and Gomega at the latest releases.

Kubernetes-commit: 27b9a9c2381fab195f2db1bc709e46d0b83fc729
2019-10-01 20:25:05 +02:00
Kubernetes Publisher
ad4f099992 Merge pull request #83071 from chendotjs/bytes-equal
replace bytes.Compare() with bytes.Equal()

Kubernetes-commit: cd95e57c71a194a80064b00a44e42a222003dac8
2019-09-27 20:00:09 +00:00
chenyaqi01
3eb165927d replace bytes.Compare() with bytes.Equal()
Kubernetes-commit: 66be69bb0e7fd147be650385d272ae14ee2857c8
2019-09-27 10:06:50 +08:00
Kubernetes Publisher
95884bf844 Merge pull request #82764 from yaron2/authimportfix
fix auth import statement in client-go

Kubernetes-commit: 5c57ce3058b184dca0fb0379f698bd835336d674
2019-09-26 23:57:51 +00:00
Kubernetes Publisher
1db9859ae8 Merge pull request #81030 from ricky1993/leader_election_migrate
migrate leader election to lease API

Kubernetes-commit: d14943b0fbc311250cd56e7227bc443fb364540d
2019-09-26 15:57:47 +00:00
Kubernetes Publisher
07054768d9 Merge pull request #83113 from yastij/bump-utils
bump k8s.io/utils to pickup ipallocator changes

Kubernetes-commit: 28bcf55accc52dfd4fde5f603a5784c40c485528
2019-09-25 23:57:46 +00:00
Kubernetes Publisher
6ff1103255 Merge pull request #82932 from ashish-billore/mybranch2
Corrected the pod reporting and messages

Kubernetes-commit: 08f46e425baa9e479f0d940b1901ace5a7f5a90a
2019-09-25 19:57:56 +00:00
Kubernetes Publisher
61aeaa97a2 Merge pull request #82388 from marun/unstructured-reflector
Add support for type checking Unstructured event objects via GVK to client-go's reflector

Kubernetes-commit: 0676af36c5658af0319163fe2ed2fecccb43ae02
2019-09-25 19:57:53 +00:00
Kubernetes Publisher
0e97bf0202 Merge pull request #83064 from liggitt/propagate-context
Propagate context to remote authorize/authenticate webhook calls

Kubernetes-commit: 327f53ba57aeaa4b7e7c20b1ef98c42b26b7ea7f
2019-09-25 19:57:52 +00:00
Yassine TIJANI
bec79dc075 bump k8s.io/utils to pickup ipallocator changes
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: 16fe4d76271f6330c2837462a40edf95dde95942
2019-09-25 16:15:30 +02:00
Kubernetes Publisher
0df3af31cd Merge pull request #83018 from jfbai/fix-remove-duplicated-field-in-eventKey
fix: remove reportingInstance field in eventKey.

Kubernetes-commit: 0541d0bb79537431421774465721f33fd3b053bc
2019-09-24 15:57:51 +00:00
Jordan Liggitt
18d8747a77 Add context-propagating CreateContext methods to *Review clients
Kubernetes-commit: 4ffa91a388c6dbfd1d3c9f4c8a37b067b9b6a427
2019-09-24 11:02:25 -04:00
Maru Newby
d147ce7d6e Run hack/update-bazel.sh
Kubernetes-commit: 2a836d1710b5a1c1330ff58dad369d6afd2a1185
2019-09-24 01:21:54 +00:00
Maru Newby
ab4e4fccf4 Add support for type checking Unstructured via GVK in reflector
It was previously possible to instantiate `Reflector` with
`*unstructured.Unstructured` as the expected type but this did not
support checking that event objects were of the correct API
type (e.g. if event object was `v1.Pod` in `Unstructured` form but
`v1.Service` was expected). This commit adds support for providing a
GVK via an `Unstructured` expected type to compare with the GVK of
event objects. The GVK will also be used in reflector log output.

Kubernetes-commit: 237dbfd8ad322dfcad4bd4d5345368480c22d82f
2019-09-24 01:20:40 +00:00
Kubernetes Publisher
2bd34d193b Merge pull request #83014 from danielqsj/bump-klog
Bump k8s.io/klog to v1.0.0

Kubernetes-commit: b7003211d5454982401c19705f73bf2820ede855
2019-09-23 15:57:54 +00:00
Jianfei Bai
bc70a20c12 fix: remove reportingInstance field in eventKey.
Kubernetes-commit: 6b17e5e2a48d00946bdf443d9bfaf8a295b344ec
2019-09-23 20:00:16 +08:00
danielqsj
bfc25e7605 Bump k8s.io/klog to v1.0.0
Kubernetes-commit: c2a4906152e67a45308f988aa2cb8b76b4503855
2019-09-23 16:51:43 +08:00
Kubernetes Publisher
bcb3724b2b Merge pull request #82941 from jfbai/docs-add-comments-for-action-arg
docs: add comments for action.

Kubernetes-commit: dda0553dd7849a1b0ed0def6c58b02fc3a695063
2019-09-20 15:57:38 +00:00
Jianfei Bai
a537b01432 docs: add comments for action.
Kubernetes-commit: 993fe6f4bda183e1583cf0f879fbf9a076e99e8a
2019-09-20 21:32:44 +08:00
ashish-billore
6078bde84c Corrected the pod reporting and messages
It is inconsistent and confusing to report pod count from all
namespaces but report message for only default namespace.
Added the namespace (default) reporting to clarify this.
Updated comments for usage clarity.

Kubernetes-commit: 31e427b54c500f2e532ebeb1990eb7580bf86729
2019-09-20 19:18:17 +09:00
Kubernetes Publisher
297c8350f5 Merge pull request #82096 from logicalhan/version-deletion
remove pkg/version and some of redundant copies of it

Kubernetes-commit: 67d928acdc351d3d4f9e20a92cee4452a26ed0c4
2019-09-18 03:58:23 +00:00
Jan Chaloupka
f8b3113764 Require exact match when calling Get method within fake clientset
`Get` method within the fake clientset returns an object that would not be normally returned when using the real clientset. Reproducer:

```go
package main

import (
	v1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/client-go/kubernetes/fake"
)

func main () {
	cm := &v1.ConfigMap{
		ObjectMeta: metav1.ObjectMeta{Namespace: metav1.NamespaceSystem, Name: "cm"},
		}

	client := fake.NewSimpleClientset(cm)
	obj, err := client.CoreV1().ConfigMaps("").Get("", metav1.GetOptions{})
	if err != nil {
		panic(err)
	}
	fmt.Printf("obj: %#v\n", obj)
}
```

stored under `test.go` of `github.com/kubernetes/kubernetes` (master HEAD) root directory and ran:

```sh
$ go run test.go
obj: &v1.ConfigMap{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"cm", GenerateName:"", Namespace:"kube-system", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Finalizers:[]string(nil), ClusterName:"", ManagedFields:[]v1.ManagedFieldsEntry(nil)}, Data:map[string]string(nil), BinaryData:map[string][]uint8(nil)}
```

As you can see fake clientset with a "test" configmap is created. When getting the object through the clientset back, I intentionally set the object name to an empty string. I would expect to get an error saying config map "" was not found. However, I get "test" configmap instead.

Reason for that is inside implementation of `filterByNamespaceAndName` private function:
```go
func filterByNamespaceAndName(objs []runtime.Object, ns, name string) ([]runtime.Object, error) {
	var res []runtime.Object

	for _, obj := range objs {
		acc, err := meta.Accessor(obj)
		if err != nil {
			return nil, err
		}
		if ns != "" && acc.GetNamespace() != ns {
			continue
		}
		if name != "" && acc.GetName() != name {
			continue
		}
		res = append(res, obj)
	}

	return res, nil
}
```

When `name` is empty, `name != "" && acc.GetName() != name` condition is false and thus `obj` is consider as a fit.

[1] https://github.com/kubernetes/client-go/blob/master/testing/fixture.go#L481-L493

Kubernetes-commit: d32c76fc03381784516c47cb1bf62ef932189afa
2019-09-17 17:52:28 +02:00
Kubernetes Publisher
ecd4f6fb8c Merge pull request #82325 from RainbowMango/pr_cleanupup_staticcheck_for_client_cache
Cleanup staticcheck for package cache

Kubernetes-commit: 41b3e60f0e4032eec2caf38348d82641395f7af6
2019-09-17 07:58:24 +00:00
yaron2
67a52dfbe2 fix auth import statement
Kubernetes-commit: 6b9ec1c59e1965f4253ecb1e8b600bc582780df9
2019-09-16 11:00:36 -07:00
Kubernetes Publisher
6f3bc4ba92 Merge pull request #82585 from wojtek-t/fix_meta_internalversion_codecs
Ensure conversions are registered for metainternalversion codecs

Kubernetes-commit: 4dd1e3fa43e06f1c2fb9c4bd0bce8c821fd8a979
2019-09-13 08:08:25 +00:00
Kubernetes Publisher
26b1e9b529 Merge pull request #82446 from ibuildthecloud/master
Check cache is synced first before sleeping

Kubernetes-commit: ae3b1099ee5d07b1cc4541bedec1ae63e52debf8
2019-09-13 08:08:22 +00:00
Kubernetes Publisher
86c133ba28 Merge pull request #82284 from danwinship/retry-on-conflict-docs
Clarify retry.RetryOnConflict docs

Kubernetes-commit: 8d247629c38228ac18513612024c527f58ed9c57
2019-09-13 08:08:21 +00:00
Ricardo Maraschini
e6a1dc4b13 Creating function for preflight check.
Migrated code that checks for common programmer errors to a separated
function and added test coverage for it. Wrong comment stating that a
typed error is returned was also removed.

Kubernetes-commit: ad5fafd6ade2838098890a4e7727c8e347686867
2019-09-12 19:22:46 +02:00
wojtekt
aebe267284 Ensure conversions are registered for metainternalversion codecs
Kubernetes-commit: 54163527a69a8c868b87d301876559495220d1b0
2019-09-11 16:30:08 +02:00
Han Kang
e0bb139390 remove pkg/version and some of redundant copies of it
Change-Id: Ia58367c1b1274bfb49c8a4784051463abaf795de

Kubernetes-commit: 866ea74326fba45241cbccd3ca4624b68ba7022f
2019-09-10 14:42:55 -07:00
David Eads
5aa4fef661 publish cluster authentication trust via controller
Kubernetes-commit: 7351c8686031b320f61c70fe065d3c039dda0a99
2019-09-09 10:17:00 -04:00
Darren Shepherd
6d3b14b468 Check cache is synced first before sleeping
If a cache was already synced, cache.WaitForCacheSync would
always take 100ms to complete because the PollUntil method will
sleep first before checking the condition.  Switching to
PollImmediateUntil will ensure already synced caches will return
immediately.  For code that has, for example, 20 informers, the time
to check the cache was in sync would take at least 2 seconds, but with
this change it can be as fast as you can actually load the data.

Signed-off-by: Darren Shepherd <darren@rancher.com>

Kubernetes-commit: 8a58f332dd62b68ae22c67585002defe6aeb4b04
2019-09-06 16:30:04 -07:00
Kubernetes Publisher
67a413f31a Merge pull request #82425 from liggitt/client-go-readme
Update dev setup and client-go install instructions

Kubernetes-commit: 38752f7f99869ed65fb44378360a517649dc2f83
2019-09-06 19:52:28 +00:00
Jordan Liggitt
4fe1937613 Update client-go install instructions
Kubernetes-commit: df3d143d157c0558ba6b0f642b16697a774ecb94
2019-09-06 11:00:01 -04:00
Kubernetes Prow Robot
9bcaef49c8 Merge pull request #671 from liggitt/go-get-readme
Update README go get commands
2019-09-06 11:10:16 -07:00
Jordan Liggitt
fc74d0f6b3 Update README go get commands 2019-09-06 13:48:41 -04:00
David Eads
a7d8568b02 add ability to authenticators for dynamic update of certs
Kubernetes-commit: 51195dd86012c4c4b17a1707ef50a46fa046f74f
2019-09-05 09:59:59 -04:00
RainbowMango
e990876d88 Cleanup staticcheck from staging/src/k8s.io/client-go/tools/cache.
Kubernetes-commit: 19e5c8565d444cbb81d554a69960d7144996b05a
2019-09-04 18:32:06 +08:00
Dan Winship
9781541482 Clarify retry.RetryOnConflict docs
Kubernetes-commit: 23b391e1dd56e84708ac8c95bf6293fe86879c1c
2019-09-03 12:26:17 -04:00
Dan Winship
0e80a77286 Restore retry.RetryOnConflict docs, fix up retry.OnError docs/naming
Kubernetes-commit: b098e013242be8b480340d30063388b0020ae32e
2019-09-06 06:33:34 -04:00
Kubernetes Publisher
3fe2abece8 Merge pull request #77354 from jennybuckley/crd-apply
Use CRD validation field in server-side apply

Kubernetes-commit: ab162cd28c332d0ecfb4f918d5f91e9e57acdb61
2019-08-31 07:49:46 +00:00
Patrick Ohly
7f988d725c e2e log: Ginkgo 1.10.1 fixes stack skip
Now Ginkgo properly skips the initial stack entry.

Kubernetes-commit: ecd7ae55bc3ceda761f4405764815f70d38e3b2c
2019-08-30 17:58:48 +02:00
Kubernetes Publisher
d4d906eb58 Merge pull request #82090 from liggitt/webhook-http2
Use http/1.1 for apiserver->webhook clients

Kubernetes-commit: f442b6ef320140730f544527597a140e535f1e1d
2019-08-30 15:49:49 +00:00
Kubernetes Publisher
326ca7a019 Merge pull request #81770 from Hyzhou/fix_link
Fix broken link to api-conventions doc.

Kubernetes-commit: a9f0db16614ae62563ead2018f1692407bd93d8f
2019-08-30 03:49:49 +00:00
jennybuckley
cb7b787fa1 Update generated
Kubernetes-commit: badd5b9a26026138e4fc44a643ec1c6b65a7891b
2019-08-29 19:10:28 -07:00
Kubernetes Publisher
065c7aba1f Merge pull request #81947 from RainbowMango/pr_cleanup_staticcheck_for_client_p1
Cleanup client-go static analysis issues-phase 1

Kubernetes-commit: b131b4b4caa8f47df867174ac1eff251c5ad8328
2019-08-29 15:52:11 +00:00
misakazhou
325de63e79 Fix broken link to api-conventions doc.
Signed-off-by: misakazhou <misakazhou@tencent.com>

Kubernetes-commit: f0323a2030c7adae0e0965a7d3b455dd416472a0
2019-08-29 08:35:16 +08:00
Kubernetes Publisher
8248d0a0e6 Merge pull request #80766 from robscott/discovery-api
Adding Discovery API for EndpointSlice

Kubernetes-commit: 6c9f26ca3ab8656673f0f0b05097bdf7e8fbd911
2019-08-28 23:51:40 +00:00
Jordan Liggitt
696c159e45 Plumb NextProtos to TLS client config, honor http/2 client preference
Kubernetes-commit: aef05c8dca2c1a9967ebd9a2f67a0bf7fb16f079
2019-08-28 09:55:37 -04:00
Kubernetes Publisher
b4d94f0160 Merge pull request #81871 from prameshj/vendor-update
Update vendor k8s-cloud-provider and google API

Kubernetes-commit: 91bec13163b18238a8ed3d9b872cd27b1193077d
2019-08-28 11:49:57 +00:00
Patrick Ohly
33ba610635 e2e log: fix full stacktrace with Ginkgo 1.10.0
Ginkgo 1.10.0 includes the relevant fix for dumping the full stack
(https://github.com/onsi/ginkgo/pull/590), so when using that release
we can simplify the logging unit test.

By changing the skipping, we can avoid the rather volatile util.go
entries. However, that gomega is part of the stack trace still needs
to be fixed in Gingko.

Kubernetes-commit: 02ce619078b1a75e9fa258e101f81af899719e8e
2019-08-27 14:22:46 +02:00
RainbowMango
532b6f676e Cleanup staticcheck issues for package in client-go.
Kubernetes-commit: c8c055b3163dd2661b3f9dd1b0ffb718a61aba24
2019-08-26 20:55:32 +08:00
Pavithra Ramesh
51b2905727 Update vendor k8s-cloud-provider and google API
Ran commands:
hack/pin-dependency.sh github.com/GoogleCloudPlatform/k8s-cloud-provider 27a4ced34534a6c32b63159b100ac0efaa1d37b3
hack/update-vendor.sh

hack/pin-dependency.sh google.golang.org/api 5213b809086156e6e2b262a41394993fcff97439
hack/update-vendor.sh

hack/verify-vendor.sh

merge conflicts

Kubernetes-commit: ce3b145e7369da6c1179346a4e6f4f9992d235b7
2019-08-23 15:51:45 -07:00
Kubernetes Publisher
15739c3f80 Merge pull request #81527 from yastij/move-controller-util
move WaitForCacheSync to the sharedInformer package

Kubernetes-commit: 927f45191ef34012c890a17a4e77fdbe0f12de94
2019-08-27 11:49:28 +00:00
Kubernetes Publisher
6ddd067b15 Merge pull request #81889 from tedyu/ctrl-rm-refl-mutex
Utilize reflectorMutex in LastSyncResourceVersion

Kubernetes-commit: 9a5dc8f082cc7163e93f773d433e4719282837bb
2019-08-26 23:49:19 +00:00
Ted Yu
541253da74 Utilize reflectorMutex in LastSyncResourceVersion
Kubernetes-commit: 4f54538ae8ff7a4e6829bea1479194af87b7833c
2019-08-26 07:46:26 -07:00
Kubernetes Publisher
cc5a7c7149 Merge pull request #81507 from eloyekunle/fix/scale-client
update scale client to support non-namespaced resources

Kubernetes-commit: a118e59912ebf3fc6bd79e580048ae6fac7a7431
2019-08-26 11:53:23 +00:00
Kubernetes Publisher
597bab4578 Merge pull request #81780 from yastij/fix-nil-panic
check that the recorded event is not nil on refreshExistingEventSeries

Kubernetes-commit: ab7c4a7c3767447cfdee10dc59996836858f764f
2019-08-26 11:53:22 +00:00
Kubernetes Publisher
9fc8bb16d6 Merge pull request #81768 from wojtek-t/cleanup_serializers
Remove dead code

Kubernetes-commit: 2cbe49e84925b44803c451d3ab48dabf9d5e7973
2019-08-26 11:53:21 +00:00
Elijah Oyekunle
5c0e283ed8 update scale client to support non-namespaced resources
Kubernetes-commit: fcd44b44cadef56e9782dcc875f5572cbc43b018
2019-08-23 10:50:45 +01:00
Kubernetes Publisher
cdbd92c111 Merge pull request #81634 from likakuli/fix_errno
fixes a bug that connection refused error cannot be recognized correctly

Kubernetes-commit: 22a8bcf30af52d87a0289bb705ff5c41aaf6f72a
2019-08-23 01:28:14 +00:00
Yassine TIJANI
72094bc6d5 check that the recorded event is not nil on refreshExistingEventSeries
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: 000c2c557f862270ec83341c1af3fcd7c6f7d4a2
2019-08-22 11:56:35 +01:00
wojtekt
bac0f5a6c7 Remove dead code
Kubernetes-commit: b1675717168826c3314bf5b7e28c282f9643eadf
2019-08-22 08:58:45 +02:00
Kubernetes Publisher
f4e58ce609 Merge pull request #71757 from mikedanese/fixcancel
implement request cancellation in token transport

Kubernetes-commit: bc1d8c6d61078269540f807248a455cba09e672c
2019-08-22 05:39:41 +00:00
Kubernetes Publisher
c8dc69f8a8 Merge pull request #81189 from tallclair/staticcheck-verify
Add verify-staticcheck script

Kubernetes-commit: 39c10d1550d63a4a5c585600507ffd6a0f157267
2019-08-20 10:14:07 +00:00
likakuli
6a1fb71239 fixes a bug that connection refused error cannot be recognized correctly
Kubernetes-commit: 3cec9098020ecc168573c7ee658282954dac2a2e
2019-08-20 12:18:46 +08:00
Yassine TIJANI
7ee6383729 move WaitForCacheSync to the sharedInformer package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: 7e4c3096fe71afc6a23c273b3309ed5db7289d8c
2019-08-16 21:15:53 +02:00
wojtekt
33fd3701cd Implement Encoder.Identifier() method
Kubernetes-commit: cd4215ad8b95773a793f69fc2e8bf93c7ede97aa
2019-08-14 16:23:03 +02:00
Tim Allclair
8355a02ca7 Bump golang.org/x/tools version for staticcheck compat
Kubernetes-commit: 9a02ef7fe5eb166a53131c52b59844179c4158e9
2019-08-08 11:04:56 -07:00
Kubernetes Publisher
6de8fdd410 Merge pull request #79574 from justaugustus/azure-sdk-bump
Azure SDK updates (6/30/19)

Kubernetes-commit: 1ff4525a29f1736fca19e10b49e42664b29010c2
2019-08-16 10:13:43 +00:00
Stephen Augustus
cca417f1ca Update Azure/azure-sdk-for-go and Azure/go-autorest modules
Signed-off-by: Stephen Augustus <saugustus@vmware.com>

Kubernetes-commit: db855f9ba0ced2303fbb3b9776dd2a0d78b31897
2019-08-15 17:57:49 -04:00
Kubernetes Publisher
e290f153d1 Merge pull request #81394 from cblecker/golang-deps
Update golang/x/net dependency

Kubernetes-commit: 1f6cb3cb9def97320a5412dcbea1661edd95c29e
2019-08-14 10:16:25 +00:00
Kubernetes Publisher
92cf7d1eaf Merge pull request #81331 from tariq1890/tst_typo
[k8s.io/client-go]fix typo in eventseries_test.go method

Kubernetes-commit: a520302fb4673e595fcb70d2a4db26598371be92
2019-08-14 06:10:25 +00:00
Kubernetes Publisher
1ca6f0db2b Merge pull request #81330 from tedyu/hide-auth-hdr
Hide bearer token in logs

Kubernetes-commit: 4441f1d9c3e94d9a3d93b4f184a591cab02a5245
2019-08-14 06:10:24 +00:00
Christoph Blecker
d522c037ae Update vendor
Kubernetes-commit: 5f971d6d8862de319edbd24a729a704292c560dc
2019-08-13 17:51:45 -07:00
Christoph Blecker
17815e944e Pin golang.org/x/net to cdfb69a
Kubernetes-commit: ebadc53f50219112c3d80039de7b13779f9d4f63
2019-08-13 17:45:53 -07:00
Kubernetes Publisher
7eecfc25a0 Merge pull request #81305 from tedyu/evt-patch-err
Error code incorrectly hidden in recordEvent

Kubernetes-commit: f22b67dd8f9f4c1ce7434a6432e4f952ef36ea32
2019-08-13 22:10:22 +00:00
Kubernetes Publisher
48bc0598fd Merge pull request #81164 from dims/update-to-latest-klog-0.4.0
Update to latest klog 0.4.0

Kubernetes-commit: 461b2d8b9ae818b4b08a6c74d2ec6048fe7a52b6
2019-08-13 22:10:21 +00:00
Ted Yu
689d090711 Hide bearer token in logs
Kubernetes-commit: 010d8382642119c73cb2405286b347c08d704287
2019-08-13 09:36:13 -07:00
Tariq Ibrahim
31cdc04542 Address review comments
Kubernetes-commit: 805640382339f646a175f04f9e4846d5bf2ef61f
2019-08-13 09:07:39 -07:00
tariqibrahim
8ade4cae05 [k8s.io/client-go]fix typo in eventseries_test.go method
Kubernetes-commit: 06e1b38768ba243d29dcc6a3fe51381d2624a62f
2019-08-12 21:16:23 -07:00
Kubernetes Publisher
4f90281885 Merge pull request #80565 from MikeSpreitzer/77636bis
Added info requested in review of #77636

Kubernetes-commit: 1f3dcb3745ba72644a401ecbb6f9366b6d8ee7eb
2019-08-12 22:10:09 +00:00
Ted Yu
cde59a28d7 Error code incorrectly hidden in recordEvent
Kubernetes-commit: 31f374f42a2c816c8fb928c5db46474f5fc24b31
2019-08-12 12:11:37 -07:00
Kubernetes Publisher
62f300f03a Merge pull request #80699 from knight42/feat/patch-scale
feat: add Patch method to ScaleInterface

Kubernetes-commit: 182ae7b9a47f14f55c3fed5f8f948ace647263e9
2019-08-09 22:12:26 +00:00
Kubernetes Publisher
396a06da3b Merge pull request #81096 from roycaihw/update-vendor-json-iterator
Update github.com/json-iterator/go dependency to fix emtpy byte marshaling

Kubernetes-commit: 3030a9d92750173ed72ea9cd37286bf6a41c2dcb
2019-08-08 18:09:53 +00:00
Kubernetes Publisher
dafe3c5e18 Merge pull request #80978 from wojtek-t/selflink_deprecation
Deprecate SelfLink and introduce feature gate to disable its propagation

Kubernetes-commit: ef8869466c803fbbe44a411a8a2e3e37c7f1d1d2
2019-08-08 14:12:43 +00:00
Davanum Srinivas
7575937ffe Update to latest klog 0.4.0
47ffc4e Add test case for detecting data race
959d342 Prevent data race in SetOutput* methods
34123a4 Test with golang 1.12.x
bf4884f Fix the log duplication issue for --log-file
dc5546c Backfill integration tests for selecting log destinations
baef93d fix broken links
07b218b Add go modules files
b33ae69 Add flag to include file's dir in logs
7c58910 correct documentation
a4033db Code Hygene - glog to klog
941d47b Revert "Fix the log duplication issue for --log-file."
314f6c4 Update godoc for the default value of logtostderr
7eb35e2 Fix the log duplication issue for --log-file.

Kubernetes-commit: 9a2de95601641aa1077734c76fc24ebe7b6026db
2019-08-08 10:08:27 -04:00
Haowei Cai
b70c0323e6 generated
running hack/update-vendor.sh

Kubernetes-commit: 6bed35ebd2bfc8d0de1d5fe7a6db0fd15a7abace
2019-08-07 12:53:51 -07:00
Kubernetes Publisher
4fd06e1074 Merge pull request #78610 from jpbetz/admission-trace
Add trace to webhook invocations

Kubernetes-commit: a197cc61740be784b43c85c04bda9a2658da3a09
2019-08-07 06:12:13 +00:00
chenyixiang
ba49d2a180 migrate leader election to lease API
Change-Id: I21fd5cdc1af59e456628cf15fc84b2d79db2eda0

Kubernetes-commit: 447295aff2bd8cdc92a2376553d83546a4d6eb41
2019-08-07 01:48:32 +08:00
wojtekt
6dbe622bff Fix GetReference function
Kubernetes-commit: 399d09ce4ad1728fcecdce09503a07cf1bfecef6
2019-08-05 08:37:55 +02:00
Joe Betz
2f8e84e408 Upgrade to latest k8s.io/utils
Kubernetes-commit: 237b16d9d99d1eaf9ef762ddeb4ccec247b2ba8c
2019-08-03 00:10:36 -07:00
Joe Betz
1522bb2fc6 Replace string concatination with trace fields
Kubernetes-commit: 46a04d50af78e01d06a9879d62cc71fbe892076f
2019-08-02 23:47:24 -07:00
Kubernetes Publisher
10488e3b13 Merge pull request #80919 from smarterclayton/disable_compression
Disable gzip compression in core control plane components

Kubernetes-commit: 4824f823ad2f37b82d97123b68f06fcffd6c8e15
2019-08-05 18:09:24 +00:00
Clayton Coleman
40d852a94d Allow gzip compression to be disabled from rest.Config
Golang automatically enables transport level gzip, but local network
clients may wish to disable it for better CPU usage and lower latency
(scheduler, controller-manager). Allow DisableCompression on rest.Config
to modify the underlying transport. This impacts the transport cache,
but it is expected that most clients connecting to the same servers
within a process will have the same compression config.

Kubernetes-commit: dee6de70d0e4ad381bd5de01b6d1fbd4fde004bc
2019-08-02 14:23:33 -04:00
Kubernetes Publisher
fdb3fbe99e Merge pull request #80858 from wojtek-t/fix_events_tests
Fix selflinks in events tests

Kubernetes-commit: acdbbb39937d7dbd211a9e0d96289f26e332a55b
2019-08-02 02:11:51 +00:00
wojtekt
1bed22dd11 Fix selflinks in events tests
Kubernetes-commit: cfa16959e23e4801847b1722f6cc1c73f26e1c3d
2019-08-01 15:23:49 +02:00
Kubernetes Publisher
de47f833b8 Merge pull request #80732 from cblecker/fix-tag-protobuf
Fix tag for gogo/protobuf

Kubernetes-commit: d8900caac8aef61e79ca921a7922d95ae06b16f2
2019-07-31 14:31:32 +00:00
Christoph Blecker
34e435f00c Fix tag for github.com/gogo/protobuf
Kubernetes-commit: 7471a1d35fe40eb01b7dc20b2ac09192741ef436
2019-07-30 18:38:34 -07:00
Rob Scott
1ff77877ed Adding discovery/v1alpha1 API for EndpointSlices
Kubernetes-commit: f80cee928040ad458fbced70392063e0a5d160e5
2019-07-30 12:48:34 -07:00
Kubernetes Publisher
f725dd3540 Merge pull request #80658 from tedyu/expire-list
Store key in TimestampedEntry

Kubernetes-commit: bfeb7e4a96d20438b257a3eb0ea507130112a2db
2019-07-30 18:31:58 +00:00
Kubernetes Publisher
ba8f4e8713 Merge pull request #78778 from hbagdi/fix/nil-functions
fix nil function invocation in client-go/tools/leaderelection

Kubernetes-commit: 758af11cacd2eb03fdb7edef16757e3d77646dc7
2019-07-30 18:31:57 +00:00
Kubernetes Publisher
693ed41095 Merge pull request #79963 from RainbowMango/pr_fix_typo_for_informer
Fix go lint error for cache directory

Kubernetes-commit: b4f6b0bf5037c038f1d2b3a715214867635d8d0d
2019-07-30 14:32:01 +00:00
Ted Yu
a865205fb0 Store key in TimestampedEntry
Kubernetes-commit: 69fb4e960f7359641b3503b734acc32af6b05e04
2019-07-29 14:53:49 -07:00
Harry Bagdi
bc72a37034 fix: do not allow nil Callbacks functions
If user specifies a nil callback, then error out
rather than crashing at runtime due to a nil reference.

Kubernetes-commit: 9dbbc652efee21bd421db1b1f52235ed20ffb7eb
2019-07-29 11:27:28 -07:00
knight42
70681df7b9 feat(scale): add Patch method to ScaleInterface
Signed-off-by: knight42 <anonymousknight96@gmail.com>

Kubernetes-commit: f020c9159869918c63e0aad56abd01e655e61e78
2019-07-29 12:33:24 +08:00
Mike Spreitzer
0c0e2ef3a2 Added info requested in review of #77636, and more
Added definition of "collection states" and noted that informer cache
queries are answered against these.

Also added an explicit note that the concept of object identity used
in the contract here does _not_ include ObjectMeta.UID.

Also updated the description of the notifications received by a
client, to account for the fact that a client can be added after the
informer starts running.

Added references to `MetaNamespaceKeyFunc` and
`SplitMetaNamespaceKey`.

Noted that a client must process each notification promptly and added
a referral to workqueue.

Made a couple other minor clarifications and corrections.

Kubernetes-commit: 848301e11a8558f6a90e2fada870a91baace812a
2019-07-25 01:45:22 -04:00
RainbowMango
2b8d87c082 1. Fix lint errors for the whole directory staging/src/k8s.io/client-go/tools/cache;
2. Remove staging/src/k8s.io/client-go/tools/cache from .golint_failures;
3. Fix some typo from comments.

Kubernetes-commit: 0e0e1f7daba0a6ae6dd59df0a1bb643c323ad8cb
2019-07-10 12:00:52 +08:00
Peter Swica
579ad46bdc Kubectl user exec should accept zero-length environment values #652 (#78875)
* Kubectl user exec should accept zero-length environment values #652

* Changing TestValidateAuthInfoExecInvalidEnv to allow for empty strings as Exec values

Kubernetes-commit: f30af9dd6da46f0f01e38b477d455907da9f1b6c
2019-07-25 19:01:41 -04:00
Kubernetes Publisher
a9c895e7f2 Merge pull request #77355 from apelisse/test-new-protoc
Use new reverse protobuf marshalling

Kubernetes-commit: a172e197b165f60c215b4467175bdd61d8a15e0e
2019-07-26 02:31:11 +00:00
Antoine Pelisse
3e0ec8b7fd Regenerate
Kubernetes-commit: 6568325ca2bef519e5c8228cd33887660b5ed7b0
2019-07-24 15:21:55 -07:00
Kubernetes Publisher
f16ff99a1d Merge pull request #77553 from s-urbaniak/fix-76956
pkg/util/workqueue/prometheus: fix double registration

Kubernetes-commit: f101466d2e4d96854c80f58203de2cc6b5aaeb6a
2019-07-23 02:31:03 +00:00
Kubernetes Publisher
8720706276 Merge pull request #80402 from mjudeikis/generic.retry
make client-go/util/retry more generic

Kubernetes-commit: 0d2b85878d417daf98ea59e8dc7a264a5533ae5a
2019-07-22 18:31:02 +00:00
Kubernetes Publisher
cea58bd85b Merge pull request #59416 from verb/debug-api
Add Ephemeral Containers to the Kubernetes core API

Kubernetes-commit: 7e6b70fbb5e86706f3fb9b9be0dc718028330d81
2019-07-22 14:31:04 +00:00
Lee Verberne
830fc9beb5 Generated code for ephemeral containers API
Kubernetes-commit: 4a753c7a44b5f92e52d4119530ac76e38b837336
2019-07-22 11:18:01 +00:00
Mangirdas
ee2735b48e make util/retry more generic
Kubernetes-commit: 2a0856a4d86600f3382dcdad26a0dd06428f951a
2019-07-21 19:00:40 +01:00
Kubernetes Publisher
0c47f9da00 Merge pull request #80123 from sttts/sttts-bump-kube-openapi2
Bump kube-openapi and structured-merge-diff

Kubernetes-commit: eee3a3749add92cd67b4c6f80567cd438a6c24e6
2019-07-17 02:31:32 +00:00
Kubernetes Publisher
81763ea0de Merge pull request #80200 from Huang-Wei/tolerant-event-related
Tolerate the case if `related` event cannot be found

Kubernetes-commit: 0791f5bc21e7f270e2be84e1db52166636d142d0
2019-07-16 07:27:25 -07:00
Wei Huang
43e18f2627 Tolerate the case if related event is nil
Kubernetes-commit: 187fc29e3efa915265f31991fe923ab46f0113ce
2019-07-15 23:19:04 -07:00
Kubernetes Publisher
1c70f03105 Merge pull request #73923 from liggitt/prefer-writeable-windows-homedir
Improve windows home directory selection

Kubernetes-commit: 98c68df6069dc8f81c1f983609be60b2045861cb
2019-07-16 06:30:11 +00:00
Dr. Stefan Schimanski
2e9049d47b Run update-vendor.sh
Kubernetes-commit: 91a3704938070b8b18dc39774d5acd8234c0c55c
2019-07-13 10:07:03 +02:00
Kubernetes Publisher
611184f7c4 Merge pull request #79786 from wojtek-t/watch_bookmarks_beta
Promote WatchBookmarks to beta

Kubernetes-commit: a46eed0ca3988a8d1fba78e2b8f882df1f7406f4
2019-07-12 10:29:59 +00:00
wojtekt
a553c2c2cc Enable watch bookmarks in reflector
Kubernetes-commit: 175c07f4e6d3a59bb6d9870c4a4a78c41940b2dd
2019-07-04 13:12:08 +02:00
Kubernetes Publisher
e8d4ff64b7 Merge pull request #79549 from liggitt/admission-webhooks-v1
Promote admission webhook API to v1

Kubernetes-commit: 3dd8add5d25d29358fb239ac23461643f1d8effc
2019-07-12 02:29:59 +00:00
Kubernetes Publisher
3d21683b87 Merge pull request #79077 from yuyulei/remove-ratelimiter
add "burst" validation check to code-generator

Kubernetes-commit: c302da4f429f80b9857261bedc17a62069e5b09e
2019-07-12 02:29:57 +00:00
Kubernetes Publisher
deaa3604a6 Merge pull request #79566 from sukeesh/auditlog
Cleanup: Audit log and error capitalization

Kubernetes-commit: 1c99825adfb30f6abb177e85ddb31f2fdef011e1
2019-07-11 22:30:15 +00:00
Kubernetes Publisher
0cb32da4ad Merge pull request #78742 from smarterclayton/client_gc
The garbage collector and quota counter should use the metadata client and protobuf to access resources

Kubernetes-commit: 91b26341f47088896ad373f4df8c7bdf5b249bcc
2019-07-11 14:33:33 -07:00
yaqi
885c525d76 execute hack/update-codegen.sh, sync updates
Kubernetes-commit: aa71695be1006c843de836104006a724451fa9a0
2019-07-11 20:34:59 +08:00
Clayton Coleman
0f7aa3096b Rename metadata.NewConfigOrDie to be consistent
Updated name to match dynamic client

Kubernetes-commit: 98d87a4f03e22bb8e4d22460855913d23930685a
2019-07-10 18:35:45 -04:00
Himanshu Pandey
79ec8b81e2 Added custom error message when wrong file is provided with KUBECONFIG (#78185)
* Added custom error message when wrong file is provided with KUBECONFIG

* Modified test case

* Updated the code to warn the missing files

* Renamed the variable

Kubernetes-commit: a5eedcde611658c220c56d2819bf0420aded4ed6
2019-07-10 20:24:54 -07:00
Kubernetes Publisher
2cca84cf52 Merge pull request #78744 from smarterclayton/client_ns
Update namespace controller to use the metadata client

Kubernetes-commit: ca6cc69bd4e1e5b72b94863729a5a10936684867
2019-07-11 10:39:05 +00:00
Kubernetes Publisher
890a5924da Merge pull request #79998 from yastij/owners-events
add wojtek-t and yastij as approvers/reviewers for events package

Kubernetes-commit: 7b9afe00f1ac5cb40764db08ab3ff068abf1c64d
2019-07-10 16:25:18 -07:00
Yassine TIJANI
2c14e0f870 add wojtek-t and yastij as approvers/reviewers for events package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: a2994a296e3a509b40e74d77ae3f42d25a4fb1a5
2019-07-10 21:41:04 +02:00
Kubernetes Publisher
4a0861cac5 Merge pull request #78470 from nikhita/security-contacts-psc
Update SECURITY_CONTACTS with current PSC

Kubernetes-commit: 69c94671242c3d17bb32dcdc7ceb5d35535a8f34
2019-07-11 10:39:03 +00:00
Kubernetes Publisher
d5b3f640e9 Merge pull request #79724 from deads2k/update-raw
make kubectl --raw consistent for create, update, get, delete

Kubernetes-commit: b130ff450232eaf9100548aa08295168871a4ee9
2019-07-11 10:39:01 +00:00
Kubernetes Publisher
2abfa8322d Merge pull request #79817 from tianyuansun/fix/golint-error
fix: golint error of clientgo

Kubernetes-commit: 5b5301e9df68ee50e43ccc16d6dfd74e491c94a5
2019-07-11 10:39:00 +00:00
Kubernetes Publisher
39956190ba Merge pull request #79729 from nikhita/client-go-install
client-go: update installation instructions to reflect v12.0.0 release

Kubernetes-commit: 2c64ef5b7113d0c7b7782f8471cf541c6edf939f
2019-07-11 10:38:59 +00:00
Kubernetes Publisher
4ed54556a1 Merge pull request #79837 from yastij/add-eventexpension
add fakes for events package, add startEventWatcher to event interface

Kubernetes-commit: e8cc9ea02ead506c8b7f478210e3368f13c925b6
2019-07-06 00:55:06 +00:00
Yassine TIJANI
36ad1c08c8 add fakes for events package, add startEventWatcher to event interface
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: bfa7de0165c911178daaac1991c08f7424b0048f
2019-07-05 14:18:02 +02:00
suntianyuan
39b8e819a8 fix: golint error of clientgo
Kubernetes-commit: 853cf2d8969e49ffb5fe42c0d867edd2396e7a68
2019-07-05 11:37:02 +08:00
Kubernetes Publisher
07281898b0 Merge pull request #79637 from toliu/toliu/update-gophercloud
Update gophercloud vendor dependency to v0.1.0

Kubernetes-commit: 886c5d261f67d74a9d4d5e5f2f31c88dd5c2666f
2019-07-04 04:55:12 +00:00
Kubernetes Publisher
5aceab6588 Merge pull request #79306 from vllry/gogo-dep-tag
Updated github.com/gogo/protobuf from v0.5 SHA to v1.0.0 tag

Kubernetes-commit: 03aeab967abccc1da80ff2340f3bccf2131f63d8
2019-07-03 20:57:46 +00:00
Kubernetes Publisher
ab25eb98f4 Merge pull request #77819 from smarterclayton/client
Add a metadata client to client-go that can read PartialObjectMetadata

Kubernetes-commit: 024c7bd84f1e9a386778e14068f57c3b1e193565
2019-07-03 20:57:44 +00:00
Kubernetes Publisher
ac1a9799d0 Merge pull request #79045 from odinuge/file-perms
Fix file permissions for non executable files

Kubernetes-commit: 3c38115a326a229274661d4d0ad60b77342ab26c
2019-07-03 16:55:02 +00:00
Nikhita Raghunath
6b2766cb39 client-go: update installation instructions to reflect v12.0.0 release
Kubernetes-commit: d55b8791781ea2f9560561d4680f547f43ce4ddb
2019-07-03 20:09:14 +05:30
Kubernetes Prow Robot
50dafea438 Merge pull request #625 from nikhita/release-v.12
Update README to reflect v12.0.0 release
2019-07-03 07:38:32 -07:00
David Eads
4747a4bccd make kubectl --raw consistent for create, update, get, delete
Kubernetes-commit: 09c55bd1172e9b044762957efeae2c34de145bef
2019-07-03 08:27:19 -04:00
Kubernetes Publisher
b3101450e2 Merge pull request #73977 from khenidak/ipv6dualstack
ipv6 dual stack (Phase 1 - ALPHA)

Kubernetes-commit: a33840e0232aaf2b5c14c1c754d9189d7e841ec1
2019-07-03 04:55:05 +00:00
Kubernetes Publisher
d1d42e472f Merge pull request #79480 from wojtek-t/fix_clientgo_benchmark
Fix client-go request benchmark

Kubernetes-commit: 4b3987d0c390fbac65df5c0a1cf7f89d6ddfc6ce
2019-07-03 04:55:00 +00:00
Kubernetes Publisher
bf9edae4fc Merge pull request #79646 from tedyu/backoff-rw
Utilize RWMutex for efficient backoff operations

Kubernetes-commit: a57af6dadd493b3c629c5c2c636c03e8371f95c3
2019-07-03 04:54:59 +00:00
Vallery Lancey
73102250a8 Updated github.com/gogo/protobuf from SHA to nearest-pinnable tag (v1.0.0), as part of dependency management cleanup: #79234
Kubernetes-commit: fe59ee8aaf8c7399476d286349caca9e3c05c522
2019-07-02 21:44:06 -07:00
Nikhita Raghunath
418369312e Update README to reflect v12.0.0 release 2019-07-02 21:04:06 +05:30
Ted Yu
e12fc43899 Utilize RWMutex for efficient backoff operations
Kubernetes-commit: 9e73e69f4947c88e0d9b6e35ea115086d917a2a2
2019-07-02 16:12:43 +08:00
Kubernetes Publisher
c597d11714 Merge pull request #71170 from atlassian/rand-cleanup2
Cleanup math/rand package usage

Kubernetes-commit: cdddcf9b4856a7252fb47349c0f1aaf8eca05866
2019-07-02 04:54:42 +00:00
Kubernetes Publisher
e1c806028d Merge pull request #78820 from haosdent/fix_typos
Fix typos.

Kubernetes-commit: da0f51ffedcd32d1af31c7b6315e14e5a047abde
2019-07-02 00:54:47 +00:00
liushi
e926b6fbfd Update gophercloud vendor dependency to v0.1.0
Kubernetes-commit: 094fed6598b5c5731dd936bb80a85816a24bda53
2019-07-01 02:22:54 -07:00
Sukeesh
94daee0164 Cleanup: Audit log and error capitalization
Kubernetes-commit: 346fdbccf0ac06ab3fa0e51ab3b92fdc041bb4cc
2019-06-30 11:56:27 +09:00
Kubernetes Publisher
98902b2ea1 Merge pull request #79367 from sukeesh/sukeesh/updatedocsgo
Update doc.go in staging/src/k8s.io/

Kubernetes-commit: 583d83a13557fc4ceb68355fa590c194f23a1721
2019-06-29 12:54:32 +00:00
Jordan Liggitt
1f68422b5b Generated
Kubernetes-commit: b15aed640995630d4a87e3c0deb138f6a2109722
2019-06-28 15:45:50 -07:00
Khaled Henidak(Kal)
11b26abdb1 vendor updates
Kubernetes-commit: 2b776677183502cd2bcba530dbf03bff7d39c057
2019-06-28 20:46:52 +00:00
Kubernetes Publisher
8873628f23 Merge pull request #79375 from answer1991/feature/flow-control-context-aware
RateLimiter context aware and fix request may hang issue

Kubernetes-commit: 46667d0bbbcee0d8435feed3fe2fcb8c8977f9ab
2019-06-28 00:54:42 +00:00
Kubernetes Publisher
11059204e0 Merge pull request #76124 from tossmilestone/fix-crd-validate-items
Fix CRD validation error on 'items' field

Kubernetes-commit: 1a80962db6fc7138f4d2925a82d7e74cd5ec4fcd
2019-06-27 20:54:36 +00:00
wojtekt
deab738de6 Fix client-go request benchmark
Kubernetes-commit: 85763127c0b9399e6c48ec144c4716543a6cbe2d
2019-06-27 17:18:56 +02:00
He Xiaoxi
8079e84782 Bump gopkg.in/check to v1.0.0-20180628173108-788fd7840127
Signed-off-by: He Xiaoxi <xxhe@alauda.io>

Kubernetes-commit: 17ff2eda575686d054ac38b4670be4b4d5a474a0
2019-06-27 11:40:31 +08:00
He Xiaoxi
a691cd0d29 Bump objx to v0.2.0
Signed-off-by: He Xiaoxi <xxhe@alauda.io>

Kubernetes-commit: fb03e0c46120e5f7505c9bcc2999f39a415ea167
2019-06-27 11:33:27 +08:00
He Xiaoxi
bc1d7464f6 Bump go-openapi dependencies to preferred version
Signed-off-by: He Xiaoxi <xxhe@alauda.io>

Kubernetes-commit: eb2a1c10fad8d1ec0db03283bb156a0e3232607f
2019-06-27 10:42:28 +08:00
He Xiaoxi
66b01d91cd Fix CRD validation error for 'items' field
Signed-off-by: He Xiaoxi <xxhe@alauda.io>

Kubernetes-commit: 2e37a3bebe8c4a628e973e231d95c4ce5261c15f
2019-06-26 15:30:49 +08:00
Mike Spreitzer
1ec4b74c7b Fixed and clarified comments and parameter names in index.go (#77633)
* Fixed and clarified comments and parameter names in index.go

Fixed the comment on IndexFunc to say that it returns multiple indexed values.

Clarified the comments and parameter names in the Indexer interface to
consistently use a dichotomy between "storage keys" and "indexed
values".

* Updated comments in index.go based on review by Liggitt

Kubernetes-commit: 4160909495626262ae514bab30fe81a3ff869d39
2019-06-26 04:54:20 +00:00
Sukeesh
c8a491caea Update doc.go in staging/src/k8s.io/
Kubernetes-commit: c8bd20d1b289eadb6abc20f0868f4a5a6a668035
2019-06-25 22:43:44 +09:00
Kubernetes Publisher
2c6e35a5b9 Merge pull request #79303 from liggitt/preferred-deps
Use preferred dependency versions

Kubernetes-commit: dc764030c2cef7aced8dd1a9e3b5ca389223b8b6
2019-06-24 08:53:56 +00:00
Jordan Liggitt
d126bd6059 github.com/google/uuid v1.1.1
Kubernetes-commit: 29853a1976d4306593159d369cd8487eeed2b3d6
2019-06-22 11:40:22 -07:00
chenjun.cj
8f99f83432 flowcontrol context aware and fix request may hang issue
Kubernetes-commit: ce8805f95fcf6540397eaa60b8d84db752f05eea
2019-06-21 12:17:46 +08:00
Kubernetes Publisher
585a16d2e7 Merge pull request #78187 from dims/update-vendored-dependencies-to-released-versions-2
Update vendored dependencies to released version

Kubernetes-commit: 00e13dbc12612bd838bc5b9000a64c08f6f8a828
2019-06-20 07:40:45 +00:00
Kubernetes Publisher
7de88b14dc Merge pull request #78991 from sallyom/reflector-too-old-warning-info
Reflector watchHandler: make 'The resourceVersion for ... watch is too old' log Info not Warning

Kubernetes-commit: 1a15ce14473fb60bb817d1f29147ae7b70a0987e
2019-06-15 12:59:33 +00:00
Kubernetes Publisher
8352f269cd Merge pull request #78869 from enj/enj/i/better_cache_mutation_diff
cache mutation detector: use correct diff function

Kubernetes-commit: e52dc689e1bc28bbb589528182971ef19a94ba45
2019-06-15 08:59:36 +00:00
Kubernetes Publisher
5759fedc8d Merge pull request #78743 from smarterclayton/patch_object
Calling PatchAction on typed objects should work correctly

Kubernetes-commit: f09c828496a2010866a30dbb7cdf5b46a22bfa98
2019-06-15 00:59:33 +00:00
Odin Ugedal
2ee65257e5 Fix file permissions for non executable files
Normal files should have permissions 644 by default,
and does not require the last bit to be
executable

Signed-off-by: Odin Ugedal <odin@ugedal.com>

Kubernetes-commit: 35cb87f9cf71776e99a970dfff751cd29ba7ebfb
2019-06-14 21:04:39 +02:00
Davanum Srinivas
132e540b8d updating gopkg.in/yaml.v2 to v2.2.2
Kubernetes-commit: 1c7bfba9160de8e2449d410bda6f289907136a71
2019-06-14 11:46:38 -04:00
Davanum Srinivas
56cdfd719e updating github.com/stretchr/testify to v1.3.0
Kubernetes-commit: 21fc7d283d900dda76d7f98c6a4b3632659ea6d7
2019-06-14 11:41:28 -04:00
Davanum Srinivas
dc4444a75a updating github.com/spf13/pflag to v1.0.3
Kubernetes-commit: 99d5aa759e409864652d11d5a603b4cd2d95ffc2
2019-06-14 11:38:01 -04:00
Davanum Srinivas
e65eb0b5fe updating github.com/spf13/cobra to v0.0.4
Kubernetes-commit: 1b401bdab7c2d9de86363adf6a490e35d2f3c832
2019-06-14 11:34:37 -04:00
Davanum Srinivas
dc39ccf7e4 updating github.com/onsi/gomega to v1.5.0
Kubernetes-commit: 37479f975ea0383b771f99c308a762d2ded4b166
2019-06-14 11:20:57 -04:00
Davanum Srinivas
ef4592e4bb updating github.com/onsi/ginkgo to v1.8.0
Kubernetes-commit: 8629f7fa255d2c7c2d6de2a107a0fd1115b0c9fa
2019-06-14 11:19:15 -04:00
Davanum Srinivas
efbc7af4f2 updating github.com/mholt/caddy to v1.0.0
Kubernetes-commit: a7c552be862234c55721d4a00e76b39500831986
2019-06-14 11:10:45 -04:00
Davanum Srinivas
d422db9ef0 updating github.com/json-iterator/go to v1.1.6
Kubernetes-commit: c6b2b45fa98a230d0be5c96270db7058cfaa3b59
2019-06-14 11:04:03 -04:00
Davanum Srinivas
3c1534c2eb updating github.com/google/gofuzz to v1.0.0
Kubernetes-commit: d04014a2087f52d5263dfb7e48a4e223744e813d
2019-06-14 11:00:40 -04:00
Davanum Srinivas
47059beb8d updating github.com/evanphx/json-patch to v4.2.0+incompatible
Kubernetes-commit: ad2fc6903ae93f77d7c96fc5bc7e7151e0757a2b
2019-06-14 10:51:52 -04:00
Kubernetes Publisher
9f52f725d4 Merge pull request #76513 from vladimirvivien/create-update-delete-dynamic-example
Create-update-delete-deployment example using dynamic package

Kubernetes-commit: eae93f9c7acaca32a9a82a7de77b9f3135b055c0
2019-06-14 12:59:42 +00:00
Kubernetes Publisher
f1a699f1fd Merge pull request #74018 from JoeWrightss/patch-1
remove redundant words 'the' in comment

Kubernetes-commit: a52e08a2df1391798e1c620513f23009c0ec0264
2019-06-14 04:59:34 +00:00
Sally O'Malley
23e6ea699e Modify klog Warning 'The resourceVersion for the provided watch is too old' to Info.
This warning comes from Reflector watchHandler, from the apiserver error that
indicates a watch was restarted.  This happens when etcd drops the connection
and resources are relisted.  This informs the user that the watchers are
operating properly, so should be logged as Info rather than Warning.

Kubernetes-commit: a953d1542c06456c6fe97121abd99acd352545df
2019-06-13 16:36:06 -04:00
Kubernetes Publisher
5c45477a8a Merge pull request #78931 from krzysied/revert-78465-bump-klog
Revert "Bump klog to v0.3.2"

Kubernetes-commit: 9b15a5b0700724d2ea1021ceafb72c378b638a0b
2019-06-12 12:59:19 +00:00
Krzysztof Siedlecki
f139db1a80 Revert "Bump klog to v0.3.2"
Kubernetes-commit: 7dcec919a2e5e8e23da3d0dd61276d86c9b0e4b6
2019-06-12 10:27:41 +02:00
Monis Khan
55984cdeff cache mutation detector: use correct diff function
The cache mutation detector must use a diff function that is
designed to show differences that cause reflect.DeepEqual to return
false.

Signed-off-by: Monis Khan <mkhan@redhat.com>

Kubernetes-commit: dd4f53cd45499687e768de46a15038d61935ab96
2019-06-10 15:47:51 -04:00
Haosdent Huang
465553e287 Fix typos.
Kubernetes-commit: 7ce6e7189166e8b284ab44ae1dccd4df1719ab3e
2019-06-09 15:34:53 +08:00
Clayton Coleman
cade5c0473 Add fake client, informer factory, and lister to metadata client
These will be used by the garbage collector controller and others that
use higher level primitives.

Kubernetes-commit: bc89c37f32aa6cfd0f9ca975d9221d0a89320623
2019-06-05 14:28:51 -04:00
Clayton Coleman
58c2617e28 Calling PatchAction on typed objects should work correctly
Only Unstructured objects worked (because unstructured implicitly
clears the .Object map when Unmarshal is called). We must reset
obj before we attempt to unmarshal into it.

Kubernetes-commit: 3b599b383d32d80188fdc73adae1613cc167cbdd
2019-06-05 14:27:59 -04:00
Kubernetes Publisher
e65ca70987 Merge pull request #78520 from yastij/event-set-source
set deprecatedEventSource to be backward compatible

Kubernetes-commit: 766737ed8602ebd4a5e9c3e7cc454c00d08fd48c
2019-06-02 13:00:07 +00:00
Yassine TIJANI
540d4de249 set deprecatedEventSource to be backward compatible
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: 41e384397cf8505f226dc18f4250b297f98937ab
2019-05-30 13:03:20 +00:00
Kubernetes Publisher
88ff0afc48 Merge pull request #78482 from tedyu/evt-expansion
Check namespaces match in UpdateWithEventNamespace

Kubernetes-commit: b3981a2f9acce4ee57f55131873ceaccf1707598
2019-05-31 13:24:39 +00:00
Kubernetes Publisher
d58e65e5f4 Merge pull request #78465 from yuwenma/bump-klog
Bump klog to v0.3.2

Kubernetes-commit: b094dd9bc3a4617b587b04993931a6110691ddc0
2019-05-31 13:24:38 +00:00
Kubernetes Publisher
5cefd29505 Merge pull request #78037 from yastij/fix-event-cleanup
clean singleton event when calling finishSeries

Kubernetes-commit: b0a81349effc68e19a6e063c8b7ebe0a4c8774e3
2019-05-31 13:24:37 +00:00
Kubernetes Publisher
5ecd7315c7 Merge pull request #78176 from yastij/event-expansion-client
add event_expansion for v1beta1 Events

Kubernetes-commit: 3978efc2167d9b3bcf266b7c2f3e7fb579f04e20
2019-05-31 13:24:36 +00:00
Kubernetes Publisher
d2583122ce Merge pull request #77434 from mikedanese/watching
NewIndexerInformerWatcher: fix goroutine leak

Kubernetes-commit: 4fed75302a869c1c633e482af5e9d5fa3966fba6
2019-05-31 13:24:35 +00:00
Ted Yu
898c0bb9ba Check namespaces match in UpdateWithEventNamespace
Kubernetes-commit: 5990a7d5070400616192c09e3d68f5cebcf9db2f
2019-05-29 08:40:02 -07:00
Nikhita Raghunath
bae599d048 Update SECURITY_CONTACTS with current PSC
Kubernetes-commit: 42ea492bfdab9fcfd67dd4ea621b8a1a40da550d
2019-05-29 15:22:35 +05:30
yuwenma
339a6d47a3 Bump klog to v0.3.2
Kubernetes-commit: 5cef37433e55827226f20981598ddfa2c6511809
2019-05-28 22:45:19 -07:00
Kubernetes Publisher
79226fe194 Merge pull request #77793 from SataQiu/fix-golint-client-go-20190513
Fix golint failures of client-go/tools/auth client-go/tools/portforward

Kubernetes-commit: 5666982b2745e88d2009e4155d4a22f6c01061df
2019-05-28 15:47:35 +00:00
Kubernetes Publisher
df931a0dfc Merge pull request #78216 from mtaufen/update-klog
Update klog to v0.3.1

Kubernetes-commit: 25b0d2dbf4521bd1e7bae471d85c369eb89f9555
2019-05-28 15:47:35 +00:00
Michael Taufen
ecfd343fcc Update klog to v0.3.1
Includes recent fixes, notably https://github.com/kubernetes/klog/pull/66

Kubernetes-commit: ee7bcc53a206f669b057e38a477b51b3477aab23
2019-05-22 10:51:33 -07:00
Kubernetes Publisher
cbb2f3806a Merge pull request #78019 from mrkm4ntr/use-constant
Change to use a constant

Kubernetes-commit: 15d88d19d33ffd50bc54bcb7f95946ecedb4e42b
2019-05-28 15:47:33 +00:00
Kubernetes Publisher
ba257ce558 Merge pull request #77991 from mikedanese/ledoc
cleanup some leader election client doc

Kubernetes-commit: 69c90d8cca62d4dbb1acb966608d5100bada5500
2019-05-28 15:47:33 +00:00
Kubernetes Publisher
09484b1d58 Merge pull request #78063 from tedyu/evt-lock
Change lock type to write lock in eventBroadcasterImpl

Kubernetes-commit: 667c3ed94cdf52fb7dd26cfa9de7759df639c7d2
2019-05-28 15:47:32 +00:00
Kubernetes Publisher
2830425c91 Merge pull request #77170 from smarterclayton/delay_queue_reentrant
DelayingQueue.ShutDown() should be reentrant

Kubernetes-commit: 4891eaa3adbfafb61d2bd264d2f0daef124ee8b9
2019-05-28 15:47:31 +00:00
Kubernetes Publisher
206dbbdfd5 Merge pull request #78041 from yastij/fix-lastTimeObserved
update LastObservedTime instead of eventTime

Kubernetes-commit: b6f51d16d8a26558356b2eb876f7f3fdb0265aa9
2019-05-28 15:47:30 +00:00
Ted Yu
3ebee8cab0 Change lock type to write lock in eventBroadcasterImpl
Kubernetes-commit: 94af465819bd41a97b00acf997d5a7e077cbb654
2019-05-17 19:19:42 -07:00
Kubernetes Publisher
4645e65539 Merge pull request #78040 from tedyu/evt-broadcast
Use lock in eventBroadcasterImpl#refreshExistingEventSeries

Kubernetes-commit: 7809732e307e429b718a7675c08e19c1675789a9
2019-05-17 18:57:42 -07:00
Yassine TIJANI
1a6ae704e2 update LastObservedTime instead of eventTime
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: c6b224b16cff3c69b7a0d5b98b02c89777277971
2019-05-17 18:56:38 +02:00
Ted Yu
c3d4ca8db6 Use lock in eventBroadcasterImpl#refreshExistingEventSeries
Kubernetes-commit: 32241b0751c9b9bd5d061eae9a42bd88970d8478
2019-05-17 09:30:54 -07:00
Kubernetes Publisher
7fc601088d Merge pull request #65782 from yastij/eventv2-eventf
Implementing logic for v1beta1.Event API

Kubernetes-commit: e67c266a72bf7b379a2b283a9989804f2282bac5
2019-05-28 15:47:28 +00:00
Kubernetes Publisher
f027d0f9e7 Merge pull request #77945 from michaelfig/client-go-namespaced-dynamicinformer
Honour NewFilteredDynamicSharedInformerFactory namespace argument

Kubernetes-commit: e0f28e5d0f03392e2970742426438c05a1778cb4
2019-05-28 15:47:27 +00:00
Kubernetes Publisher
4ec78d810e Merge pull request #77936 from liggitt/shorten-cert-wait
Interrupt WaitForCertificate if desired kubelet serving cert changes

Kubernetes-commit: a6b546eb72481165bc4d799d74c2ee8ae903e254
2019-05-28 15:47:26 +00:00
Kubernetes Publisher
864b54ac36 Merge pull request #77925 from liggitt/icc-tokenfile
honor overridden tokenfile, add InClusterConfig override tests

Kubernetes-commit: 56683a2f1f4a16f592634306633a6bb3e252f051
2019-05-28 15:47:25 +00:00
Kubernetes Publisher
19c6c11b98 Merge pull request #77874 from yuchengwu/fix-CVE-2019-11244
fix CVE-2019-11244: `kubectl --http-cache=<world-accessible dir>` cre…

Kubernetes-commit: 730bc968b95842022c4c81d607bf6411b459a675
2019-05-28 15:47:24 +00:00
Kubernetes Publisher
e10a9b6eaa Merge pull request #77585 from andyxning/fix_leader_election_start
enhance leader election doc

Kubernetes-commit: c2847e8b689c92d5cc4f1bb00d96df9dcc2cebfe
2019-05-28 15:47:24 +00:00
Kubernetes Publisher
ed5ad93c9c Merge pull request #76442 from viegasdom/fix-golint-utils-bandwith
Fix golint failures of util/bandwith/*.go

Kubernetes-commit: 37281a400d29ec4f515fb8a590d4f012689d89d7
2019-05-28 15:47:23 +00:00
viegasdom
56a6b7d222 sync: squashed up to merge 69bd30507559be3dea905686b46bc3295c951f45 in 37281a400d29ec4f515fb8a590d4f012689d89d7 2019-05-28 15:47:22 +00:00
Yassine TIJANI
0dc1c77c9f clean singleton event when calling finishSeries
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: b6663e8d4fceb6f7de7267149341d51966276df8
2019-05-17 16:55:45 +02:00
Yassine TIJANI
f6c046f83a add event_expansion for v1beta1 Events
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: e29cb0fb7fbf5470e7caf2b3f1fc3d039bdda4ca
2019-05-17 12:12:19 +02:00
Shintaro Murakami
b37f4f2534 Change to use a constant
Kubernetes-commit: 2fcb248354ed5a3bf3154b1a8a0aafa237b2b37c
2019-05-17 18:40:03 +09:00
Mike Danese
e4a7e70861 cleanup some leader election client doc
Kubernetes-commit: 5df7f529f063ab354b050418b40c1f1dd2600175
2019-05-16 12:54:50 -07:00
Michael FIG
c80077227f Honour NewFilteredDynamicSharedInformerFactory namespace argument
Kubernetes-commit: 2ed3272a5e428690c066a7c09e5c6a2fad3d74b6
2019-05-15 11:48:17 -06:00
Jordan Liggitt
987d27d1af Interrupt WaitForCertificate if desired kubelet serving cert changes
Kubernetes-commit: 739a75fc32c5337ddbd13691e9bf6648fb13ff0d
2019-05-15 11:47:23 -04:00
Jordan Liggitt
9ae57bd75e honor overridden tokenfile, add InClusterConfig override tests
Kubernetes-commit: 7306fb7a89739a2fb48bfeb74595a5daa25060bd
2019-05-15 08:15:02 -04:00
Kubernetes Publisher
7b18d6600f Merge pull request #77613 from mikedanese/fixinclusterconfig
BoundServiceAccountTokenVolume: fix InClusterConfig

Kubernetes-commit: 5c4b6528c2e9fa989bb6af9dea15d28ca6ac4ef3
2019-05-15 06:37:10 +00:00
Kubernetes Publisher
78e94f51a0 Merge pull request #70929 from mikedanese/cmp
migrate everything to unify diff.Diff method using cmp

Kubernetes-commit: 1ae09a371faccfc193f9b8d82a9ef77bf3e7fb14
2019-05-15 02:37:09 +00:00
Mike Danese
459cb72bc6 BoundServiceAccountTokenVolume: fix InClusterConfig
Kubernetes-commit: 4198f28855cbda6dac61408fcba6f2d576a9347c
2019-05-14 09:29:16 -07:00
Yucheng Wu
790a4f6363 fix CVE-2019-11244: kubectl --http-cache=<world-accessible dir> creates world-writeable cached schema files
Kubernetes-commit: f228ae3364729caed59087e23c42868454bc3ff4
2019-05-14 14:49:38 +08:00
Andy Xie
f2156b6dde enhance leader election doc
Kubernetes-commit: 95f33ce39957e86cc3e81f4c8f325ecd133cbe9d
2019-05-14 10:36:22 +08:00
Sergiusz Urbaniak
ee078c72e2 pkg/util/workqueue: delete deprecated metrics
This deletes deprecated metrics and simplifies registration.

Kubernetes-commit: 4532cfd85c00da6f64e03fcf05f5636adc1151c7
2019-05-13 13:22:08 +02:00
SataQiu
185f79a1f6 fix golint failures of client-go/tools/auth client-go/tools/portforward
Kubernetes-commit: a89d75e3b822a13377373b0ef1c1969c69c616ec
2019-05-13 11:13:38 +08:00
Mike Danese
ba0da5aa4d NewIndexerInformerWatcher: fix goroutine leak
There was some weird queuing going on. The queue was implement by
spawning goroutines that would block on the "ticketer" until it was
their turn to write to the output channel. If N events where in the
watch when the consumer of the watch stopped reading events, N
goroutines would leak. In unit tests of the certificate manager, this
was causing ~10k goroutines to leak.

Fix it with a buffering event processor that uses only one routine and
cancels correctly.

Kubernetes-commit: cafc640bfa0f7362b178b1b896085962d018afe3
2019-05-03 23:50:53 -04:00
Clayton Coleman
bdead75b4b DelayingQueue.ShutDown() should be reentrant
All queue ShutDown() calls should be able to be invoked multiple times.

```
Observed a panic: "close of closed channel" (close of closed channel)
/go/src/github.com/openshift/cluster-version-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:76
/go/src/github.com/openshift/cluster-version-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65
/go/src/github.com/openshift/cluster-version-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51
/usr/local/go/src/runtime/asm_amd64.s:573
/usr/local/go/src/runtime/panic.go:502
/usr/local/go/src/runtime/chan.go:333
/go/src/github.com/openshift/cluster-version-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:137
```

Use sync.Once to guarantee a single close.

Kubernetes-commit: d2f7eb5235a93556261c8947e7a87342aeeaee2b
2019-04-27 16:16:55 -04:00
Mike Danese
366dcbb3df vendor github.com/google/go-cmp
Kubernetes-commit: 76f683a8f3dc2977846e16b2ea14208a51c2cb6b
2019-04-22 21:41:46 -07:00
Kubernetes Publisher
36e0c54762 Merge pull request #77456 from MikeSpreitzer/fix-run-comment
Fix comment on SharedInformer.Run

Kubernetes-commit: e5fec6507bf1642917c34d84ef453ec53cd47dbc
2019-05-14 02:37:11 +00:00
Kubernetes Publisher
c6f3777976 Merge pull request #77753 from liggitt/prune-replace
Prune matching replace directives in staging repos more effectively

Kubernetes-commit: 6f6890b09e2a8ae7eaaea0a5052d45c3960e1c76
2019-05-11 02:37:11 +00:00
Jordan Liggitt
4d7952c18c generated files
Kubernetes-commit: eb82dddfdd504c2956ec438b739e01230067e90f
2019-05-10 15:41:34 -04:00
Kubernetes Publisher
066127c6df Merge pull request #77636 from MikeSpreitzer/fix77634
Made the comment on SharedInformer give a complete description

Kubernetes-commit: ee19c1ecef2a004b183186b4e373db6cfd4a1906
2019-05-10 06:37:02 +00:00
Kubernetes Publisher
c1b7d8fba7 Merge pull request #77659 from imazik/master
Update client-go example README.md (fix typo)

Kubernetes-commit: 1a162790f647797189403411d3d5385475c5fa6d
2019-05-10 06:37:01 +00:00
Shovan Maity
778d000492 Update client-go example README.md (fix typo)
Signed-off-by: Shovan Maity <shovan.maity@mayadata.io>

Kubernetes-commit: 25dec55d61190ad1916de61bf7a06d26327bac76
2019-05-09 19:30:43 +05:30
Mike Spreitzer
1dd778153e Made the comment on SharedInformer give a complete description
This comment formerly contained only a contrast with "standard
informer", but there is no longer such a thing so the comment lacked
much important information.

Kubernetes-commit: 121e4741463043eac188bb4eed51f07122262d69
2019-05-09 01:34:02 -04:00
Kubernetes Publisher
1babf78c8b Merge pull request #77479 from danielqsj/id
fix increment-decrement lint error

Kubernetes-commit: 11a46d2515ccac231a20626ef14fbb28724075f8
2019-05-08 06:37:11 +00:00
Kubernetes Publisher
1697ab523a Merge pull request #72999 from nuistzyw/word
Fix a spelling error

Kubernetes-commit: 7673b2d1613474fc46442ad0bf572de7938c4847
2019-05-08 06:37:10 +00:00
danielqsj
8cfd3fd773 fix increment-decrement lint error
Kubernetes-commit: 142fe19f2d79e5bdd8fb7ac6a06e23012d1e8e6a
2019-05-06 13:14:51 +08:00
Mike Spreitzer
76ec0dac1e Fix comment on SharedInformer.Run
The old wording suggested that `Run` only gets the controller started.
Changed the wording to make it clear that `Run` only returns after the
controller is stopped.

Kubernetes-commit: fad9dec758be4dcc49735aea98ada2de46cff9fe
2019-05-04 23:27:42 -04:00
Kubernetes Prow Robot
ef81ee0960 Merge pull request #591 from nikhita/test-prow
Remove travis in favour of Prow
2019-05-01 03:48:56 -07:00
Kubernetes Publisher
65184652c8 Merge pull request #77070 from feiskyer/autorest-update
Upgrade go-autorest to v11.1.2

Kubernetes-commit: 9e29c3e39f916fe67654c9e06ada23e42217e532
2019-04-25 17:27:11 +00:00
Pengfei Ni
e627a7e49a Upgrade go-autorest to v11.1.2
Kubernetes-commit: 7976402a8716fa269346f104dbf1fc91af56c7c8
2019-04-25 16:51:30 +08:00
Kubernetes Publisher
157c3d4541 Merge pull request #76914 from tsuna/master
vendor: update golang.org/x/oauth2

Kubernetes-commit: 219b166cb172344ee666a107161c07ba3805bd67
2019-04-24 05:27:10 +00:00
Kubernetes Publisher
39b6c766b2 Merge pull request #76567 from liggitt/client-go-install
Update client-go module install instructions

Kubernetes-commit: baa8b398db9593b6ff19c27056768748f40d795e
2019-04-23 17:27:18 +00:00
Benoit Sigoure
12b4f300cc vendor: update golang.org/x/oauth2 and cloud.google.com/go
Pick up the bug fix for golang/oauth2#237
Bump up cloud.google.com/go as a result of updating the OAuth2 code.

This commit was generated by:
./hack/pin-dependency.sh golang.org/x/oauth2 9f3314589c9a
./hack/pin-dependency.sh cloud.google.com/go v0.34.0
./hack/update-vendor.sh
git add vendor
git add -u

Kubernetes-commit: ef492e2d70385c43c5f1dad203ce635b40699341
2019-04-22 16:07:52 -07:00
Kubernetes Publisher
59781b88d0 Merge pull request #76796 from dims/remove-unused-methods
Remove unused code

Kubernetes-commit: 29163600feb394577caa87f58064226e0349ff0e
2019-04-19 21:27:32 +00:00
Kubernetes Publisher
1d2e9628a1 Merge pull request #76474 from vincepri/update-klog-030
Update klog to 0.3.0

Kubernetes-commit: 17fe18bd9cc5652a5dee688255323ce2d07538dd
2019-04-18 21:27:17 +00:00
Davanum Srinivas
2537fc5f76 remove unused code
Change-Id: If821920ec8872e326b7d85437ad8d2620807799d

Kubernetes-commit: 7b8c9acc09d51a8f6018eafc49490102ae7cb0c4
2019-04-18 17:22:45 -04:00
Nikhita Raghunath
3c381244c2 Remove travis in favour of prow 2019-04-16 22:49:41 +05:30
Kubernetes Publisher
b7bf0a35f1 Merge pull request #76595 from danielqsj/pa
clean the deprecated func Parallelize

Kubernetes-commit: f44d04c1a205a4d650ec7ba3ec9a3a0ae0902366
2019-04-16 09:26:45 +00:00
Kubernetes Publisher
4dc5e1154b Merge pull request #76610 from liggitt/bump-proto
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415

Kubernetes-commit: 701e36bd5bc265174ac9c4ce983dcc044e5bad53
2019-04-16 05:26:45 +00:00
Jordan Liggitt
b3a67e1407 github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415
Kubernetes-commit: 7a6d64a3e930120dddc78ad0d12493ea70469ffa
2019-04-15 10:58:44 -04:00
Kubernetes Publisher
0df29606e0 Merge pull request #76559 from liggitt/bump-prometheus
bump github.com/prometheus/client_model, github.com/prometheus/profcs to preferred versions

Kubernetes-commit: 117160a9e2282aeac36e8b31f655f070202e09c7
2019-04-15 13:26:52 +00:00
danielqsj
f12b22a8d9 clean the deprecated func Parallelize
Kubernetes-commit: a10021787b2d037e3c1d44a205980fd48ac23eff
2019-04-15 18:15:28 +08:00
Jordan Liggitt
09d1dca9d8 Update client-go module install instructions
Kubernetes-commit: 62b4bcd1561a818a5b528a37fdb31ec66bbc5a76
2019-04-14 15:10:16 -04:00
Jordan Liggitt
e6938fbb75 github.com/golang/protobuf v1.2.0
Kubernetes-commit: 12d66f6d640e7480fadabcb552762879228ecf1f
2019-04-14 00:43:05 -04:00
Kubernetes Publisher
108c485f89 Merge pull request #76522 from liggitt/prune-replace
Prune replace directives

Kubernetes-commit: e68888384bc3e6310a54d0a516419394bf6e9aba
2019-04-13 05:26:42 +00:00
Jordan Liggitt
acd2d2a6b0 generated: hack/update-vendor.sh
Kubernetes-commit: 498959accc060c81536101f7dd570289f4f8c0f2
2019-04-12 16:38:00 -04:00
Vladimir Vivien
abf396d787 Create-update-delete-deployment example using dynamic package
Kubernetes-commit: 103c71a2b576cf2557418df3f235744b1d7f1e4e
2019-04-12 13:37:18 -04:00
Vince Prignano
08d927e1a1 Update klog to 0.3.0
Signed-off-by: Vince Prignano <vincepri@vmware.com>

Kubernetes-commit: 3f552264ca28a4738c77ebed8414d0d2dc8e7063
2019-04-11 15:57:45 -07:00
Kubernetes Publisher
c34bf9c3f7 Merge pull request #76652 from liggitt/ginkgo
github.com/onsi/ginkgo v1.6.0

Kubernetes-commit: e4a43656074e36d1529d4ca0bc3db451f2cde257
2019-04-17 21:27:02 +00:00
Kubernetes Publisher
b560730196 Merge pull request #75474 from hormes/add_heartbeat_inside_watch
add heartbeat inside watch

Kubernetes-commit: 84a859fbcfed59cc29d9cf33a0815dcc85348373
2019-04-16 21:26:41 +00:00
Jordan Liggitt
9bd918eeb1 github.com/onsi/ginkgo v1.6.0
Kubernetes-commit: 56b19637052d58b57844f5dd579de3923f1c7d6a
2019-04-16 10:28:44 -04:00
Kubernetes Publisher
7a6b4715b7 Merge pull request #75849 from jpbetz/pagination-podgc
Add ListPager.EachListItem util

Kubernetes-commit: d5dbc0019123f42c678a1f012a068941d56087c8
2019-04-11 05:26:41 +00:00
Kubernetes Publisher
05172190e9 Merge pull request #76383 from xichengliudui/update-clien-docs
Update README.md files in client-go

Kubernetes-commit: 0cd40a6d51af2a814c91658981213166bb91fd7e
2019-04-10 21:26:39 +00:00
aaa
90da71b8c3 Update some readme.md files in client-go
Kubernetes-commit: 1c424fddc2a564588fc5b32731cf4c0e52f86ef7
2019-04-09 06:56:52 -04:00
Kubernetes Publisher
ca8df85b17 Merge pull request #76215 from liggitt/update-vendored-dependencies
Update vendored dependencies

Kubernetes-commit: 1cca3f9d45a6aae62145b8630e36722bd316ef88
2019-04-09 09:27:06 +00:00
Jordan Liggitt
5706478b69 golang.org/x/tools v0.0.0-20190313210603-aa82965741a9 (release-branch.go1.12)
Kubernetes-commit: 389f76235cb8e2457d681d07c89d1342cee13b3b
2019-04-06 11:11:39 -04:00
Jordan Liggitt
c53debf1b4 golang.org/x/crypto v0.0.0-20181025213731-e84da0312774 (release-branch.go1.12)
Kubernetes-commit: 97c130b0560982556f54dc83d38d9e70e8be9320
2019-04-06 10:20:37 -04:00
Jordan Liggitt
aca271b5f4 golang.org/x/sys v0.0.0-20190209173611-3b5209105503 (release-branch.go1.12)
Kubernetes-commit: 921f3ea8da0a29cd9b06413439485b36ef6426b6
2019-04-05 14:20:21 -04:00
Jordan Liggitt
08575a9eb2 golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db (release-branch.go1.12)
Kubernetes-commit: 55d52fd5c35351c221f055ab08f3855ab5782b0d
2019-04-05 11:18:45 -04:00
Jordan Liggitt
b0cc8c7b30 github.com/stretchr/objx v0.1.1, github.com/stretchr/testify v1.2.2
Kubernetes-commit: e8e15acff61ee4e291396e37081c6137ec33ad5d
2019-04-06 10:39:05 -04:00
Jordan Liggitt
85d9fd0072 github.com/sirupsen/logrus v1.2.0
Kubernetes-commit: 3cabb5e65417285f18f14d5d2f2c2ab8cb873a64
2019-04-05 13:35:02 -04:00
Jordan Liggitt
f90d5ea8dd github.com/pmezard/go-difflib v1.0.0
Kubernetes-commit: 65a6613fe2c1094eba8c6e33d4df861e45af938d
2019-04-05 13:26:32 -04:00
Jordan Liggitt
cc353da02e github.com/pborman/uuid v1.2.0
Kubernetes-commit: e2e1f497d09cc931c59ba5f9b20e3d912b4cb4fc
2019-04-05 11:51:23 -04:00
Jordan Liggitt
408147bc77 github.com/davecgh/go-spew v1.1.1
Kubernetes-commit: 8ad7a9595a94593fed9570b7151ddaa858c2f499
2019-04-05 11:21:58 -04:00
Kubernetes Publisher
b7e8408f65 Merge pull request #76197 from liggitt/generated-vendor
Mark staging go module files as generated, add script to lint dependencies

Kubernetes-commit: 8a2f8e69ed0cfaae38cf7a40cc40b71a36ff319b
2019-04-08 17:26:23 +00:00
Jordan Liggitt
1ddc8c9dfe generated: hack/update-vendor.sh
Kubernetes-commit: ce3dad93f51b8c793661bf4c5cb9f7677d2bc7aa
2019-04-08 09:24:24 -04:00
Kubernetes Publisher
89226ff906 Merge pull request #75123 from booxter/log_message_client_go
Fixed log message in client-go

Kubernetes-commit: d2beadc5f9a9529eadf292f122e93a5ce1a78f1f
2019-04-05 21:26:09 +00:00
Kubernetes Publisher
a18eda0c05 Merge pull request #76162 from nikhita/bump-gengo
Bump gengo to avoid large errors in verify logs

Kubernetes-commit: 223f355ba47e20affd41d035c7fc1e471f5a2acf
2019-04-05 17:26:24 +00:00
Kubernetes Publisher
89e9ab5330 Merge pull request #76175 from stealthybox/refactor-mediatype-loops
Refactor loops over `SupportedMediaTypes()` where mediaType is used to match a single SerializerInfo{}

Kubernetes-commit: 84b561033eea9a4dac5b04df4f387efa7a7e9940
2019-04-05 09:26:25 +00:00
Kubernetes Publisher
95d8a92c48 Merge pull request #76153 from liggitt/update-vendor-cleanup
Update vendor cleanup

Kubernetes-commit: 470bda42c382ff0c02ac9fd5cbfcd4ee5e081cb1
2019-04-05 09:26:24 +00:00
Kubernetes Publisher
1268fab57b Merge pull request #76098 from smarterclayton/move_direct_encoder
Move DirectEncoder to runtime, rename, add .WithoutConversion() on CodecFactory

Kubernetes-commit: 28295b0e784ab1f9f1a1aada5955bbf224cf59cc
2019-04-05 05:26:20 +00:00
leigh capili
6c6c98c9ca Refactor loops over SupportedMediaTypes() where mediaType is used to match a single SerializerInfo{}
We have an existing helper function for this:  runtime.SerializerInfoForMediaType()

This is common prep-work for encoding runtime.Objects into JSON/YAML for transmission over the wire or writing to ComponentConfigs.

Kubernetes-commit: 47e52d2981dc2a5c5950042f50688cf24dd92eda
2019-04-04 19:01:01 -06:00
Nikhita Raghunath
31f4cfb1b5 bump(k8s.io/gengo): f8a0810f38afb8478882b3835a615aebfda39afa
Kubernetes-commit: 2095ac9b069ef9fec8e7c0dd4836357b0914124c
2019-04-04 23:50:06 +05:30
Kubernetes Publisher
2e1a3ed22a Merge pull request #71049 from booxter/expose-tracker-for-fake-simpleclientset
Expose object tracker for fake clientsets

Kubernetes-commit: 4da579b68abb7a5a737a7d4350006e5b13b03ddc
2019-04-04 17:26:13 +00:00
Jordan Liggitt
5953f520f9 generated
Kubernetes-commit: f5ea2344ae69015f6970dd045ea6087e9cbe7121
2019-04-04 11:51:03 -04:00
Kubernetes Prow Robot
0346d52837 Merge pull request #583 from nikhita/readme
Update README to reflect v11.0.0 release
2019-04-04 02:38:51 -07:00
Nikhita Raghunath
52eec3d2ff Update README to reflect v11.0.0 release 2019-04-04 15:04:31 +05:30
Kubernetes Prow Robot
2d3d91e38e Merge pull request #582 from kubernetes/sttts-travis-go-mod
Update .travis.yml for go.mod
2019-04-04 02:04:52 -07:00
Dr. Stefan Schimanski
a3ddca5b74 Skip godep restore int travis 2019-04-04 10:54:15 +02:00
Dr. Stefan Schimanski
617d24211c Update .travis.yml for go.mod 2019-04-04 10:49:03 +02:00
Kubernetes Publisher
2a3e58aa70 Merge pull request #75771 from liggitt/AnonymousClientConfig
Exclude custom transports when constructing AnonymousClientConfig()

Kubernetes-commit: fc556f0d9ba59ac47c76e4d60a9ba261e0c622f3
2019-04-04 07:01:24 +00:00
Kubernetes Publisher
5e968874f2 Merge pull request #75092 from vivekbagade/feature/add-config-to-aggregation
Added config to EventCorrelator in client-go

Kubernetes-commit: f171f9ee75894662ddb8d5c9154935bd9ee660f6
2019-04-04 07:01:23 +00:00
Kubernetes Publisher
1300bc81aa Merge pull request #75389 from jpbetz/pagination-v1
Paginate watch cache->etcd List calls & reflector init/resync List calls not served by watch cache

Kubernetes-commit: c79fbabf234bea36f7b870da8e763c542c804be0
2019-04-04 07:01:22 +00:00
Kubernetes Publisher
75debb4b68 Merge pull request #74877 from liggitt/go-mod-cleanup
add go module support, manage vendor directory using go modules

Kubernetes-commit: d920430ce4a9140102d06664c6aa1cd6792cab05
2019-04-04 07:01:21 +00:00
Clayton Coleman
3da8d3a9fe Use CodecFactory.WithoutConversion() everywhere
Clarifies that requesting no conversion is part of the codec factory, and
future refactors will make the codec factory less opionated about conversion.

Kubernetes-commit: 7f9dfe58f4cbe1e1b9e80f52addff70bac87bed4
2019-04-03 13:24:37 -04:00
Clayton Coleman
b83dc9a7d9 Fake ObjectReaction should handle PartialObjectMetadata special
When a client requests a PartialObjectMetadata returned from the
ObjectReaction type, if the object has a GVK set use that instead
of what the schema returns, since the majority of clients getting
partial object metadata will be doing so using the metadata client
or server side conversion.

Kubernetes-commit: baf091e9dbad00db39e246815f9d7a21d148044f
2019-04-03 12:12:11 -04:00
Clayton Coleman
0eaec69666 Add a metadata client to client-go that can read PartialObjectMetadata
This client exposes operations on generic metadata (get, list, watch, delete)
and allows patch operations. The client always uses protobuf and requests
the server transform the response into the appropriate object. Using this
client simplifies the work of generic controllers by allowing them to treat
all objects the same, and also improves performance both in the amount of
data sent as well as allowing protobuf on CRD resources.

Kubernetes-commit: 21f5e643d9dbe6b65d21713dc16ab8888de5423e
2019-04-02 15:45:07 -04:00
Jordan Liggitt
afabcc0be6 generated: hack/update-vendor.sh
Kubernetes-commit: d0261b10770210f83edbcfe379db24e1b82a9e86
2019-04-01 11:07:04 -04:00
Joe Betz
24499f0573 Add pager.EachPageItem utility function to incrementally process lists
Kubernetes-commit: 6a64ee638780de4dcfa2ab2b4fc739dd23127c49
2019-03-28 15:39:14 -07:00
Jordan Liggitt
f570226af0 Exclude custom transports when constructing AnonymousClientConfig()
Kubernetes-commit: 05b764dbe3e0f979f1d17293a13bafda688d5951
2019-03-27 09:29:07 -04:00
Jordan Liggitt
e06a4c0151 Update client-go docs for modules
- remove dep (c0a827dad6acc5fdea09967411aeeb9a8731d58f)
- move godep to bottom (3308b07da50c9547bcbfa50297b9bb91a02e88a2)
- bump example versions (9704cd1347ee287d388aa8f2b0091d4fe09640bb)
- add go modules section (e37037f5ae7c862a4255465ef328b8a3b6db038a)
- update go get docs (cda29fd9329a29856e5e3b218250b57ce8cbcd8f)

Kubernetes-commit: c8a8fb4177dbf3449684133f92bd065df8cb0419
2019-03-21 23:33:40 -04:00
Kubernetes Publisher
4009d98e83 Merge pull request #75595 from liggitt/client-go-instructions
Add preliminary go module instructions to client-go

Kubernetes-commit: b75e28fe736a6fe7a479f0914d01c55794c410c8
2019-04-01 10:51:00 +00:00
Kubernetes Publisher
6b306657f1 Merge pull request #73937 from smarterclayton/report_errors
Report a watch error instead of eating it when we can't decode

Kubernetes-commit: c28b3b1fdd0d00972461653ac33599ffe5eccb2e
2019-03-28 22:49:20 +00:00
Kubernetes Publisher
d41af2f7d3 Merge pull request #74747 from liggitt/quota-deadlock
quota controller fixes

Kubernetes-commit: a8cbb2250624524c8f3bba33f0ec09e8a252c26b
2019-03-27 18:52:52 +00:00
Jordan Liggitt
6e554669ac Add preliminary go module instructions to client-go
Kubernetes-commit: 3a988cfb8c2638ed76401a3fc2d8eb695d5b18d2
2019-03-22 09:47:51 -04:00
Joe Betz
d43f2ef228 Add resourceVersion=0 paginated list integration test for disabled and enabled watch cache
Kubernetes-commit: e5a4f09ab3ac15815ceb039fbc7f546266855fd6
2019-03-21 11:25:07 -07:00
fansong.cfs
94d52886d7 add watch bookmark
Kubernetes-commit: d70edd3d39d4430d71c4b7c9adba8df5ba7f16c8
2019-03-19 18:16:23 +08:00
Joe Betz
d858f18787 Paginate List call performed by Reflector's ListAndWatch call
Kubernetes-commit: 84723c2d3ef5ff5d30aadd1ad72068bf2254358c
2019-03-14 13:26:19 -07:00
Jordan Liggitt
0e7e85480f Generated files
Kubernetes-commit: 0f9ebe5e16ab892cbcd27c884cea9b57b49a5c5a
2019-03-13 20:55:43 -07:00
Kubernetes Publisher
35ae057ca1 Merge pull request #75730 from wojtek-t/minor_perf_improvements
Avoid allocations in ByIndex() function

Kubernetes-commit: feb9bb151c6a52cf408d5f9fab0bc49b8ea886fc
2019-03-27 02:48:30 +00:00
Kubernetes Publisher
ad771aa269 Merge pull request #75445 from shinytang6/enhance/fmt
Replace all time.Now().Sub with time.Since

Kubernetes-commit: 531dbd409f5b0000e54038f9736a3e148821a6eb
2019-03-26 22:48:32 +00:00
Kubernetes Publisher
6a49eed407 Merge pull request #72179 from WanLinghao/sa_controller
Migrate the controller to use TokenRequest and rotate token periodically

Kubernetes-commit: 11d472ea01f23063158e1f0e4fba37144e4edc59
2019-03-26 22:48:08 +00:00
wojtekt
49804083df Avoid allocations in ByIndex() function
Kubernetes-commit: 7d46e27db185e5281b718ad964e9c2f8777c2fc8
2019-03-26 14:14:42 +01:00
shinytang6
861da69465 replace time.Now().Sub with time.Since
Kubernetes-commit: 5c9f4d9dc67b28fb31fd95f88448c09150a4cbfb
2019-03-18 23:57:26 +08:00
Ihar Hrachyshka
e413b96486 Fixed log message in client-go
An example of incorrect log message:

{
  "component":"virtctl",
  "level":"info",
  "msg":"Config loaded from fileocp/auth/kubeconfig",
  "pos":"loader.go:359",
  "timestamp":"2019-03-07T18:50:20.923470Z"
}

Note how the resulting message has no characters between the text and
file name.

Kubernetes-commit: 65fb63a15473589f615bdfeb2f35e56414050f94
2019-03-07 08:55:43 -08:00
vivekbagade
060f7d3455 Added config to EventCorrelator in client-go
Added CorrelatorOptions that contains options to change the
defaults in EventSourceObjectSpamFilter and EventAggregator
in EventCorrelator. Added a eventCorrelator property to the
eventBroadcasterImpl to help with this.

Kubernetes-commit: 9d8e6fb1b9cf2d3fac8139a97334287e33ff911f
2019-03-07 10:39:49 +01:00
WanLinghao
0dbf86afcf Migrate the controller to use TokenRequest and rotate token periodically
Kubernetes-commit: 244b244f9d84c56ad3a5af255b70c793f6bfd39c
2019-02-19 11:42:05 +08:00
Kubernetes Publisher
c6841eb0ec Merge pull request #75576 from smarterclayton/bad_2
Remove use of `%#v` in frequently accessed code

Kubernetes-commit: 9f15368c5ceda5900a64c9bb54178531d8f7fbf2
2019-03-23 10:48:05 +00:00
Kubernetes Publisher
8cc9379970 Merge pull request #75570 from smarterclayton/fix_performance
Fix a regression in watch performance and reduce allocations in the GET path

Kubernetes-commit: b3824cd094f73def9d3cdb659f7fab9d855318fe
2019-03-22 22:50:06 +00:00
Clayton Coleman
c48e0dd815 Avoid using %#v for errors when %T is more informative
`%#v` may have significant performance costs in frequently invoked code.

Kubernetes-commit: 435db312e1773d3ad506604219b9b1d00176d6fc
2019-03-21 22:54:06 -04:00
Clayton Coleman
3d7e523148 Avoid using %#v for errors when %T or %s would be more accurate
`%#v` may have significant performance costs in frequently invoked code.

Kubernetes-commit: ecd43f13cfdb18cec71c74fa4c1e202a35341498
2019-03-21 22:53:43 -04:00
Clayton Coleman
33b8c3799f Unify runtime.SerializerInfo with negotiate.AcceptedMediaTypes
There was no reason to have two types and this avoids ~10% of allocations
on the GET code path.

```
BenchmarkGet-12          	  100000	    109045 ns/op	   17608 B/op	     146 allocs/op

BenchmarkGet-12          	  100000	    108850 ns/op	   15942 B/op	     132 allocs/op
```

Kubernetes-commit: 0489d0b1cf139253b82f73b072578073bc5616d6
2019-03-21 21:00:55 -04:00
Kubernetes Publisher
3110a47af2 Merge pull request #75585 from tiffanyfay/cache
Updated client-go expiration cache to take in expiration policies

Kubernetes-commit: e739b553747940324cf4a91429aea905371f89a1
2019-03-22 14:47:54 +00:00
tiffany jernigan
9e76b965b3 Updated client-go expiration cache to take in expiration policies
Kubernetes-commit: bc226a2a899a6d7d85be3b589d20d22c4777f84e
2019-03-22 07:38:35 +00:00
Kubernetes Publisher
6ccfe144cd Merge pull request #75072 from lblackstone/dynamic-get-name-validation
Check for required name parameter in dynamic client

Kubernetes-commit: 0118630abf4f47d17770f08e7aad862107d2ce27
2019-03-21 22:51:10 -07:00
Levi Blackstone
5691acfeec Check for required name parameter in dynamic client
The Create, Delete, Get, Patch, Update and UpdateStatus
methods in the dynamic client all expect the name
parameter to be non-empty, but did not validate this
requirement, which could lead to a panic. Add explicit
checks to these methods.

Kubernetes-commit: a9cba032dedbed9d04828c917a79a8371305d058
2019-03-06 16:21:33 -07:00
Kubernetes Publisher
8833dd0c80 Merge pull request #75240 from kairen/update-client-go-example
client-go: update leader election example

Kubernetes-commit: b3be84dcc5e3b06dbcaeca7ebb4a496b7a92ec47
2019-03-20 14:48:12 +00:00
Kubernetes Publisher
205043aa66 Merge pull request #71548 from smarterclayton/watch_converted
Support Table and PartialObjectMetadata on watch

Kubernetes-commit: 6f9bf5fe98bcc3b436fea4d6dd345a1502d20778
2019-03-20 06:47:54 +00:00
Kubernetes Publisher
caa074ae28 Merge pull request #74642 from SataQiu/fix-golint-20190227
Fix golint failures in client-go/scale/scheme/appsint, client-go/scale/scheme/extensionsint, client-go/scale/scheme

Kubernetes-commit: 6a2936dcbff9cb9592627c15172a1934af1c28bf
2019-03-20 06:47:31 +00:00
Kubernetes Publisher
4837605491 Merge pull request #75289 from dims/update-http2-dep-go-1.12
Update golang.org/x/net/... dependencies to release-branch.go1.12

Kubernetes-commit: e7d09ceb5019153831b4921ff35a170e46f634d2
2019-03-13 11:59:09 +00:00
Davanum Srinivas
dc3face7b2 Update to go 1.12 version of golang.org/x/net
Change-Id: I3f2fa5d7b6811c9eca58992318d19e44ec9131fd

Kubernetes-commit: 2aa1348e6cf4d51f91025c41d41bb7e3b9b9384d
2019-03-12 09:16:45 -04:00
Kyle Bai
efa2d6bde2 client-go: update leader election example
Kubernetes-commit: 8a82b21f46c261ac920074274b213a888f47c256
2019-03-10 22:44:45 +08:00
SataQiu
151868784d fix golint failures in client-go/scale/scheme/appsint, client-go/scale/scheme/extensionsint, client-go/scale/scheme
Kubernetes-commit: 21239a350dbee13edb4f1aa17ee7c309e3f341ed
2019-03-06 13:26:39 +08:00
zhoulin xie
4e51191303 remove redundant words 'the' in comment
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>

Kubernetes-commit: 77ba845e6d2f0cba81993621531ae5915e7c072b
2019-02-13 22:40:34 +08:00
Clayton Coleman
cd12199def Report a watch error instead of eating it when we can't decode
Clients are required to handle watch events of type ERROR, so instead
of eating the decoding error we should pass it on to the client. Use
NewGenericServerError with isUnexpectedResponse to indicate that we
didn't get the bytes from the server we were expecting. For watch, the
415 error code is roughly correct and we will return an error to the
client that makes debugging a failure in either server watch or client
machinery much easier.

We do not alter the behavior when it appears the response is an EOF
or other disconnection.

Kubernetes-commit: 89620d5667adec6c132b2713b79efb1dd2391723
2019-02-11 17:34:20 -05:00
Jordan Liggitt
6d7018244d Improve windows home directory selection
Kubernetes-commit: 448e3f792a2993ae3b3133740904ed87c4515fd0
2019-02-11 12:17:06 -05:00
Mikhail Mazurskiy
458bdf6a67 Add missing TestMain() functions
Kubernetes-commit: ca38fba0af59e1193625a18002d0bf1408c4106c
2019-01-30 15:27:39 +11:00
Prasad Ghangal
3fe0cc40c1 Update golang.org/x/net/... dependencies to release-branch.go1.11
- latest grpc-ecosystem/go-grpc-middleware

Change-Id: Ida7d01e4606f6e0313e1355db6e85be0c0ef1dd1

Kubernetes-commit: 317ecf58cc706c8851834f3b669d80a8628148c6
2019-01-07 18:29:55 +05:30
Kubernetes Publisher
191b4b1228 Merge pull request #75167 from tnozicka/fix-retry-watcher-error
Handle unstructured status in RetryWatcher

Kubernetes-commit: 44e369b000fa9c194b5fda142a9d3f62172f27f6
2019-03-11 15:58:17 +00:00
Kubernetes Publisher
dfef1155b5 Merge pull request #75201 from joelsmith/secdoc
Update embargo doc link in SECURITY_OWNERS and change PST to PSC

Kubernetes-commit: 8bde75e63f9313fdc1d4f9a806b4b3a8ea128565
2019-03-08 23:49:51 +00:00
Joel Smith
025ea9e3fd Also update SECURITY_CONTACTS from staging
Kubernetes-commit: 7fd6ea47e8fd53dd4e152e59094628ad794e7d4a
2019-03-08 11:23:24 -07:00
Tomas Nozicka
54b354c5dc Handle unstructured status in RetryWatcher
Kubernetes-commit: 8302b5b262c506ff7d363338f980ce204d574354
2019-03-08 09:34:56 +01:00
Kubernetes Publisher
c1a984fa82 Merge pull request #74433 from tallclair/runtimeclass-internal
Migrate RuntimeClass from a CRD to an internal API

Kubernetes-commit: 183e6cc1902c2088a40e60cf4138bd829d4ad80f
2019-03-08 07:52:16 +00:00
Tim Allclair
2c6eaaa872 generated files
Kubernetes-commit: 428e9fa3299161be420fcfa7987d0e37aca3ea01
2019-03-06 14:36:30 -08:00
Kubernetes Publisher
c4c6ef336e Merge pull request #74837 from mtaufen/godep-klog
Update klog dependency

Kubernetes-commit: eb95c27a5574e6ac2b166f9a6942226087c351e0
2019-03-07 16:04:46 +00:00
Kubernetes Publisher
bab6fc9d63 Merge pull request #74369 from skriss/object-tracker-merge-patch
fake client object tracker: support merge patch

Kubernetes-commit: 3199da2960768ffb91678038be60d521bb9c1eff
2019-03-07 16:04:04 +00:00
Kubernetes Publisher
9163569417 Merge pull request #74969 from tnozicka/fix-example-flake
Fix client-go fake client example flake

Kubernetes-commit: d75ddcd0a44e0a66e16a508a868f4501ac3e250d
2019-03-07 16:04:03 +00:00
Kubernetes Publisher
2aaf7914a0 Merge pull request #74153 from ixdy/bazel-kubernetes-src-tarball-new
bazel: make kubernetes-src.tar.gz actually include all srcs

Kubernetes-commit: 9f7560de70827c69ba42fd6da74c56e5c53397c2
2019-03-07 16:04:03 +00:00
Kubernetes Publisher
525240525a Merge pull request #74283 from xing-yang/csi_crd_controller
CSINodeInfo and CSIDriver Controller Changes

Kubernetes-commit: 6c31101257bfcd47fa53702cea07fe2eedf2ad92
2019-03-07 16:04:02 +00:00
Tomas Nozicka
e59babd6b3 Generated: Update Bazel
Kubernetes-commit: 88cab678ea541aa2edda2ef2971415c49edf8f86
2019-03-06 08:36:37 +01:00
Tomas Nozicka
1abd19a10b Fix client-go fake client example flake
Kubernetes-commit: 0b116d915f12181e36f02ed3a87767513074e270
2019-03-06 08:36:15 +01:00
Michael Taufen
98bb412ae3 Update klog dependency
Kubernetes-commit: 4a4c1a62390d3538dea9610a1af1e67903702a27
2019-03-01 16:39:39 -08:00
Xing Yang
3e22b55a33 Add generated files
Kubernetes-commit: 743d3a26e9767340110578f30bc774660b03396c
2019-02-26 20:50:10 -08:00
Kubernetes Publisher
9c9f7f424e Merge pull request #74795 from sttts/sttts-kube-openapi-149
kube-openapi: revendor to fix integer handling

Kubernetes-commit: 979bef156a8bfff112ab51292e38e036172d5f82
2019-03-01 17:36:21 +00:00
Dr. Stefan Schimanski
6fc1fd6eaa Update staging godeps
Kubernetes-commit: b7f11084fa563f2b30315afd4fc69a52d2b2434f
2019-03-01 09:52:34 +01:00
Kubernetes Publisher
bad694ec20 Merge pull request #74663 from tnozicka/fix-retrywatcher-unit-flake
Fix race in RetryWatcher's unit tests

Kubernetes-commit: d11baea6f9246163e3eea79f77744e918cd9dc5f
2019-02-27 21:36:13 +00:00
Kubernetes Publisher
24814d20da Merge pull request #74344 from Betula-L/fix-dynamic-informer
fix dynamic informer mishandles parameter tweakListOptions

Kubernetes-commit: 601c2d85500ec9fee9bd3c941f40c4d5e705474b
2019-02-27 17:36:02 +00:00
Kubernetes Publisher
f8b04c2bdb Merge pull request #74636 from logicalhan/reflector-metrics
Remove reflector metrics since they are causing a memory leak

Kubernetes-commit: a514fa042e49c5b95d6c03351563e54e14bc5e97
2019-02-27 17:35:40 +00:00
Tomas Nozicka
c04fc653fa Fix race in RetryWatcher's unit tests
Kubernetes-commit: b39d079b69a9ae6063204278dcd44d98d2315aa1
2019-02-27 16:35:55 +01:00
Kubernetes Publisher
269fa37ba0 Merge pull request #73676 from martin-helmich/bugfix/expose-forwarded-local-port
client-go: Dynamically assigned local port number not retrievable when port-forwarding

Kubernetes-commit: 38a325250fbefa8785740d00358978eefa160dde
2019-02-27 05:38:27 +00:00
Kubernetes Publisher
91013a0646 Merge pull request #67350 from tnozicka/retry-watcher
#50102 Task 3: Until, backed by retry watcher

Kubernetes-commit: 9059021d9ad9c988672f7663856f9c1b4c90fd01
2019-02-27 05:38:02 +00:00
Han Kang
a1320a3a47 Remove reflector metrics as they currently cause a memory leak
Kubernetes-commit: ca096f8069aff73b774c8ef38900dca898c61938
2019-02-26 16:22:24 -08:00
Kubernetes Publisher
9cc5c53f76 Merge pull request #74422 from liggitt/client-version-methods
Remove deprecated versionless client interface methods

Kubernetes-commit: be8a9b96377973f0a956a11d55be4929bbf9ffd0
2019-02-26 21:38:38 +00:00
Jordan Liggitt
e6881e4a02 Update client callers to use explicit versions
Kubernetes-commit: d1e865ee341ba37469efed8c935e22e2b483eec2
2019-02-22 10:27:46 -05:00
Steve Kriss
f0c6576981 client-fake object tracker: support merge patch
Signed-off-by: Steve Kriss <krisss@vmware.com>

Kubernetes-commit: d425fe29bd808db54c59e3e0ecdedbe735b8f68b
2019-02-21 13:47:16 -07:00
Jordan Liggitt
d2861e956f Regenerate clients
Kubernetes-commit: 93be54b28801dbffbc48fcb6018f99beadae51da
2019-02-21 13:50:12 -05:00
Kubernetes Publisher
3bc27cd877 Merge pull request #74328 from daixiang0/delete-blank
delete all duplicate empty blanks

Kubernetes-commit: 8993fbc543c18e73668793b5d5e234c0a136735c
2019-02-23 13:37:42 +00:00
Kubernetes Publisher
10c60a26bb Merge pull request #71896 from awly/client-go-keyutil
client-go: extract new keyutil package from util/cert

Kubernetes-commit: b5566c781843a1a8c19993632700e476708a9cee
2019-02-23 13:37:18 +00:00
Kubernetes Publisher
12a0647ebb Merge pull request #73555 from bsalamat/priority_to_ga
Graduate PriorityClass API to GA

Kubernetes-commit: 3afa003126ff50092954839efbe10d584c2511ff
2019-02-23 01:39:51 +00:00
Kubernetes Publisher
508753d179 Merge pull request #70803 from Adirio/controller-cleanup
Remove duplicate code in client-go/tools/cache/controller.go

Kubernetes-commit: fba3c54b9e565b276ae495f189155335c297b6ec
2019-02-23 01:39:28 +00:00
Kubernetes Publisher
6e378217e6 Merge pull request #74348 from danielqsj/ku
update k8s.io/utils to fix keymutex issues

Kubernetes-commit: d9f3e96796e2d154b1d4caa156ba95ff9b01e5b2
2019-02-22 09:37:34 +00:00
danielqsj
200b26a9b4 Update k/utils dependency in staging
Kubernetes-commit: b9ef1dd50b8db18fa3a2558289caa4e75f116260
2019-02-22 10:30:38 +08:00
Xiang Dai
879ff4004d delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>

Kubernetes-commit: 36065c6dd717c14e0a90131041e20345a7e5e324
2019-02-22 09:43:51 +08:00
luhualin
7f4dae86e2 fix dynamic informer tweakListOptions
Kubernetes-commit: 94b0bd897d04e1668d96db8d9b5e353b15f2f2da
2019-02-21 19:33:04 +08:00
Kubernetes Publisher
95d7e86e1d Merge pull request #74057 from liggitt/ingress-network-v1beta1
Ingress extensions/v1beta1 -> networking.k8s.io/v1beta1

Kubernetes-commit: 7d75b73e1d72cef7a0f0e2804f8e0a582ccb6b61
2019-02-21 09:37:52 +00:00
Kubernetes Publisher
5671c12f19 Merge pull request #74260 from stafot/update-vendor-dependencies
Update vendor package github.com/hashicorp/golang-lru

Kubernetes-commit: a2592364be3f4f9943f841182b27d0c62050a84a
2019-02-21 09:37:31 +00:00
Bobby (Babak) Salamat
e2e9f18ef2 generated files
Kubernetes-commit: 1dac6d03e3645ddcfdb00d84c158f7995cac94c8
2019-02-20 12:42:15 -08:00
Kubernetes Publisher
5b8ea8e61c Merge pull request #73601 from munnerz/reactors-shared-copy
Use a single deep copied object between all reactors in fake client

Kubernetes-commit: a782adfb9d10f3b9aba64864dda1dd7787707019
2019-02-20 05:35:18 +00:00
Kubernetes Publisher
0c67a1f23f Merge pull request #74124 from truongnh1992/fix-typo
Correcting error on source codes

Kubernetes-commit: de2ceac50ddb79154626c64a4a9c9d6a6f113656
2019-02-19 05:37:15 +00:00
Tomas Nozicka
5c442be2ce Update Bazel
Kubernetes-commit: d526dadd12731903ee1418a86d816389ecc40fc6
2019-02-18 18:22:34 +01:00
Tomas Nozicka
8ecda4e5ed Upgrade ListWatchUntil
Kubernetes-commit: 603dd254ac91b3581f9b431ff91a95d929a97e04
2019-02-18 18:20:23 +01:00
Kubernetes Publisher
d51bcfed7e Merge pull request #67212 from SneakyFish5/fix-node-pod-doc
Use pod instead of node

Kubernetes-commit: f9e102cac7b08551d978764e3ac62e68fc6a2666
2019-02-16 05:35:03 +00:00
Kubernetes Publisher
53a3c0b02a Merge pull request #73699 from pivotal-k8s/doc-links
Update deprecated and broken links

Kubernetes-commit: fbee96d733ad941e94cd2a4726c65ddb3c71a21d
2019-02-16 01:34:44 +00:00
Jeff Grafton
d4b8d6c680 Run hack/update-bazel.sh
Kubernetes-commit: 26d51164e1d573e80ba4b42a727ad351202b726c
2019-02-15 15:07:25 -08:00
Nguyen Hai Truong
666c7b3f0c trivial fix typo: resouce -> resource
Although it is spelling mistakes, it might make an affects while reading.

Signed-off-by: Nguyen Hai Truong <truongnh@vn.fujitsu.com>

Kubernetes-commit: 34961dc16c91f530b84957c50be5ebdbb914380b
2019-02-15 02:05:28 -08:00
Jordan Liggitt
33eb3679dd generated files
Kubernetes-commit: f139218ac0711023a85db6ce43d59ad1775a9705
2019-02-14 00:28:24 -05:00
Jordan Liggitt
57d0671d8c generated files
Kubernetes-commit: 6c0b1b87f0b607199ee468a3fe35d402ecc6ee7c
2019-02-14 01:00:28 -05:00
Ben Moss
6320f74bd6 Update deprecated links
Kubernetes-commit: 34ac4d9ee9fed65d770403fff4cb037253fc5d09
2019-02-04 13:28:31 -05:00
Kubernetes Publisher
fc20e1abff Merge pull request #72525 from justinsb/owners_should_not_be_executable
Remove executable file permission from OWNERS files

Kubernetes-commit: 808f2cf0ef6e6fbea0228806dbf6d9def12b4b6d
2019-02-15 08:09:40 +00:00
Kubernetes Publisher
7d90aa8990 Merge pull request #73976 from jennybuckley/apply-errors
Make server-side apply's conflict errors more human readable

Kubernetes-commit: 62734d36705f3b0bb2a1a6fc9cf00b5206fede20
2019-02-15 04:08:38 +00:00
Kubernetes Publisher
6d14209323 Merge pull request #72214 from caesarxuchao/move-discovery
Move cached discovery clients to their own packages

Kubernetes-commit: d8f014613865955b7e4ce6fefbf38a3c8fe97971
2019-02-14 07:22:51 +00:00
Chao Xu
65ff1483c9 Add glue for legacy interface for backward compatibility.
Kubernetes-commit: 63820236263cfefb3e9c9e6bf259b5448b724408
2019-02-12 19:16:01 -08:00
Kubernetes Publisher
25de10860f Merge pull request #73941 from neolit123/update-go-difflib
update the dependency pmezard/go-difflib

Kubernetes-commit: 6949a81ce678077fee7b44c1afb054f78e47217a
2019-02-13 03:13:35 +00:00
jennybuckley
90c6e99142 Update generated
Kubernetes-commit: 7dba6fe90dde7724a0361a2a723c3255fdb23bcc
2019-02-12 15:16:43 -08:00
Kubernetes Publisher
1b47629261 Merge pull request #73793 from tedyu/master
Reduce the duration where expirationLock is held for expiration_cache

Kubernetes-commit: c615cb068c8e2ea401876671fdd0bdfb79a8e37a
2019-02-12 23:12:58 +00:00
Kubernetes Publisher
71e68111cf Merge pull request #73345 from sttts/sttts-speedup-cache-miss-kubectl
discovery: speedup kubectl restmapper cache misses by a two-digit factor

Kubernetes-commit: 64ce2e598fec69e69352c4d5f203c1f8e341c17f
2019-02-12 08:00:03 -08:00
Lubomir I. Ivanov
8a26210eab update the dependency pmezard/go-difflib
A fmt.Sprintf() bug was fixed upstream.
Use the latest SHA from upstream.

Kubernetes-commit: 76ed5568c3d9e1e07fc037b9bde1d417b9d002c3
2019-02-12 01:47:29 +02:00
Ted Yu
353e58d58a Reduce the duration where expirationLock is held for expiration_cache
Kubernetes-commit: 4e3fd13a93b0ed7ec0d81a00f61da54bb3936fbc
2019-02-06 10:16:54 -08:00
Dr. Stefan Schimanski
42ebdc32c2 discovery: speedup cache miss by a two digit factor
Kubernetes-commit: 2cdddd8d4ec0c16df9b3667a11dfc07fa7bf49e2
2019-02-05 13:17:47 +01:00
Dr. Stefan Schimanski
2cc261d78b client-go: extend discovery intf with ServerGroupsAndResources
Kubernetes-commit: 618050e35dd617032e81dfe61084a676d3e10757
2019-02-05 11:35:36 +01:00
Dr. Stefan Schimanski
643eaf2115 restmapper: add GetAPIGroupResources tests
Kubernetes-commit: 57d0f9d9720a824b27d7ae0b464d1e171804baf4
2019-02-11 17:22:29 +01:00
Kubernetes Publisher
e478dd3a68 Merge pull request #71223 from sttts/sttts-openapi-aggreation-without-clone
openapi-aggregation: speed up merging from 1 sec to 50-100 ms

Kubernetes-commit: 6912bbb153ef53a0ece34e7dae74ca79bfc07b82
2019-02-11 21:16:51 +00:00
Kubernetes Publisher
ae78dce898 Merge pull request #70931 from m1kola/port-forward-consistency
Fixes inconsistent behaviour in portforward

Kubernetes-commit: 162b79d2ec402d895e3738c240986590932508f4
2019-02-11 05:21:23 +00:00
Kubernetes Publisher
91731b4e98 Merge pull request #73889 from mattjmcnaughton/mattjmcnaughton/improve-client-go-docs
Improve in-cluster-client-conf client-go docs

Kubernetes-commit: 903cdff633c16b8511a3bf1641f08ad0ee08e569
2019-02-11 01:16:10 +00:00
mattjmcnaughton
d5549376b9 Improve in-cluster-client-conf client-go docs
Make a small formatting change to make it clear that you must take the
RBAC actions regardless of whether you're using Minikube or not.

Kubernetes-commit: fb4148e5f81057cd6a2b1e2840e3562516834446
2019-02-10 15:17:45 -05:00
Dr. Stefan Schimanski
8d305b9816 Update staging godeps
Kubernetes-commit: 233178eec68573fc317523c8ce2b1409b9524e96
2019-02-09 17:49:59 +01:00
Kubernetes Publisher
19c7576fd9 Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs

Kubernetes-commit: b50c643be0cd528e438cd985384e229bd263d0e5
2019-02-08 17:16:23 +00:00
Kubernetes Publisher
2dda7ceeec Merge pull request #73030 from tnozicka/fix-csr-list-watch
Switch WaitForCertificate to informers to avoid broken watches

Kubernetes-commit: 1b26097e1e623e8e58ec6d5d1aa5a479957f39c9
2019-02-07 13:16:49 +00:00
Kubernetes Publisher
5846423975 Merge pull request #73713 from caesarxuchao/bump-json-patch-again
Importing the latest json patch and set the accumulated copy size limit

Kubernetes-commit: b00b5d4ac00cab50b50554ce2a9212e1cd689496
2019-02-07 09:16:13 +00:00
Kubernetes Publisher
2e9cc3b939 Merge pull request #73441 from roycaihw/cleanup/remove-swagger-json-endpoints
Remove remaining code for deprecated openapi paths

Kubernetes-commit: 31c6a2ba355687363ee694611148b7c67a0ae8d4
2019-02-07 01:16:15 +00:00
Kubernetes Publisher
e6a502f77f Merge pull request #72947 from apelisse/wip-feature-serverside-apply-merge
Merge feature-serverside-apply back in master

Kubernetes-commit: 2a5a41a08b08075aa2960170c8342d974ccc2cd3
2019-02-05 05:15:45 +00:00
Kubernetes Publisher
d84f9adf31 Merge pull request #73662 from cmendible/master
Added missing quote

Kubernetes-commit: f0beaf46db82e713392a5c0f880e27a0e14c0690
2019-02-05 01:15:01 +00:00
Chao Xu
dd00f4ed84 Importing latest json-patch.
Kubernetes-commit: b8911b8d79f7ca4030c6e2cdff9f873a47848021
2019-02-04 09:47:54 -08:00
Martin Helmich
e70639fd33 client-go: Dynamic local port not accessible when port-forwarding
When setting up a port forwarding with the client-go library (using the
`k8s.io/client-go/tools/portforward.PortForwarder`) with a non-defined local
port (i.e. passing `:80` as `ports` parameter to `portforward.New(...)`), a
local port will be assigned dynamically.

Currently, the local port will be _always_ 0 if it was not specified initially.
This is because the assigned local port is only set on a _copy_ of the actual
`ForwardedPort` type that is obtained in a `range` loop. This PR changes this
behaviour to set the local port at the correct instance by passing a pointer
instead of a copy to the relevant functions.

Kubernetes-commit: bbddd27f0dfffe6623763afe2c02c876ba925a7c
2019-02-03 19:01:19 +01:00
Carlos Mendible
26439bcc00 Added missing quote
Added missing quote cause uncommenting the line to to load all auth plugins resulted in a syntax error.

Kubernetes-commit: a968f52611a36925c3736652a6e9d786903ce090
2019-02-02 13:52:48 +01:00
Kubernetes Publisher
7b99873e55 Merge pull request #73437 from dims/update-to-latest-gophercloud
Update to latest gophercloud

Kubernetes-commit: 35b09e5370fdb5725b930ea4d8bf9c41ac3e7424
2019-02-01 14:03:54 +00:00
Kubernetes Publisher
c5e224142f Merge pull request #73455 from danielqsj/keymutex
Migrate to k8s.io/utils/keymutex and k8s.io/utils/strings

Kubernetes-commit: 8f1082c6aff6df3cb5e103474d9d846b6f8ebf90
2019-01-31 09:56:19 -08:00
Kubernetes Publisher
796e63518f Merge branch 'master' into keymutex
Kubernetes-commit: e72b32558c8e9ed16690ef5a8e909c12fcc47f87
2019-02-01 14:02:53 +00:00
Kubernetes Prow Robot
0d661d3855 sync: squashed up to merge 94b5aeba9dfa5f10c8a920a229795249a919c127 in e72b32558c8e9ed16690ef5a8e909c12fcc47f87 2019-02-01 14:01:34 +00:00
James Munnelly
711082b69f Use a single deep copied object between all reactors in fake client
Kubernetes-commit: 41ebb22011cb79aed2241417249e824cdfcda5fc
2019-01-31 17:42:04 +00:00
Roy Lenferink
94093d2527 Updated OWNERS files to include link to docs
Kubernetes-commit: b43c04452f3b563473b5c2a765d4ac18cc0ff58f
2019-01-30 20:05:00 +01:00
Antoine Pelisse
df095556e1 Run generation scripts
Kubernetes-commit: 5949154ec55e13be6877fb4aa17b89652b82c6f8
2019-01-29 14:26:39 -08:00
danielqsj
49d4edf419 Update vendor/k8s.io/utils
Kubernetes-commit: 257ae4da008964786bbc55e39cbd4c6121cebde6
2019-01-29 17:53:19 +08:00
Kubernetes Publisher
2975fa56c0 Merge pull request #73003 from liggitt/client-go-plugin-examples
Add docs around importing auth plugins

Kubernetes-commit: 2d6834b539dd434f70060ba3bc2d11d0465f12da
2019-02-01 14:01:32 +00:00
Kubernetes Publisher
bd926d827d Merge pull request #73198 from mourya007/library
Re-Organize the pkutil library

Kubernetes-commit: 5262dba064170deecd6324460bfb963d04285b39
2019-02-01 14:01:29 +00:00
Haowei Cai
098c0c5761 remove fallback logic for single-format endpoints
which were deprecated in 1.10

Kubernetes-commit: dd3ce649adb3c25d6a0d776178760d5c67829209
2019-01-28 18:07:52 -08:00
Davanum Srinivas
583ea2df48 Update to latest gophercloud
Change-Id: I0145b899576f76e7116152fee978bc04b05080f8

Kubernetes-commit: 55a8dbcbfbe1833330d88fc67421532d3fbbb066
2019-01-28 17:43:01 -05:00
Kubernetes Publisher
6134db9120 Merge pull request #73308 from krzysied/reflector_trace2
Adding trace to reflector initialization

Kubernetes-commit: f5f5d9a54a6397012b780e1714abf7d8b4f5037c
2019-01-26 16:10:06 +00:00
Krzysztof Siedlecki
ffc134e664 adding dependencies
Kubernetes-commit: 91d9f7f0c0052ee67253e7d1afe2a51a848cb5d6
2019-01-25 12:53:24 +01:00
Krzysztof Siedlecki
57d4daeaf4 adding trace to reflector initialization
Kubernetes-commit: 4e4d380b32105c3ff7641661120da876bca060de
2019-01-24 16:30:47 +01:00
Kubernetes Publisher
cce357d054 Merge pull request #73243 from andrewsykim/update-utils-vendor
Update vendor k8s.io/utils and remove internal utils

Kubernetes-commit: 2cbb16bc8dd456c5db72c1667926abdbc87c32c7
2019-01-26 16:09:44 +00:00
Kubernetes Publisher
100c369875 Merge pull request #72972 from liggitt/remove-alpha-initializers
Remove use of alpha initializers

Kubernetes-commit: e28c757e8758638811130848abe7a47f760057c0
2019-01-26 16:09:20 +00:00
Kubernetes Publisher
a3d0f22db3 Merge pull request #70778 from wongma7/lease
Add Lease implementation to leaderelection package

Kubernetes-commit: d027ecfa97444a419f42744e6a3faeaed52aed8e
2019-01-26 16:08:49 +00:00
Kubernetes Publisher
75103f9708 Merge pull request #73202 from wojtek-t/fix_tools_cache_tests
Couple fixes to DeltaFIFO machinery

Kubernetes-commit: 1fc7b07bba45b574da58c2804399ebd856e66f24
2019-01-26 16:08:48 +00:00
Kubernetes Publisher
c5fe2baa43 Merge pull request #73217 from kubernetes/revert-73071-reflector_trace
Revert "Adding trace to reflector initialization"

Kubernetes-commit: a5d55f49b0f480b5bfe9fc40c9a07d9c04c117fd
2019-01-26 16:08:48 +00:00
Andrew Kim
3fa0933a1e replace client-go/util/buffer with k8s.io/utils/buffer
Kubernetes-commit: 2358e75da3379720d2cc1d86384d4830a1557b88
2019-01-24 11:37:48 -05:00
Andrew Kim
610d917325 replace client-go/util/integer with k8s.io/utils/integer
Kubernetes-commit: 0bc5508aca9a945e92ef2a83492a70bbfcc12d13
2019-01-24 11:34:33 -05:00
Andrew Kim
498c0c77a9 vendor k8s.io/utils to 8a87304934321b4b0ad72a7cb3cbc715d67d38c7
Kubernetes-commit: e321cdaee4bf22bce018011884af33ea16fa5b62
2019-01-23 21:19:50 -05:00
Wojciech Tyczynski
2ee37da3f5 Revert "Adding trace to reflector initialization"
Kubernetes-commit: c8d89b34cc692c4b477fe40ac4511be73a581629
2019-01-23 14:50:37 +01:00
Kubernetes Publisher
94eb698e3a Merge pull request #73179 from tedyu/master
Correct message for step value check

Kubernetes-commit: 0c81d1a1b59eccf7d3fb617ebc1716c4da9c667d
2019-01-26 16:08:47 +00:00
wojtekt
58ae7b3039 Couple fixes to DeltaFIFO machinery
Kubernetes-commit: d880f8c1ca3077496ceafadbb8807618b3f6e684
2019-01-23 09:45:37 +01:00
mourya007
0c54a1af24 Re-Organize the pkutil library
Kubernetes-commit: 7c37e91a6ddc8610444bb8106541a19bfb24f46a
2019-01-23 12:01:32 +05:30
Ted Yu
29e468d1ac Correct message for step value check
Kubernetes-commit: 6a819f75364db04638aabd97ae7a19b0b1e97b22
2019-01-22 09:41:13 -08:00
Kubernetes Publisher
c386de2aa6 Merge pull request #73071 from krzysied/reflector_trace
Adding trace to reflector initialization

Kubernetes-commit: fd0df59f5ba786cb25329e3a9d2793ad4227ed87
2019-01-22 05:15:55 -08:00
Krzysztof Siedlecki
fcf459855f adding dependency
Kubernetes-commit: e2a017327c1af628f4f0069cbd49865ad1e81975
2019-01-18 15:04:47 +01:00
Krzysztof Siedlecki
213861716a adding trace to reflector initialization
Kubernetes-commit: 21334f1f28df3c7f3408f0933ddd19cb7c64a3ea
2019-01-22 10:57:29 +01:00
Kubernetes Publisher
5831801482 Merge pull request #73149 from liggitt/jsonpath-range-step
Fix jsonpath slice step handling

Kubernetes-commit: 27e5971c11cfcda703a39ed670a565f0f3564713
2019-01-21 20:32:11 -08:00
Jordan Liggitt
6b7e2becf2 Fix jsonpath slice step handling
Kubernetes-commit: 233d7e4962f61e9e8b4a4695f0cdab688ffc4368
2019-01-21 16:58:52 -05:00
Kubernetes Publisher
e3fddcc5ac Merge pull request #73080 from tnozicka/make-until-with-sync-wait-for-informers
Make UntilWithSync wait for integrated informers to stop

Kubernetes-commit: f788854e98105cd054b8c86feba30c69de6194bc
2019-01-21 13:11:20 -08:00
Kubernetes Publisher
e33bc59d41 Merge pull request #73137 from tnozicka/fix-reflector
Fix reflector List cancellation

Kubernetes-commit: cd18b8f8a9f443dd972b57d40cab28e7c0efd66e
2019-01-21 20:30:55 +00:00
Tomas Nozicka
36160aac1b Make UntilWithSync wait for integrated informers to stop
Kubernetes-commit: b762d2c0d7977a93ee9aab4cefb9363bc0c79ea5
2019-01-21 18:30:00 +01:00
Tomas Nozicka
5180cf1076 Make reflector list cancelable
Kubernetes-commit: 10f52e7c70d9ad4a3cf0ca09c6f36e208b9ac494
2019-01-21 14:58:23 +01:00
Kubernetes Publisher
b24a573d92 Merge pull request #72740 from prksu/kubectl-version-better-error-msg
kubectl: kubectl version better error message

Kubernetes-commit: 771baea30eb4b79f50ae81788ba2a2a64f49ee2c
2019-01-19 12:29:57 +00:00
Kubernetes Publisher
68a55fba7c Merge pull request #73076 from yastij/refactor-events
refactor util functions for event recording

Kubernetes-commit: 193f659a1cd454b93cbe1e7b1f13b77c21783461
2019-01-19 02:14:17 +00:00
WanLinghao
4b473f5dc7 fix a client-go bug which could casue kubectl panic (#72952)
* When user try execute command like `kubectl get pod test -o custom-columns=CONTAINER:.spec.containers[-1].name`
It will throw a panic about slice index out of bounds. This patch fix it.

* add test case

Kubernetes-commit: 1e245fad87584a28809f8f5d380b766edfa984ec
2019-01-19 08:14:20 +08:00
Kubernetes Publisher
837b88074c Merge pull request #72138 from dims/switch-location-for-goautoneg
Switch location for goautoneg vendored code

Kubernetes-commit: ef2a5b948b0d6c422873a823755ee7d12284dcc3
2019-01-19 02:13:34 +00:00
Yassine TIJANI
60920bb9e4 refactor util functions for event recording
Kubernetes-commit: 7296288928d347dfb1dcb990d779cdfce96ead1b
2019-01-18 15:28:37 +01:00
Kubernetes Publisher
cfd1e52004 sync: reset Godeps/Godeps.json 2019-01-18 11:36:01 +00:00
Jordan Liggitt
1466062a68 generated
Kubernetes-commit: 1a15d809672175aa730b6eda059a2d81f3c41695
2019-01-17 13:45:50 -05:00
Tomas Nozicka
2b7cbe3ec1 Update bazel
Kubernetes-commit: 29ba8b261a326609029020da2b091e7ef6879e29
2019-01-17 18:34:02 +01:00
Tomas Nozicka
0dbe75c417 Switch WaitForCertificate to informers to avoid broken watches
Kubernetes-commit: a7588723f7e9b88c2e8b9d601a2391e0f6b19a17
2019-01-17 18:32:36 +01:00
Kubernetes Prow Robot
a985096454 Merge pull request #546 from liggitt/client-go-plugin-examples
Reference auth plugins in readme
2019-01-17 06:02:28 -08:00
Antoine Pelisse
35efedd302 API Machinery, Kubectl and tests
Kubernetes-commit: 0e1d50e70fdc9ed838d75a7a1abbe5fa607d22a1
2019-01-16 21:14:42 -08:00
Jordan Liggitt
652fc289c1 Reference auth plugins in readme 2019-01-16 22:49:55 -05:00
Jordan Liggitt
3e0afcd74e Add docs around importing auth plugins
Kubernetes-commit: 34e7af7ec6154694cb760a0bb76be71695f03f7e
2019-01-16 22:29:29 -05:00
Jordan Liggitt
2fd69f1603 Remove alpha InitializerConfiguration types, Initializers admission plugin
Kubernetes-commit: dc1fa870bff65c20f48a83ea3af54adb3f526e28
2019-01-16 10:19:44 -05:00
Kubernetes Publisher
32801e2d7c Merge pull request #71149 from awly/rest-config-stringer
Implement fmt.Stringer on rest.Config to sanitize sensitive fields

Kubernetes-commit: 914e383c9b12a7896d084c450557dfc2def219a4
2019-01-15 23:26:07 -08:00
Kubernetes Publisher
b831b8de71 Merge pull request #71490 from smarterclayton/step_down
leaderelection: Allow leader elected code to step down on a context cancel

Kubernetes-commit: 5e14bf648795199cf856c88694e08dd01850b934
2019-01-11 21:42:56 -08:00
Kubernetes Publisher
a399a222c3 Merge pull request #72825 from liggitt/wait-resource-version
Find current resourceVersion for waiting for deletion/conditions

Kubernetes-commit: 08bee2cc8453c50c6d632634e9ceffe05bf8d4ba
2019-01-12 00:57:24 +00:00
Jordan Liggitt
4f3f813d72 Find current resourceVersion for waiting for deletion/conditions
Kubernetes-commit: c12d8a56f8397b6d1dfcb853eb36de0fc06cbd9f
2019-01-11 10:38:18 -05:00
Ahmad Nurus S
959fd3518b kubectl: kubectl version better error message
Kubernetes-commit: 047ef3f6b6fa4a2345640a608211ed3e177587e6
2019-01-10 01:21:24 +07:00
Kubernetes Publisher
bfc2f81173 Merge pull request #62406 from keitwb/patch-1
Fixing Update Function in FakeCustomStore

Kubernetes-commit: 0ac65cdb85ab89828db676a20a7a67f4f642b2fa
2019-01-09 10:20:24 -08:00
Kubernetes Publisher
0403ab611e Merge pull request #71529 from ixdy/bazel-refactor-openapi-gen-new-kazel
bazel: refactor openapi-gen logic for new kazel

Kubernetes-commit: 555c63fff55d036f433d59ed19fbea1c530eba19
2019-01-10 19:31:12 +00:00
Kubernetes Publisher
ca71eb39ed Merge pull request #71731 from cheftako/leaseMetric
Add gauge metric for master of leader election.

Kubernetes-commit: cc67ccfd7f4f0bc96d7f1c8e5fe8577821757d03
2019-01-08 08:57:53 -08:00
Kubernetes Publisher
e21449da97 Merge pull request #70886 from bouk/patch-missing-object
client-go/testing: properly handle Patch actions for missing Objects

Kubernetes-commit: df77b729269ca58720219b3eaddf78a5a80fbd7e
2019-01-10 19:30:47 +00:00
Kubernetes Publisher
7a94d612ad Merge pull request #72529 from liggitt/use-overridden-context-namespace
Use overridden context when determining if default namespace came from config

Kubernetes-commit: 10bb353a95c53831b9131e8c4cc539c87f34a0d6
2019-01-08 00:52:02 -08:00
Kubernetes Publisher
f97fdd8c9d Merge pull request #72437 from liggitt/shorten-token-re-read
Shorten re-read period for token files to work with ProjectedTokenVolumeSource

Kubernetes-commit: de4e1ce401e7787f51ead201ea8a66a89421cc3a
2019-01-07 23:34:41 +00:00
Kubernetes Publisher
7ab9b6348c Merge pull request #72494 from johanneswuerbach/rm-rollback-example
Remove outdated rollback step from CRUD deployment example

Kubernetes-commit: a9f40b50f04b55c3e9f3d92ea05b3e36a80b3992
2019-01-04 07:38:11 +00:00
Jordan Liggitt
84dcc145e1 Use overridden config when determining if default namespace came from config
Kubernetes-commit: f19399096b8a783b943029c0083af58bdc0f29ee
2019-01-03 12:26:28 -05:00
Justin SB
931e6a04ad Remove executable file permission from OWNERS files
Kubernetes-commit: dd19b923b7c26420af39fcf4eedfa213b236c8d3
2019-01-03 12:18:20 -05:00
Tomas Nozicka
ce00ab47ae Add Until based on RetryWatcher
Kubernetes-commit: 09af8485f253421cdf0c20a40d12784e8fcffd5a
2019-01-03 13:45:46 +01:00
Johannes Würbach
164b2f8a05 Remove outdated rollback step from CRUD deployment example
The code was already removed, remove the rollback step also from the README

Kubernetes-commit: e6e3b78f7549d6bae33664af87bf34fd425528c3
2019-01-02 20:52:34 +01:00
Kubernetes Publisher
e6b0ffda95 Merge pull request #72466 from dims/extra-logging-for-0-length-response
Log more details when we get the 0-length error

Kubernetes-commit: fb1a8307ad640548c7e41a3347b86ff07ac26c04
2019-01-02 07:34:24 +00:00
Davanum Srinivas
00496caa6a Log more details when we get the 0-length error
Change-Id: I9733521a3afd91c54c19fe08d0622df4187c0c0c

Kubernetes-commit: f92ee4e4e42c260780b64cb3bd2a153947b49c50
2019-01-01 17:50:15 -05:00
Kubernetes Publisher
1a4f03865c Merge pull request #71300 from danielqsj/71165
Use prometheus conventions for workqueue metrics

Kubernetes-commit: 7284660483d3db5b6647dcda19aa6365cae3b268
2019-01-01 07:34:21 +00:00
Kubernetes Publisher
2c52a580e8 Merge pull request #71115 from xichengliudui/fix181116
update notes

Kubernetes-commit: 2a9fbe64902fd0c1e447faf2cbc4eb0f2f407363
2019-01-01 07:33:56 +00:00
Kubernetes Publisher
8bb74a6e75 Merge pull request #70782 from MIBc/commenting-error
Commenting error in ItemExponentialFailureRateLimiter

Kubernetes-commit: de02d00989cb5de533a66600be412164517f90d4
2019-01-01 03:34:01 +00:00
Jordan Liggitt
f46a378f78 Shorten re-read period for token files to work with ProjectedTokenVolumeSource
Kubernetes-commit: a432a7cf683e4ea304ae8e39e191a438e37a813e
2018-12-29 22:18:28 -05:00
Kubernetes Publisher
7856fdbcc3 Merge pull request #71599 from bouk/fake-eviction
client-go/testing: Straighten out fake implementation of Evictions

Kubernetes-commit: 18464d472ae71b56088134eb78dc8560c2567b3c
2018-12-28 23:34:26 +00:00
Kubernetes Publisher
8145e5e321 Merge pull request #72406 from wojtek-t/speedup_listers
Speedup listers for empty selectors

Kubernetes-commit: 7c112762b0df87f3a1772f3bbede7fe9185fa249
2018-12-28 19:34:09 +00:00
wojtekt
a2b80e67e1 Speedup listers for empty selectors
Kubernetes-commit: 91e7f466b916c50b8c1cdb330fd06b397f49a358
2018-12-28 15:34:43 +01:00
Clayton Coleman
77dfa9569a Add transport wrapper that blocks api calls after context close
The ContextCanceller transport wrapper blocks all API requests
after the provided context is closed. Used with the leader election
step down, a controller can ensure that new requests are not made
after the client has stepped down.

Kubernetes-commit: fe74efb1f90826b1903d2908ff9e528329bebea0
2018-12-27 12:29:34 -05:00
Clayton Coleman
615e8e2492 Make wrapping a client transport more pleasant
Properly wrapping a transport can be tricky. Make the normal case
(adding a non-nil transport wrapper to a config) easier with a helper.
Also enforce a rough ordering, which in the future we can use to
simplify the WrapTransport mechanism down into an array of functions
we execute in order and avoid wrapping altogether.

Kubernetes-commit: 1f590e697ef64812620c787720b4b5942027e4a1
2018-12-27 11:47:50 -05:00
Zhao Yuwei
8d8ad929bb Fix a test file log error
Kubernetes-commit: a0c9d126e416f8b6822c8cc7e732b6e4766124dd
2018-12-27 10:52:34 +08:00
Kubernetes Publisher
e88b66d04f Merge pull request #72239 from wojtek-t/v1_lease_api
Promote Lease API to v1

Kubernetes-commit: 5354f8bdfeeb14e52abb8bac4c24993f1addbfb1
2018-12-21 19:34:07 +00:00
Kubernetes Publisher
150ac40a91 Merge pull request #71891 from WanLinghao/daemonset_storage_test_fix
Fix unit test error in pkg/registry/apps/daemonset/storage/

Kubernetes-commit: 3dc1772268313a6280c39f3814e463a4660856b1
2018-12-20 15:03:20 +00:00
wojtekt
27dcc2ed8c Autogenerated code
Kubernetes-commit: 9664779bdd99b84ff13b6dcd9d2dc72fd3831d7b
2018-12-20 11:56:54 +01:00
Kubernetes Publisher
dbd11fce0f Merge pull request #72143 from karataliu/kubectl.aad
Fix aad support in kubectl for sovereign cloud

Kubernetes-commit: c3e60b6e1c7bc147740800b7ac52712d55579844
2018-12-20 07:04:05 +00:00
Chao Xu
dc58f1a41e generated
Kubernetes-commit: 1f2e2e61cf088cb0070fea4b88d9cefb7f8f2e3e
2018-12-19 13:52:12 -08:00
Chao Xu
9e44a08cb1 Moved memory-cached and disk-cached discovery to their own packages
Kubernetes-commit: 6666049898f93932655fef24f807bc4d6e439fc6
2018-12-19 13:32:56 -08:00
Kubernetes Publisher
248a9512b9 Merge pull request #72193 from kargakis/owners
Remove myself from OWNERS where I am not active

Kubernetes-commit: 544c49ab030a8930f3a6903de232473e0bf4e8e5
2018-12-19 19:02:30 +00:00
Kubernetes Publisher
c9a54130ee Merge pull request #70994 from mborsz/cache
Refactor the memcached discovery client

Kubernetes-commit: 3f9673bf5d6d9adeeca5eb349c83ece6095a41ba
2018-12-19 19:02:02 +00:00
Kubernetes Publisher
749453644f Merge pull request #71179 from idealhack/fix-cancel-functions
Call cancel functions to avoid context leaks

Kubernetes-commit: 819cfed09aac9270f2daa4dd07d62d2ac1736c6c
2018-12-19 11:01:42 +00:00
Michalis Kargakis
81acdc381b Remove myself from OWNERS where I am not active
Kubernetes-commit: c602a9ed4ffba92a229dcc45f1a9e3036596d90b
2018-12-19 10:19:22 +01:00
Dong Liu
ba28f5cc8e Fix aad support in kubectl for sovereign cloud
Kubernetes-commit: 092f3988255801ce7a97de5448384c50c400a3a4
2018-12-18 13:50:56 +08:00
Davanum Srinivas
fd14659572 Switch location for goautoneg vendored code
Move to github.com/munnerz/goautoneg as bitbucket is flaky!

Change-Id: Iaa6e964ef0d6f308eea59bcc6f365ecd7dbf0784

Kubernetes-commit: 16fd72d6c91ba466a0e955a1d59a6c8d9e8791bc
2018-12-17 20:39:56 -05:00
Kubernetes Publisher
6924ba6dfc Merge pull request #71225 from jta/master
Fix duped watch in client-go/testing.

Kubernetes-commit: cab34050e7710993a2d30559599456dfa3ac489d
2018-12-13 23:01:35 +00:00
danielqsj
6658e1f4a3 Using histogram metrics instead of summary
Kubernetes-commit: 42214c5ac423289a6c87e0f3c1014f652d58bf62
2018-12-12 16:50:32 +08:00
Andrew Lytvynov
ba851ad197 Extract new keyutil package from client-go/util/cert
This package contains public/private key utilities copied directly from
client-go/util/cert. All imports were updated.

Future PRs will actually refactor the libraries.

Updates #71004

Kubernetes-commit: 18458392ca24c85c688e655aace1afd04f864cbd
2018-12-09 16:24:38 -08:00
WanLinghao
aa3fe300a2 Fix unit test error in pkg/registry/apps/daemonset/storage/
Kubernetes-commit: 80b6459bd02a703eb1005c16a64d715149ace970
2018-12-09 17:12:45 +08:00
Kubernetes Publisher
117d288bbe Merge pull request #71684 from danielqsj/typo-fix
Fix typos like limitting

Kubernetes-commit: 1a82272782643fdd334f7b0e5391225f8991c7a0
2018-12-07 19:05:07 +00:00
Kubernetes Publisher
23e9999aee Merge pull request #70983 from xichengliudui/fix18111302
Delete some redundant code

Kubernetes-commit: b7030166144bf2f4fd4a71514b4f3e04273270ce
2018-12-07 07:00:17 +00:00
Mike Danese
cdbf1c4b62 implement request cancellation in token transport
Kubernetes-commit: a42e029e6905bee5b9d5489610c4fbe5988eeac6
2018-12-05 12:36:48 -08:00
Walter Fender
03e373bae2 Add gauge metric for master of leader election.
Fixes #71730
0 indicates standby, 1 indicates master, label indicates which lease.
Tweaked name and documentation
Factored in Mike Danese feedback.
Removed dependency on prometheus from client-go using adapter.
Centralized adapter import.
Fixed godeps
Fixed boilerplate.
Put in fixes for caesarxuchao

Kubernetes-commit: f1926573804ed2c172c91d1022203d0699210138
2018-12-04 18:20:11 -08:00
Kubernetes Publisher
77c598ed24 Merge pull request #71713 from liggitt/tokenfile-reload
Plumb token and token file through rest.Config

Kubernetes-commit: 2bd14ea60e934f0d7a499a1a830a05262238605a
2018-12-04 23:03:32 +00:00
Jordan Liggitt
66e83da33c Plumb token and token file through rest.Config
Kubernetes-commit: dba85e58debadfcb66aff2b68ba8bcc2eafeac2d
2018-12-04 11:24:29 -05:00
Kubernetes Prow Robot
01eda157bc Merge pull request #511 from nikhita/travis-go-1.12
travis: bump go version to 1.11.2
2018-12-04 02:36:15 -08:00
Nikhita Raghunath
8c54759349 travis: bump go version to 1.11.2 and remove explicit godep command
godep restore is automatically run by Travis CI, so we don't really need
an explicit godep step for it.
2018-12-04 09:40:04 +05:30
danielqsj
d25d9a3c52 Fix typos like limitting
Kubernetes-commit: 3c055aa4b47232bf7d6b5d5a0901dae239e33c59
2018-12-04 11:01:40 +08:00
Kubernetes Publisher
4bfa0bdae8 Merge pull request #71174 from smarterclayton/debug_kubeadm
Restore bootstrap in the background with fix to preserve kubeadm behavior

Kubernetes-commit: dc9261bc3b6b8170619aeed31f88526e895825f9
2018-12-03 15:58:05 +00:00
Kubernetes Prow Robot
b2d26f2856 Merge pull request #510 from nikhita/release-10
Add client-go 10.0.0 changelog
2018-12-03 01:48:23 -08:00
Nikhita Raghunath
cdcff04a6c Update README to reflect 10.0.0 release 2018-12-03 12:14:50 +05:30
Nikhita Raghunath
bc06bb2a21 Add client-go 10.0.0 changelog 2018-12-03 12:14:43 +05:30
Bouke van der Bijl
e2d85a5079 client-go/testing: Straighten out fake implementation of Evictions
Make Evictions the same between Policyv1beta1 and Corev1

Kubernetes-commit: 869adf8bd7e9ec7d8bba8317cb987d760d83833d
2018-11-30 15:14:04 +01:00
Jeff Grafton
da84c978fb Remove deprecated automanaged tag from some go rules
Kubernetes-commit: 11f248fd35d2e463c78aeaee510c57a4813ba1b0
2018-11-29 11:47:55 -08:00
Clayton Coleman
abaa46c115 Support Table and PartialObjectMetadata on watch
Clean up the code paths that lead to objects being transformed and output with negotiation.
Remove some duplicate code that was not consistent. Now, watch will respond correctly to
Table and PartialObjectMetadata requests. Add unit and integration tests.

When transforming responses to Tables, only the first watch event for a given type will
include the columns. Columns will not change unless the watch is restarted.

Add a volume attachment printer and tighten up table validation error cases.

Disable protobuf from table conversion because Tables don't have protobuf because they
use `interface{}`

Kubernetes-commit: 3230a0b4fd14a6166f8362d4732e199e8779c426
2018-11-28 23:50:12 -05:00
Clayton Coleman
30b06a83d6 leaderelection: Allow leader elected code to step down on a context cancel
The current code simply exits without continuing to renew the lease, which means
participants using a slower lease duration might have to wait multiple minutes
before a new leader is elected. Allow an optional flag to be set on
LeaderElectionConfig that will release the lease when the calling context is
cancelled. Callers *must* ensure their lease guarded code has completed before
the context is cancelled, or other processes may acquire the lease before this
lease has released.

Add an example command that demonstrates how cancellation could be done.

As a convenience to users, make event recorder optional - not all users of the
lock code will need a recorder.

Kubernetes-commit: 09890b6c48da8e85237a5674d6256900f482b0a5
2018-11-27 21:51:21 -05:00
Kubernetes Publisher
8abb210312 Merge pull request #71296 from cblecker/json-iterator-bump
Update github.com/json-iterator/go to 1.1.4

Kubernetes-commit: 18619f0849b18944300cb22c224afe071d4317bd
2018-11-21 07:14:15 +00:00
danielqsj
c270b352df Use prometheus conventions for workqueue metrics
Kubernetes-commit: b828bc1a50dfa29ab85248e5af6da5acb27189c1
2018-11-21 11:43:47 +08:00
Christoph Blecker
67246686ed Update github.com/json-iterator/go to 1.1.4
Kubernetes-commit: c7d39519279937693e654149eb6b67af46836135
2018-11-20 18:13:01 -08:00
Matthew Wong
e10ef5817f Add Lease implementation to leaderelection package
Kubernetes-commit: 410175851c092dae63f72f7d12abf19b1b74e200
2018-11-20 10:29:44 -05:00
João Taveira Araújo
93c815ca99 Fix duped watch in client-go/testing.
This commit fixes a bug in the client-go/testing fixture whereby a
watcher would fire twice for objects with no namespace.

Kubernetes-commit: bd268c9971efd4db46074a80e52ce765583e0787
2018-11-19 09:50:17 -08:00
Yang Li
f3619f04f1 Call cancel functions to avoid context leaks
Kubernetes-commit: 8dc9619d44ce2074696a4036b2acdc21f3cd0662
2018-11-18 17:40:35 +08:00
Clayton Coleman
96e95840d4 Restore "Make bootstrap client cert loading part of rotation""
This reverts the revert of commit 34642222676640b3c1dd255cc453000f2743ccde.

Kubernetes-commit: 486577df17570b321a91b223901d7e4fdbb63519
2018-11-17 13:44:58 -05:00
Kubernetes Publisher
3dda0e1788 Merge pull request #71173 from smarterclayton/revert_bootstrap
Revert "Make bootstrap client cert loading part of rotation"

Kubernetes-commit: 8996fc1639f20c17b4b321c184a734f8894b736a
2018-11-17 10:33:43 -08:00
Clayton Coleman
57b75fe80b Revert "Make bootstrap client cert loading part of rotation"
This reverts commit 0af19875add7deb562b2cf7bf6b1d273c44bab1b.

Revert "Ensure the bootstrap rotation code is tested by forcing rotation"

This reverts commit de293b2d7ddb687850258370f2a7f30f224f0ec1.

Kubernetes-commit: 34642222676640b3c1dd255cc453000f2743ccde
2018-11-17 10:24:23 -05:00
Kubernetes Publisher
4e63d755dc Merge pull request #69890 from smarterclayton/bootstrap_retry
Make bootstrap client cert loading part of rotation

Kubernetes-commit: 3be3510814d9ddb31d10287e86687b24cf14bf79
2018-11-17 11:16:01 +00:00
Mikhail Mazurskiy
c90a87409a Cleanup math/rand package usage
Kubernetes-commit: 4ce1fb7d40beb9010e56d60792c4da25e8d86ed0
2018-11-17 16:45:36 +11:00
Kubernetes Publisher
acc621f88d Merge pull request #70998 from deads2k/client-07-listwatchtimeout
update the client generator to set a client-side timeout

Kubernetes-commit: 9878253c3cb8fa4699615b41375578fe681b0f9a
2018-11-16 23:13:37 +00:00
David Eads
8987df28a4 generated
Kubernetes-commit: 8f7edec615fb9cd722b7f8310dab3efa25351b7c
2018-11-16 08:38:57 -05:00
Clayton Coleman
cbb80ab872 Ensure the bootstrap rotation code is tested by forcing rotation
Expose both a Stop() method (for cleanup) and a method to force
cert rotation, but only expose Stop() on the interface.

Verify that we choose the correct client.

Kubernetes-commit: de293b2d7ddb687850258370f2a7f30f224f0ec1
2018-11-15 17:21:02 -05:00
Kubernetes Publisher
9bea17718d Merge pull request #70971 from cheftako/leaseCheck
Report KCM as unhealthy if leader election is wedged.

Kubernetes-commit: f48e18faa4dc035cc927c6a2b34c83c8475b55fa
2018-11-15 11:13:58 +00:00
Kubernetes Publisher
79203b61db Merge pull request #69929 from jsafrane/csi-ga
Promote CSIPersistentVolume feature to GA

Kubernetes-commit: 726c07eb26c372c8a6920d5ec7422e8a8deb9eda
2018-11-15 07:16:16 +00:00
Kubernetes Publisher
9a85277e68 Merge pull request #70966 from awly/cert-triple-cleanup
Remove k8s.io/client-go/util/cert/triple

Kubernetes-commit: 22eb2b0dae49891ccf13be98e25d5d0683dea134
2018-11-15 07:15:53 +00:00
Kubernetes Publisher
4ed618c609 Merge pull request #70801 from Adirio/deltafifo-cleanup
DeltaFIFO cleanup

Kubernetes-commit: 4fb368e5fdd287d0feb9f603360293c8dd8ae816
2018-11-15 07:15:52 +00:00
xichengliudui
b9c7cc1b30 update notes
Kubernetes-commit: 3b9798efe9c0caaa7437c8f0203e000d85c4dd8e
2018-11-15 01:29:59 -05:00
Ihar Hrachyshka
0892273a33 Expose object tracker for fake clientsets
Not every object kind can be registered via tracker .Add() called as
part of SimpleClientset initialization. This is because .Add() relies
on UnsafeGuessKindToResource to convert object kinds into resource
type names, which is broken for some resources. An example of an
affected kind is NetworkAttachmentDefinitions CRD that uses
network-attachment-definitions as its resource type name. When
UnsafeGuessKindToResource is called for this kind, it returns
networkattachmentdefinitions (without dashes).

As per the comment inside .Add, kinds affected by
UnsafeGuessKindToResource deficiencies should instead register objects
using tracker .Create() method.  Problem is, current SimpleClientset
struct definition doesn't expose the object tracker in any way, which
makes it impossible to properly register these kinds at all.

To address the issue, this change modifies the definition of
SimpleClientset struct to expose the object tracker used via Tracker()
method.

Kubernetes-commit: d68cd8a0c7e6137ca4219078a3d651ecff03c21f
2018-11-14 15:22:48 -08:00
Kubernetes Publisher
e9ae4fad33 Merge pull request #70969 from awly/node-csr-move
Move csr.RequestNodeCertificate into kubelet bootstrap package

Kubernetes-commit: 68fb529ec193458d3cf4a8d8e90c5bd8b36ff5bd
2018-11-14 23:13:44 +00:00
Kubernetes Publisher
1f68873668 Merge pull request #70999 from liggitt/oversized-spdystream-frames
Ensure oversized data frames are not written to spdystreams

Kubernetes-commit: 774f1628843f298c61bed9ea58818c9cceb6d8e7
2018-11-14 19:13:50 +00:00
Jan Safranek
48718c4bec Generated files
Kubernetes-commit: e95b18865667aa27f055bbb2db7c326fe116c793
2018-11-14 14:01:16 +01:00
Adrián Orive
cb4ba7f9b2 DeltaFIFO cleanup
Remove non-needed else condition
Remove non-needed swallow copy
Simplify return for IsClosed()
Keep amount decrement next to element extraction from the queue

Signed-off-by: Adrián Orive <adrian.orive.oneca@gmail.com>

Kubernetes-commit: 0b16c43f59b736060bc18e2e1de0e7fcc268f39b
2018-11-14 08:59:51 +01:00
Adrián Orive
0f2b134a3e Add newInformer documentation
Signed-off-by: Adrián Orive <adrian.orive.oneca@gmail.com>

Kubernetes-commit: b09c1ce5ddb7473b8b9dd5d63b46267381ed852f
2018-11-14 08:36:38 +01:00
Kubernetes Publisher
d56d3df33a Merge pull request #71002 from awly/certutil-cleanup
Remove unused funcs in certutil

Kubernetes-commit: d399e079f2726f1f667343e0ad862b18abf9977a
2018-11-13 23:13:42 +00:00
Kubernetes Publisher
c4b39e7952 Merge pull request #70884 from lavalamp/workqueue
add a metric that can be used to notice stuck worker threads

Kubernetes-commit: bc6aee19b019a6a0d0bbac93ae087d767c1bdbe9
2018-11-13 23:13:18 +00:00
Andrew Lytvynov
8986d6b66c Remove unused funcs in certutil
Kubernetes-commit: 162b3642921ef18a2f5d5489f034409936c42e27
2018-11-13 10:26:43 -08:00
Jordan Liggitt
5a40e141bd Fix sending oversided data frames to spdy stream
Kubernetes-commit: 0202e269a3deb7ff96d3b9e3fce767c4b37a766e
2018-11-13 10:57:33 -05:00
Maciej Borsz
5865254254 Refactor memCacheClient to retry requests.
Kubernetes-commit: c94bee0b8b88851e5f5fd6538b99adff8b3a13f0
2018-11-13 13:10:31 +01:00
xichengliudui
c2d0ac0df3 Delete some redundant code
Delete some redundant code

Kubernetes-commit: 9a25d46e8b5c079d97b909bb6e0bc1c1399c3e8c
2018-11-13 03:28:31 -05:00
Walter Fender
f0a328366e Report KCM as unhealthy if leader election is wedged.
Feedback from lavalamp and deads2k.
Changed Check() logic to be central to LeaderElector.
Further changes, especially cleaning up the test code.

Kubernetes-commit: 9c43ee6d6ec6a159b960381af906c130027bc716
2018-11-12 18:45:21 -08:00
Kubernetes Publisher
b5f2e1aa4f Merge pull request #70970 from awly/unexport-csr-parsecsr
Unexport csr.ParseCSR

Kubernetes-commit: efd19d3c9419b60f8a75cb1bd45b2c31c88cfb51
2018-11-12 18:31:45 -08:00
Andrew Lytvynov
28931a70f2 Unexport csr.ParseCSR
This func is only used internally and was copied from
k8s.io/kubernetes/pkg/apis/certificates.

Kubernetes-commit: 41334cfdd3eefc352536943518ffd9eaf570e27c
2018-11-12 17:15:09 -08:00
Andrew Lytvynov
5dc6658914 Move csr.RequestNodeCertificate into kubelet bootstrap package
This func is only used by the kubelet and there's no need to pollute
client-go API with it.

Kubernetes-commit: 5c073abfe16fc0b9f62310b8276fc3b0c7043e60
2018-11-12 16:53:53 -08:00
Andrew Lytvynov
ef24efb2a3 Remove k8s.io/client-go/util/cert/triple
The package is unused.

Kubernetes-commit: 09db5bc951e08ff355edb4be9e3944af61b5ce74
2018-11-12 16:08:56 -08:00
Daniel Smith
f0e9de6741 fixup! add longest_running_processor_microseconds metric
fix data race

Kubernetes-commit: 680ddd49d8d23a88744f9de720f266022effd409
2018-11-12 12:57:42 -08:00
Daniel Smith
952b05be23 add longest_running_processor_microseconds metric
Kubernetes-commit: fd77aa5a41bbce7490dd4538c0d5743cb59b2be4
2018-11-12 10:52:18 -08:00
Mikalai Radchuk
bd4105de0e Fixes address parsing in port-forward
The rules for address parsing are:

* Explicitly specified addresses must bind successfully
* `localhost` is pinned to `127.0.0.1` and `::1` and at least one of those must bind successfully

This change also makes output of the command consistent
between runs with the same arguments.
Previously the command was using the range via map of addresses
which sometimes was producing different output because the order
of values is not guaranteed in Go.

Kubernetes-commit: 4ee2010111af602988bf9bedf66d1a0c36419b09
2018-11-12 00:06:35 +00:00
Daniel Smith
cc2731ad7e fixup! Test workqueue metrics
change units to seconds

Kubernetes-commit: 578962d934df19cb2cb7ec0536dcb76f53951e68
2018-11-10 18:46:43 -08:00
Daniel Smith
e403f1715c fixup! Test workqueue metrics
Kubernetes-commit: 44a87baf09aec4f2e8e159de4c409d27aebbb1da
2018-11-10 18:24:59 -08:00
Kubernetes Publisher
ee7a1ba5cd Merge pull request #70889 from dims/update-cadvisor-and-other-repos-for-klog-take-2
Update cadvisor and other repos for klog

Kubernetes-commit: a3ccea9d8743f2ff82e41b6c2af6dc2c41dc7b10
2018-11-10 19:13:52 +00:00
Daniel Smith
7d7bf3381f generated files
Kubernetes-commit: 74c50c0ad334ec2c1cc5b8fb9677315ef5aa8f44
2018-11-09 16:13:15 -08:00
Daniel Smith
26f9385b8e Test workqueue metrics
Kubernetes-commit: 5a8444ceec9e28e8a7dbf36bfd7cb55554c5b865
2018-11-09 16:12:11 -08:00
Davanum Srinivas
af3b000da0 Update all the staging Godeps.json
Change-Id: I64b30c68a606b4f5c095a66496a1e48c4d62ea88

Kubernetes-commit: 68ce375d0039738df5a2a837122215f3224f1fde
2018-11-09 16:41:26 -05:00
Bouke van der Bijl
213a1e8b13 client-go/testing: properly handle Patch actions for missing Objects
Currently the fake client will return a default empty Object when a
Patch action is submitted on a missing Object. The correct behavior is to
instead propagate the NotFound error.

Kubernetes-commit: 96d0588440a96c5eba8b3ba0810563ad1e1a08b6
2018-11-09 19:25:02 +00:00
Davanum Srinivas
74cd8bbeee Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135

Kubernetes-commit: 954996e231074dc7429f7be1256a579bedd8344c
2018-11-09 13:49:10 -05:00
Daniel Smith
75d4dad922 add a metric that can be used to notice stuck worker threads
Kubernetes-commit: 6195d1005d81eaa5dd49da744f5beab178340f5a
2018-11-09 10:43:44 -08:00
Kubernetes Publisher
b1c1d2e7ca Merge pull request #70598 from dims/switch-from-sigs.k8s.io/yaml-to-ghodss/yaml
Switch to sigs.k8s.io/yaml from ghodss/yaml

Kubernetes-commit: f212b9db236344d3121879e609d53b79f9f106f9
2018-11-08 19:35:15 +00:00
Adrián Orive
2e9f26a34c Remove duplicate code
Signed-off-by: Adrián Orive <adrian.orive.oneca@gmail.com>

Kubernetes-commit: b6c3129ac5895db6df61601cfc72e2efa03fd72c
2018-11-08 15:46:56 +01:00
Kubernetes Publisher
e6341db955 Merge pull request #70718 from cblecker/godep-round-a-million
Fork godep to fix inconsistent abbreviation size

Kubernetes-commit: e998d6c2bc83385d98186a87e95a0f947e121ec1
2018-11-08 05:12:45 +00:00
Lv Jiawei
2059e953fc Comment error in ItemExponentialFailureRateLimiter
The backoff value is baseDelay*2^<num-failures> in ItemExponentialFailureRateLimiter.When . But the comment is baseDelay*10^<num-failures>.

Kubernetes-commit: c1fa760b75970fbd0c142971f1142754cb4ea3fc
2018-11-08 12:13:23 +08:00
Kubernetes Publisher
eadee0c454 Merge pull request #70663 from wenjiaswe/gonet110
Upgrade golang.org/x/net image to release-branch.go1.10

Kubernetes-commit: 471aff6673ebe4ac9c9219a7579d23831e1146be
2018-11-07 21:21:25 +00:00
Stavros Foteinopoulos
971efa1194 Update vendor package github.com/hashicorp/golang-lru
Kubernetes-commit: df3fbf9295cb8d650d2e951ae46099d07e2130d2
2018-11-07 15:19:34 +02:00
Kubernetes Publisher
d7e5e537ca Merge pull request #70600 from liggitt/sig-auth-subprojects
Add owners/approvers aliases for sig-auth subprojects

Kubernetes-commit: 0aba5577412ea9b2fd89a0c0843e9b0c94e8848d
2018-11-07 04:58:55 +00:00
Christoph Blecker
f099e4c016 Update godeps
Kubernetes-commit: d15da2c586ba27df895c22486b1b527852c6363d
2018-11-06 16:23:59 -08:00
Wenjia Zhang
5a751dfb0c update staging godeps for golang.org/x/net/... to release-branch.go1.10
Kubernetes-commit: adf155ee9f9dfa023069282ec195f9eb8d1ce0fe
2018-11-06 15:49:50 -08:00
Kubernetes Publisher
193c4639ff Merge pull request #70606 from mikedanese/tfreload
periodically reload tokens read from TokenFile in kubeconfig

Kubernetes-commit: 710bfb440e94d5fb80a23618030957982d97cf6c
2018-11-06 08:58:52 +00:00
Mike Danese
98e0c7ac0d periodically reload tokens read from TokenFile in kubeconfig
Like we do with InClusterConfig.

Kubernetes-commit: 718adb7473d2249d706b2031e0b8e0ffbd835be9
2018-11-02 18:57:45 -07:00
Kubernetes Publisher
6054fbfc65 Merge pull request #70525 from seunghunee/issue-69743
Reduce leaderelection's renewed lease verbosity

Kubernetes-commit: 023892af3c64075473b325fbf4fa906ad4065f00
2018-11-02 23:33:20 +00:00
Kubernetes Publisher
ecf1ee491e Merge pull request #69266 from SataQiu/fix-20180930
Remove the redundant space

Kubernetes-commit: 77fd16e0e74bbd7da53c9c741753c0d772e35545
2018-11-02 23:32:55 +00:00
Kubernetes Publisher
e8d832bc5e Merge pull request #70550 from liggitt/cleanup-scale-clients
Drop generated clients for Scale types

Kubernetes-commit: 9fb1153bd8de677b986d8675e92c4ad6c6030b65
2018-11-02 23:32:54 +00:00
Davanum Srinivas
c425b7f92c Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31

Kubernetes-commit: 43f523d405b012fa8d90dd95b667f520e036f6bc
2018-11-02 16:41:57 -04:00
Andrew Lytvynov
420f3f77fb Implement fmt.Stringer on rest.Config to sanitize sensitive fields
It's very easy to add glog.Info(config) calls for debugging (or actual
logging). In some scenarios those configs will carry sensitive tokens
and those tokens will end up in logs or response bodies.
Leaking of those stringified configs compromises the cluster.

Also implement fmt.GoStringer.

Kubernetes-commit: c9ad1d7339b164dfba0846ec49fa4a52474d3e23
2018-11-02 11:39:14 -07:00
Jordan Liggitt
f73b61fce1 certificates subproject approvers/reviewers
Kubernetes-commit: 4ebe084376610b88b0ac446b59ef537adcee51e3
2018-11-02 14:11:01 -04:00
Jordan Liggitt
9c219fe68d authorizers subproject approvers/reviewers
Kubernetes-commit: 9ae79f965395047ed46de110b2b45f0a91083f43
2018-11-02 13:53:57 -04:00
Jordan Liggitt
970a002e5e authenticators subproject approvers/reviewers
Kubernetes-commit: 4fa2a0cc8a86a5d322e52c43eb7d5ffe36b7887f
2018-11-02 13:36:47 -04:00
Kubernetes Publisher
05d4e2f0fd Merge pull request #70477 from andyzhangx/azure-ultrassd-sdk
add azure UltraSSD disk support

Kubernetes-commit: 45550cadbeb85463c85cb657a193eec4cb5991de
2018-11-02 09:13:52 +00:00
Kubernetes Publisher
ddab801f99 Merge pull request #70437 from liggitt/get-scale
Add GetScale/UpdateScale methods to apps/v1 clients

Kubernetes-commit: b04f83dcd811ea09c91cd1c845e836235d48d5d2
2018-11-01 21:23:11 +00:00
Kubernetes Publisher
855e624bb9 Merge pull request #70260 from lavalamp/schema-fix
bump kube-openapi dep

Kubernetes-commit: 6f897af2daffd8cd3539f1ef279b9f9bc280d98f
2018-11-01 09:17:15 +00:00
seunghunee
74d0afcfd9 leaderelection: reduce renewed lease verbosity
This patch changes the renewed lease log level from 4 to 5 of leaderelection.go

Fix: #69743

Kubernetes-commit: 920db78bea84d4bb015970547cda5a1df4f79a04
2018-11-01 08:12:07 +00:00
Daniel Smith
edbf08276b update generated deps
Kubernetes-commit: dcb10d81d18f4e8a58496ef61b62247ae93bbaef
2018-10-31 17:11:23 -07:00
andyzhangx
68a445f5cb add ultrassd support
update stagin Godeps.json

update godeps license

fix test failure

fix comments

Kubernetes-commit: f1bd292c764e5dac507c5d5ca52784b5d3c04c4d
2018-10-31 09:27:45 +00:00
Jordan Liggitt
080a06bd75 Drop generated clients for Scale types
Kubernetes-commit: ff9dc86b3c62cc5c53a1aca2b130239ea2a396cd
2018-10-30 11:37:41 -04:00
Jordan Liggitt
1926f2ea0d Add GetScale/UpdateScale methods to apps/v1 clients
Kubernetes-commit: 4de1912c6e17155fe386d311b0be89de392a0f3e
2018-10-29 10:24:45 -04:00
Jordan Liggitt
5e17e6b505 Fix GetScale/UpdateScale type for replicationcontroller client
Kubernetes-commit: 15a81f51d8ee9a91886c2388c130b0d52c846ba6
2018-10-30 10:51:01 -04:00
andyzhangx
af076e5342 upgrade azure sdk to support ultra ssd
update Godeps.json

update azure sdk for ultrassd support

update bazel

fix build failure

Kubernetes-commit: d210b4bcf350308f51d8bffb7748b2cc3fb611c0
2018-10-29 08:03:22 +00:00
Kubernetes Publisher
585e98112a Merge pull request #70234 from Adirio/Adirio-patch-1
Map allocation optimization for client-go/tools/cache

Kubernetes-commit: 12cf5451952c8425a47334465f3e03d7ca181956
2018-10-26 14:59:05 +00:00
Kubernetes Publisher
045bdd8bd8 Merge pull request #69991 from agunnerson-ibm/issue-69471
certificate_manager: Check that template differs from current cert before rotation

Kubernetes-commit: d96f235051d85143193c6158d1efdffb4daa3081
2018-10-26 14:58:32 +00:00
Kubernetes Publisher
e7898cb3b5 Merge pull request #70138 from liggitt/optional-ca-bundle
Correct optional/omitempty indicator on webhook cabundle

Kubernetes-commit: 1fe288ec02735a6c51452741dffe5e772036864b
2018-10-26 14:58:32 +00:00
Kubernetes Publisher
d355f0b411 Merge pull request #70101 from imjching/68026-fix-golint-failures-discovery
Fix linting issues in staging/src/k8s.io/client-go/discovery/*

Kubernetes-commit: 5e8e8dcff85b44e6c199762bca5716de25350630
2018-10-26 14:58:31 +00:00
Adrián
d016aa7909 Optimized map allocation in Replace methods
Initial allocation of several maps as the sizes are known

Signed-off-by: Adrián Orive <adrian.orive.oneca@gmail.com>

Kubernetes-commit: 2299f45f52464beff889fce7be1f66642a92b791
2018-10-25 11:42:35 +02:00
Jordan Liggitt
63eb0a3a1f Add system root unit test
Kubernetes-commit: fbd5597e9914fc24ece3b21e6015748ed865de7b
2018-10-23 13:48:05 -04:00
Jay Lim
c1a902d20d Fix linting issues in staging/src/k8s.io/client-go/discovery/*
Signed-off-by: Jay Lim <jay@imjching.com>

Kubernetes-commit: 7a317e6262ac42dc20abd1596d505abda81b1ee3
2018-10-22 18:29:30 -04:00
Kubernetes Publisher
982e3f5500 Merge pull request #69718 from andyzhangx/azurefile-premium
support Azure premium file for azure file plugin

Kubernetes-commit: b5c25728ec4e740a5f880b3d39ef91993276cc9d
2018-10-18 13:41:34 +00:00
Kubernetes Publisher
c4e862c05a Merge pull request #67547 from pbarker/audit-api
dynamic audit configuration api

Kubernetes-commit: 0652e098d03197aa4cc0a53440f62e425bf992c5
2018-10-18 01:41:22 +00:00
Kubernetes Publisher
80f980e507 Merge pull request #69269 from miguelbernadi/fix-golint-issues-68026
Fix undocumented golint errors

Kubernetes-commit: 31438712d6602ed16f0fd8311782178cec0bb774
2018-10-17 05:41:21 +00:00
Clayton Coleman
39159c379b Make bootstrap client cert loading part of rotation
Ensure that bootstrap+clientcert-rotation in the Kubelet can:

1. happen in the background so that static pods aren't blocked by bootstrap
2. collapse down to a single call path for requesting a CSR
3. reorganize the code to allow future flexibility in retrieving bootstrap creds

Fetching the first certificate and later certificates when the kubelet
is using client rotation and bootstrapping should share the same code
path. We also want to start the Kubelet static pod loop before
bootstrapping completes. Finally, we want to take an incremental step
towards improving how the bootstrap credentials are loaded from disk
(potentially allowing for a CLI call to get credentials, or a remote
plugin that better integrates with cloud providers or KSMs).

Reorganize how the kubelet client config is determined. If rotation is
off, simplify the code path. If rotation is on, load the config
from disk, and then pass that into the cert manager. The cert manager
creates a client each time it tries to request a new cert.

Preserve existing behavior where:

1. bootstrap kubeconfig is used if the current kubeconfig is invalid/expired
2. we create the kubeconfig file based on the bootstrap kubeconfig, pointing to
   the location that new client certs will be placed
3. the newest client cert is used once it has been loaded

Kubernetes-commit: 0af19875add7deb562b2cf7bf6b1d273c44bab1b
2018-10-16 12:52:47 -04:00
Kubernetes Publisher
70926af6e8 Merge pull request #69330 from vaikas-google/json-patch
Add support for JSON patch in fake client

Kubernetes-commit: 2f8b585d9c9815886e5563ed5ac75cd0bc94a8e8
2018-10-16 01:41:01 +00:00
Patrick Barker
d380bc8c2d adds dynamic audit api generated
Kubernetes-commit: b8e1250487f51bd27bd75f4bfb45c8635d6344ed
2018-10-16 00:20:30 +00:00
Kubernetes Publisher
cbd9965a0e Merge pull request #69412 from tossmilestone/scheduler-factory-test
Refactor scheduler factory test

Kubernetes-commit: 060218a862ba69488aae7edc0313ccf1b448eab6
2018-10-15 21:40:59 +00:00
Kubernetes Publisher
7571b2924a Merge pull request #67412 from tanshanshan/little815
fix test log info

Kubernetes-commit: b9468c7084573bb87f2a8c3b2b6df41b8f136b04
2018-10-13 05:43:48 +00:00
Kubernetes Publisher
f157671357 Merge pull request #69627 from dims/updating-ghodss-yaml-to-latest-version-2
Updating ghodss/yaml and gopkg.in/yaml.v2 to latest version 2

Kubernetes-commit: 3348f9ae23d6502218c6600bcee8d05e00ce5ee3
2018-10-13 01:09:08 +00:00
Kubernetes Publisher
9b03088ac3 Merge pull request #69308 from p0lyn0mial/dynamic_informer
dynamic informer factory

Kubernetes-commit: effd009dabcd0738f5e2b0112b2d3b943c842c69
2018-10-11 10:50:49 +00:00
Kubernetes Publisher
6c1248a47f Merge pull request #69322 from jpbetz/etcd-client-3.3.9
Update etcd client to 3.3 for 1.13

Kubernetes-commit: a8c7a3fd5e707243af68b10a8a581c2c59248222
2018-10-11 06:53:57 +00:00
andyzhangx
beabef4bea add azure premium file support
update bazel and fix goftm

use defaultStorageAccountKind

fix test failure

update godep license file

fix staging godeps issue

update staging godeps

fix comments, use one API call for file creation

Kubernetes-commit: bc2c79a43af1ad47218643c0a3b58b3388606336
2018-10-11 01:51:07 +00:00
Kubernetes Publisher
79cc619401 Merge pull request #69232 from dims/add-missing-step-to-in-cluster-client-configuration-example
Add missing step to in-cluster-client-configuration example

Kubernetes-commit: 3a07fa620c6870bb63d8d877f42f417eb577be55
2018-10-10 20:49:57 +00:00
Davanum Srinivas
a1c4661c03 Updating ghodss/yaml and gopkg.in/yaml.v2 to latest version
Change-Id: I1f1a10b68a2d3e796724c6ac26f0ed3260153588

Kubernetes-commit: 6364af128b0ca50e66501519f333e696a26801d9
2018-10-10 10:14:20 -04:00
Kubernetes Publisher
dcf16a0f3b Merge pull request #46517 from goblain/cli-port-forward-listen
port-forward listen on address

Kubernetes-commit: 830e09cc967236bad8a0e9f8261acb487e2273ef
2018-10-09 21:04:35 +00:00
Kubernetes Publisher
f3fa17a207 sync: update godeps 2018-10-09 08:48:43 +00:00
k8s-ci-robot
7f0192792d Merge pull request #481 from nikhita/travis-go-1.11
travis: bump go version to 1.11.1
2018-10-09 01:06:20 -07:00
Kubernetes Publisher
2ccedc1ac8 Merge pull request #69537 from logicalhan/index-test
refactor index_test to compress the assertions and make consistent with store_test.go

Kubernetes-commit: 552453f6fdae70ab3c120dbc6772d9c602ea9fdf
2018-10-09 03:56:39 +00:00
Kubernetes Publisher
ba3e01d473 Merge pull request #69536 from awly/robust-cert-loading
Allow inverted key/cert order in combined PEM file

Kubernetes-commit: f883fd2ce6c9c41d2db7c752a6f193b5fa928205
2018-10-08 23:55:42 +00:00
Han Kang
9d900fc3f3 refactor index_test to compress the basic expected assertions
Kubernetes-commit: de0043b1d37ee27f1d75c22865667cedc54eec1b
2018-10-08 11:38:19 -07:00
Andrew Lytvynov
40fb7ab6be Allow inverted key/cert order in combined PEM file
certificate.FileStore only handles (cert, key) combined PEM files. This
PR allows (key, cert), which is what "openssl req -out foo.pem -keyout
foo.pem" generates.

Kubernetes-commit: 4b6a6a1cd5c8df83b3c51a03ecab975b82057489
2018-10-08 11:37:36 -07:00
Andrew Gunnerson
b9b3f6d2e7 certificate_manager: Check that template differs from current cert before rotation
With the current behavior, when kubelet starts, a `templateChanged`
event is always fired off because it only checks if `getLastRequest`
matches `getTemplate`. The last request only exists in memory and thus
is initially `nil` and can't ever match the current template during
startup.

This causes kubelet to request the signing of a new CSR every time it's
restarted. This commit changes the behavior so that `templateChanged` is
only fired off if the currently template doesn't match both the current
certificate and the last template.

Fixes #69471

Signed-off-by: Andrew Gunnerson <andrew.gunnerson@us.ibm.com>

Kubernetes-commit: b9ab65d689cc48353ca5dae9f210ff408726a0d2
2018-10-08 12:08:32 -04:00
Kubernetes Publisher
672cf70624 Merge pull request #68403 from wgliang/master.deprecate-Parallelize
Replace Parallelize with function ParallelizeUntil and formally depre…

Kubernetes-commit: c00f19bd1518aaebf468f25ff3005c21dacbe561
2018-10-06 18:58:06 +00:00
Nikhita Raghunath
4c5811d72b travis: bump go version to 1.11.1 2018-10-06 13:08:55 +05:30
Kubernetes Publisher
1f8420dc26 Merge pull request #69386 from cblecker/go-1.11
Update to go1.11.1

Kubernetes-commit: 0f17e9ade6e089eadb7c09052a4a030f155a0eb0
2018-10-06 04:33:16 +00:00
Christoph Blecker
7f1c01699a Update gofmt for go1.11
Kubernetes-commit: 97b2992dc191a357e2167eff5035ce26237a4799
2018-10-05 12:59:38 -07:00
k8s-ci-robot
9c81604894 Merge pull request #480 from nikhita/travis-check-branch
travis: run godep restore for non-master branches
2018-10-05 07:33:22 -07:00
Nikhita Raghunath
ae670e1f7c travis: run godep restore for non-master branches 2018-10-05 16:32:14 +05:30
Miguel Bernabeu
7511061861 Fix golint errors when generating informer code
Kubernetes-commit: acf78cd6133de6faea9221d8c53b02ca6009b0bb
2018-10-03 21:39:26 +02:00
Kubernetes Publisher
3e116d4527 Merge pull request #69329 from mrIncompetent/use-signer-interface
use signer interface for certificate creation

Kubernetes-commit: 0509eea6b53161d16d3944b0e0329cb0125384f9
2018-10-03 08:05:38 +00:00
Kubernetes Publisher
a0aefdd1eb Merge pull request #67356 from yliaog/master
Moved staging/src/k8s.io/client-go/tools/bootstrap to staging/src/k8s…

Kubernetes-commit: c179a9c9df4bfb6421258a5f31da9f595474ada4
2018-10-02 20:35:51 -07:00
He Xiaoxi
da56c29d61 Refactor scheduler factory test
Use `k8s.io/client-go/kubernetes/fake.Clientset` as the fake k8s client.

Signed-off-by: He Xiaoxi <xxhe@alauda.io>

Kubernetes-commit: a96a390d924d33ba7dda13761ff0eb1eb37a02b6
2018-10-02 23:46:17 +08:00
Ville Aikas
41406bf985 Add support for JSON patch in fake client
Kubernetes-commit: a363b153851326ece7f81f4c1ae0a1ab8700a209
2018-10-02 13:30:52 +00:00
mrIncompetent
30575d7a9f use signer interface for certificate creation
Kubernetes-commit: ef04b17ad8097db22755af05e2889b4d73eaf99f
2018-10-02 14:49:45 +02:00
Kubernetes Publisher
aa75b7764b Merge pull request #69125 from caesarxuchao/fix-dynamic-empty-scheme
Populates the fake dynamic client scheme

Kubernetes-commit: 43ce5fbf41411babfacd1f5dda9e30fb19691f1e
2018-10-02 04:08:21 +00:00
Joe Betz
155d5ec829 Update etcd client to 3.3.9
Kubernetes-commit: 4263c752115c3796ee5715c7de4cbc2e237809d3
2018-10-01 16:53:57 -07:00
Radek Pieczonka
2a9c6c4210 port-forward listen on address
adds an address flag to kubectl port-forward to allow to bind to a different ip then localhost

Kubernetes-commit: 4643c6e95e0a0cf6561554fb3b9a1bc59bcead0c
2018-10-01 08:52:50 +02:00
SataQiu
ed35c194bb Remove the redundant space
Kubernetes-commit: c9bc62542892a4f568a60cd423807e078c4e3ac9
2018-09-30 11:09:32 +08:00
Davanum Srinivas
61a24777f8 Add missing step to in-cluster-client-configuration example
If the permissions are not setup correctly the example fails.

Change-Id: I167ef68be66f8b56740236ae475c3b7fdcc0dfb5

Kubernetes-commit: d222c310aaa4ce8777094f4a37a920982aff794d
2018-09-28 14:46:01 -04:00
Kubernetes Publisher
78bf9020c4 Merge pull request #69035 from dmathieu/fake-eviction
Set api version and action name in fake evictions

Kubernetes-commit: 2e357e39c81673f916a81a0a4f485ed080043e25
2018-09-28 12:54:08 +00:00
k8s-ci-robot
c49eef9ec8 Merge pull request #466 from nikhita/release-9
Add client-go 9.0.0 changelog
2018-09-27 10:16:00 -07:00
Kubernetes Publisher
e2bc6cda8d Merge pull request #68866 from tanshanshan/error_fix_its
fix syntax error:'its'

Kubernetes-commit: 66b956e93b4d6adb44251fb925b8c41344f929fd
2018-09-27 07:27:37 +00:00
Chao Xu
97dc22a90a Populates the fake dynamic client scheme
Kubernetes-commit: db20e16b87b38ace132c375f9ae414a98b451d7b
2018-09-26 18:32:49 -07:00
Kubernetes Publisher
bb17ab6ef1 Merge pull request #68748 from p0lyn0mial/dynamic_lister_informer
adds dynamic lister

Kubernetes-commit: 23baf579c8cfc7d69fefac17ecd271321b15fc54
2018-09-26 23:34:42 +00:00
Kubernetes Publisher
44e7f0ea19 Merge pull request #66516 from tallclair/redirect
Add verification to apiserver redirect following

Kubernetes-commit: 109b67c291de3b9bda35c35e471b9064de6ff859
2018-09-26 23:33:41 +00:00
Kubernetes Publisher
4d3c94690f Merge pull request #68729 from TinySong/fix-client-go-typos
remove duplicated words in heap.go and interfaces.go

Kubernetes-commit: a641e1cba8c587aace2fd8bf012db3a15dd7a536
2018-09-26 07:35:54 +00:00
Kubernetes Publisher
a5d40177db Merge pull request #68245 from jingyih/remove_tagName_in_goDoc
*: Remove comment tags in GoDoc

Kubernetes-commit: a67689dfcab0ed547e1d060c414eae7c81629cc9
2018-09-25 15:32:50 +00:00
Kubernetes Publisher
087039522d Merge pull request #68238 from justinsb/update_reflect2_to_101
Update reflect2 to 1.0.1 (memory utilization fix)

Kubernetes-commit: a94ea824eb59e92188f166c302d7995ba9002667
2018-09-25 15:31:48 +00:00
Kubernetes Publisher
e39833ec3c Merge pull request #68215 from tanshanshan/fixtypo
fix error info

Kubernetes-commit: fe4ca268d76288d21de89de14388b1d4e2f20bbc
2018-09-25 15:31:00 +00:00
Damien Mathieu
b8d8ea0ef0 set api version and action name in fake evictions
Kubernetes-commit: 4e8a188dad443ccd5e9453361b785d98370c0b9a
2018-09-25 15:16:36 +02:00
Kubernetes Publisher
33124a8148 Merge pull request #67513 from novas0x2a/expose-port
export a method to expose which ports were forwarded

Kubernetes-commit: 4a627e9008a48fff8925131b97e372b2b15f6380
2018-09-25 11:34:40 +00:00
Nikhita Raghunath
c5518cda52 Update README to reflect 9.0.0 release 2018-09-22 13:23:30 +05:30
Nikhita Raghunath
3655b8b061 Add client-go 9.0.0 changelog 2018-09-22 13:23:22 +05:30
David Eads
cf91644e9c update client generator for local timeout
Kubernetes-commit: 493bc79c0432bdb53d87248e18ffcaa5caf9d08d
2018-09-21 09:11:54 -04:00
tanshanshan
0fa5515631 fix syntax error:'its'
Kubernetes-commit: 7dfe0dae64aa2f6cd579f9c88bdf84cccad94504
2018-09-20 09:45:46 +08:00
Kubernetes Publisher
93821fae80 Merge pull request #68790 from nikhita/client-go-install.md
Move INSTALL.md from k8s.io/client-go to staging

Kubernetes-commit: 259a59d93618f0266151a50018f3b3f3cbcfc0e4
2018-09-19 06:22:14 -07:00
k8s-ci-robot
ca74aedde1 Merge pull request #468 from nikhita/remove-install.md
Remove INSTALL.md
2018-09-19 05:04:59 -07:00
k8s-ci-robot
7f726ce02d Merge pull request #467 from nikhita/bump-go-version-travis
Bump go version to 1.10.2 for travis
2018-09-19 04:34:29 -07:00
Nikhita Raghunath
91ab78faba Remove INSTALL.md
This is going to move to staging.
2018-09-19 15:58:43 +05:30
Nikhita Raghunath
0152131f08 Bump go version to 1.10.2 for travis 2018-09-19 15:40:27 +05:30
Nikhita Raghunath
c8e76297e1 Move INSTALL.md from k8s.io/client-go to staging
Kubernetes-commit: 331ae66491a775c24887413f44549d83b797b61e
2018-09-18 20:55:22 +05:30
Kubernetes Publisher
780aa459ed Merge pull request #68530 from wenjiaswe/68115
Rewrite finalURLTemplate used only for metrics because of dynamic client change

Kubernetes-commit: 817d420d6807d0b3bd0a4baa20d709ab755ad602
2018-09-17 19:39:44 +00:00
p0lyn0mial
bfcfd82283 adds dynamic informer factory
Kubernetes-commit: 4d479aff37edfcdb17ac5a5f89b1e3f95d118f30
2018-09-17 19:07:00 +02:00
p0lyn0mial
cf575eb079 adds dynamic lister
Kubernetes-commit: 8b43a0005a5bd3c2e415d55efb6c9d77c1c655b1
2018-09-17 19:07:00 +02:00
song
bd418b4186 remove duplicated words in heap.go and interfaces.go
Kubernetes-commit: dd4a8f9cab80aaf280ed5ed95a6facc26c00d928
2018-09-17 18:00:19 +08:00
Wenjia Zhang
13b096589c Rewrite finalURLTemplate used only for metrics because of dynamic client change
Kubernetes-commit: 99248b8fe1fe1c28188657d811dc7baf8cd12982
2018-09-14 11:31:21 -07:00
Kubernetes Publisher
86dcffcdde Merge pull request #66314 from jlowdermilk/cmdtokensource-reset
gcp client auth plugin: persist default cache on unauthorized

Kubernetes-commit: c04fe8c27c9053a37face46abfebc45b9ac23dd7
2018-09-14 08:06:50 +00:00
Guoliang Wang
b5eba4c261 Replace Parallelize with function ParallelizeUntil and formally deprecate the Parallelize
Kubernetes-commit: c2622dd9d800280bcaeea9473340a4efb94946d2
2018-09-07 17:17:27 +08:00
Jingyi Hu
33fabb1e0f *: Remove comment tags in GoDoc
Adding blank line between comment tag and package name in doc.go. So
that the comment tags such as '+k8s:deepcopy-gen=package' do not show up
in GoDoc.

Kubernetes-commit: 61117761cd4a1b2e6ad9ff2d7eb915f3d2739dc6
2018-09-04 14:08:32 -07:00
Kubernetes Publisher
37c3c02ec9 Merge pull request #67555 from wgliang/opt/improve-performance
Automatic merge from submit-queue (batch tested with PRs 67555, 68196). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Not split nodes when searching for nodes but doing it all at once

**What this PR does / why we need it**:
Not split nodes when searching for nodes but doing it all at once.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
@bsalamat

This is a follow up PR of #66733.

https://github.com/kubernetes/kubernetes/pull/66733#discussion_r205932531

**Release note**:

```release-note
Not split nodes when searching for nodes but doing it all at once.
```

Kubernetes-commit: a0b457d0e5ed54646fd01eac877efcea5be3216d
2018-09-04 19:08:50 +00:00
Justin Santa Barbara
3652287890 Update reflect2 to 1.0.1 (memory utilization fix)
Picking up https://github.com/modern-go/reflect2/pull/2 which lazy
initializes a map of all types which we don't use in k8s, saving
memory & initialization time.

Kubernetes-commit: 970e4da4c6636b835175dc79a7492d22dc11ba33
2018-09-04 13:13:00 -04:00
tanshanshan
9a73dd2136 fix error info
Kubernetes-commit: 19c9df95ad7812f3f5bab39211c82316e72f91b4
2018-09-04 17:14:12 +08:00
Kubernetes Publisher
f06dbfd735 Merge pull request #67359 from mikedanese/reloadtoken
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

client: periodically reload InClusterConfig token

/sig auth
/sig api-machinery

```release-note
NONE
```

Kubernetes-commit: 7b6647a418c660f2c87f183f706b297f1cb573ca
2018-09-02 07:32:50 +00:00
Kubernetes Publisher
ec724c24d1 Merge pull request #67910 from liztio/cert-renewal
Automatic merge from submit-queue (batch tested with PRs 64283, 67910, 67803, 68100). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Kubeadm Cert Renewal

**What this PR does / why we need it**:

adds explicit support for renewal of certificates via command

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes kubernetes/kubeadm#206

**Special notes for your reviewer**:
The targeted documentation is at kubernetes/website#9712

**Release note**:

```release-note
Adds the commands `kubeadm alpha phases renew <cert-name>`
```

Kubernetes-commit: 17dde46baebe0b67421132af7b99b42d89ea4cd0
2018-09-01 03:41:45 +00:00
liz
22e1ddcc48 Actually renew certificates (using on-disk CAs)
Kubernetes-commit: 76be5ca581818227062f7d0638cb772bb862bdb9
2018-08-29 17:57:02 -04:00
wojtekt
7d13a606b3 Avoid going back in time in reflector framework
Kubernetes-commit: b2b285a766540278a768dc9e6bd07a3a676ae543
2018-08-29 11:40:25 +02:00
Kubernetes Publisher
87935b98dd Merge pull request #67545 from sttts/sttts-auth-optional-kubeconfig
Automatic merge from submit-queue (batch tested with PRs 66960, 67545). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

delegated authn/z: optionally opt-out of mandatory authn/authz kubeconfig

This adds `RemoteKubeConfigFileOptional` field to the delegated authn/z option structs. If set to true, the authn/z kubeconfig file flags are optional. If no kubeconfig is given, all token requests are considered to be anonymous and no client CA is looked up in the cluster.

Prerequisite for https://github.com/kubernetes/kubernetes/pull/64149 and https://github.com/kubernetes/kubernetes/pull/67069.

Kubernetes-commit: 1b3a2dd0830ca0e02d5b95d2ecc0161d0c93a0c7
2018-08-28 23:27:43 +00:00
Kubernetes Publisher
31ff53b616 Merge pull request #66717 from bboreham/remove-timeoutFromListOptions
Automatic merge from submit-queue (batch tested with PRs 67323, 66717, 67038). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove unused function timeoutFromListOptions()

**What this PR does / why we need it**:
It removes a function which is not exported and not called or referenced.

Re-opening #60215 after rebase.

**Which issue(s) this PR fixes**
No issue.

**Special notes for your reviewer**:
I guess it would be useful to know what this was supposed to be doing. I just happened upon it when trying to understand how watch timeouts were configured.

**Release note**:
```release-note
NONE
```

Kubernetes-commit: 1bfbf861e92410dbed2cb8debdc2f841d0fd7719
2018-08-28 03:30:01 +00:00
Kubernetes Publisher
855e8fadf4 Merge pull request #64097 from damemi/hpa-metrics-specificity
Automatic merge from submit-queue (batch tested with PRs 67894, 64097). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

HPA metrics specificity improvements

**What this PR does / why we need it**:
Improves available specificity for HPA metrics by adding metric selector fields for metrics of Pods and Objects.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Implements this KEP: https://github.com/kubernetes/community/pull/2055

**Special notes for your reviewer**:
Need to add/update tests?

**Release note**:

```release-note
Introduces autoscaling/v2beta2 and custom_metrics/v1beta2, which implement metric selectors for Object and Pods metrics, as well as allowing AverageValue targets on Objects, similar to External metrics.
```

/assign @DirectXMan12

Kubernetes-commit: fdb5707194d56cbbd0da11c5be3a2a5653e714c9
2018-08-27 23:25:16 +00:00
Kubernetes Publisher
030d971055 Merge pull request #67809 from Pingan2017/dafaultfitler
Automatic merge from submit-queue (batch tested with PRs 67362, 67256, 67809). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

del unused func DefaultEventFilterFunc

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: da62c170f724277bae45f6efed6085eb34566bc5
2018-08-27 19:24:36 +00:00
Pingan2017
ada81a0d75 del unused func DefaultEventFilterFunc
Kubernetes-commit: 655271f89b665d87f5de6ba292ed551999635612
2018-08-24 17:26:17 +08:00
Kubernetes Publisher
79cb21f5b3 Merge pull request #66971 from tnozicka/informer-watcher
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

#50102 Task 2: Add UntilWithSync

**What this PR does / why we need it**:
This is a split off from https://github.com/kubernetes/kubernetes/pull/50102 to go in smaller pieces.

Introduces UntilWithSync based on informer.

**Needs https://github.com/kubernetes/kubernetes/pull/66906 first**
/hold

**Release note**:
```release-note
NONE
```

/priority important-soon
/kind bug
(bug after the main PR which is this split from)

Kubernetes-commit: c4f355a2ad9692f5459541d4e4d94fcbc5f7d946
2018-08-23 15:28:47 +00:00
Dr. Stefan Schimanski
6007d7f0a9 authn/z: optionally opt-out of mandatory authn/authz kubeconfig
Kubernetes-commit: a671d65673590f0dfcf5c2b673e1518d11510bdb
2018-08-22 11:56:07 +02:00
Kubernetes Publisher
3a92319114 Merge pull request #67596 from nikhita/add-apimachinery-label-owners
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add sig/api-machinery label to apimachinery OWNERS files

Inspired by https://github.com/kubernetes/kubernetes/pull/67548. List of OWNERS files taken from https://github.com/kubernetes/community/blob/master/sig-api-machinery/README.md#subprojects.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 8f4ab6fe7635983443ebef7fde5b9c8861bef5bb
2018-08-20 23:26:47 +00:00
Nikhita Raghunath
8dd267ed24 Add sig/api-machinery label to apimachinery OWNERS files
Kubernetes-commit: 6e47ba1fded3dc9932bd62affb673d321089760f
2018-08-20 18:46:47 +05:30
Kubernetes Publisher
b53d9ecf53 Merge pull request #66023 from ibrasho/change-TRUNCATED-to-DATA+OMITTED
Automatic merge from submit-queue (batch tested with PRs 60790, 66023, 67549). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

change TRUNCATED to DATA+OMITTED in kubectl config view

**What this PR does / why we need it**:
Based on the discussion in #61573, this PR switches the replacement text for CA certificate data and client certificates and secrets printed using `kubectl config view`. Currently, `REDACTED` is used, which might give a false impression that the data is a secret (which is not true for the public certificates).

This PR changes `REDACTED` to `DATA+OMITTED`. The printed string is the base64 encoded string on the byte stream. Some trickery is involved to print a readable string (refer to [this comment](https://github.com/kubernetes/kubernetes/pull/66023/files#diff-aec000ca3f293c94dcd99b4a9d1c5c3cL86) for more info).

**Which issue(s) this PR fixes**:
Fixes #61573

**Special notes for your reviewer**:

**Release note**:
```release-note
Switched certificate data replacement from "REDACTED" to "DATA+OMITTED"
```

Kubernetes-commit: ae9beb4663329c8ca824638805b70eba0d295977
2018-08-18 05:30:00 +00:00
Kubernetes Publisher
5d107d4ebc Merge pull request #65779 from cblecker/mergo-update
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

update github.com/imdario/mergo to v0.3.5

**What this PR does / why we need it**:
Updates github.com/imdario/mergo library to v0.3.5. We were pinned because of a functionality change in the dependency, however, a new function was introduced with similar functionality to the old.

There is apparently some Debian packaging issues (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878254) because of this. I'm still not clear what those are, unless they are forcing the library to update, as opposed to using our `vendor/`.

That said, this will allow for some of those vendor conflicts to resolve for anyone else who is using client-go, so that's at least worthwhile.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
fixes #27543, fixes https://github.com/kubernetes/client-go/issues/431

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```

Kubernetes-commit: 6b4135267911b6c10ed536308d29d2a7c453eef6
2018-08-18 01:30:48 +00:00
Guoliang Wang
35223a0681 Not split nodes when searching for nodes but doing it all at once
Kubernetes-commit: 6c63dcfffebb9a8bcc5e1cee748ad16d7ed7e293
2018-08-18 09:05:58 +08:00
Kubernetes Publisher
d3f03ecc37 Merge pull request #66920 from wking/segments-segment-typo
Automatic merge from submit-queue (batch tested with PRs 66920, 67316, 67363, 67528, 66963). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go/rest: Fix "segments segment" comment typo

The typo landed with `SubResource` in adb75e1f (kubernetes/kubernetes#29147).

```release-note
NONE
```

Kubernetes-commit: 49b295415d398a3a36b5abb7ba071d3b224087eb
2018-08-17 21:32:35 +00:00
Mike Lundy
e1ca545b2c export a method to expose which ports were forwarded
Without this change, the only method to discover what local port was
bound (if port 0 was requested) is to parse it out of the "out" stream,
which isn't the most reliable method.

Kubernetes-commit: a9084923f2bd499c287b675007cb7c6c093d60ad
2018-08-16 13:11:26 -07:00
Kubernetes Publisher
b95fa2e4f3 Merge pull request #67347 from juanvallejo/jvallejo/use-temp-file-config-tests
Automatic merge from submit-queue (batch tested with PRs 67347, 67307, 67358, 67364, 67385). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

use temp file for kubeconfig in test

Followup to https://github.com/kubernetes/kubernetes/pull/67093

Updates client_config_test to use a temporary file for kubeconfig.

**Release note**:
```release-note
NONE
```

cc @deads2k @soltysh

Kubernetes-commit: 46bfa1ab17afaffc584f560ee5c752ecbbad4f61
2018-08-16 13:35:57 +00:00
Kubernetes Publisher
744b11616f Merge pull request #66906 from tnozicka/rename-until
Automatic merge from submit-queue (batch tested with PRs 67071, 66906, 66722, 67276, 67039). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

#50102 Task 1: Move apimachinery/pkg/watch.Until into client-go/tools/watch.UntilWithoutRetry

**What this PR does / why we need it**:
This is a split off from https://github.com/kubernetes/kubernetes/pull/50102 to go in smaller pieces.

Moves `apimachinery/pkg/watch.Until` into `client-go/tools/watch.UntilWithoutRetry` and adds context so it is cancelable.

**Release note**:
```release-note
NONE
```

**Dev release note**:
```dev-release-note
`apimachinery/pkg/watch.Until` has been moved to `client-go/tools/watch.UntilWithoutRetry`.
While switching please consider using the new `client-go/tools/watch.UntilWithSync` or `client-go/tools/watch.Until`.
```

/cc @smarterclayton @kubernetes/sig-api-machinery-pr-reviews
/milestone v1.12
/priority important-soon
/kind bug
(bug after the main PR which is this split from)

Kubernetes-commit: b6f0aed056ab94fef0b6f54e1ca1d66a5fc228b3
2018-08-16 13:34:54 +00:00
Kubernetes Publisher
791991630f Merge pull request #67178 from cblecker/cfssl
Automatic merge from submit-queue (batch tested with PRs 66602, 67178, 67207, 67125, 66332). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Vendor cfssl/cfssljson utilities

**What this PR does / why we need it**:
Vendors the `cfssl` and `cfssljson` tools. Updates `kube::util::ensure-cfssl` to use them.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
fixes #66995, fixes #60070

**Special notes for your reviewer**:
1. Add cfssl/cfssljson ot the required bins for saving
2. Manually cloned/checked out the new dependencies to my gopath. `godep restore` doesn't pull them down because they aren't required or already in the `Godeps.json`. Used @BenTheElder's list here: https://github.com/kubernetes/kubernetes/issues/66995#issuecomment-410594532
3. `hack/godep-save.sh` to add the packages and dependencies to godep
4. Fixed two bugs when building:
  a. `golang.org/x/crypto` needed to be updated
  b. `github.com/cloudflare/cfssl` needed to be updated to 56268a613a so we can vendor their fork of `crypto/tls`, as we discard their modified vendored stdlib.
5. Update staging godeps
6. Update the `kube::util::ensure-cfssl` to install from vendor

**Release note**:
```release-note
NONE
```

Kubernetes-commit: 818e632c1fde5fb01bc8ccf9b9ee6201f33a28b4
2018-08-16 13:34:53 +00:00
Kubernetes Publisher
961ecfb9a2 Merge pull request #67093 from juanvallejo/jvallejo/improve-config-context-update
Automatic merge from submit-queue (batch tested with PRs 67161, 67093, 67077). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

improve kubeconfig file modification time

In cases where there are few destination filenames for a given
amount of contexts, but a large amount of contexts, this patch
prevents reading and writing to the same file (or small number
of files) over and over again needlessly.

**Release note**:
```release-note
Decrease the amount of time it takes to modify kubeconfig files with large amounts of contexts
```

cc @deads2k

Kubernetes-commit: 3587aa4206ddf502540d388466985bb51fc4a0e6
2018-08-16 13:33:56 +00:00
tanshanshan
f3c7bb05b0 fix test log info
Kubernetes-commit: b0696b173b2cff3e561a7417b7adf48b93b5f44a
2018-08-15 10:19:03 +08:00
Yu Liao
b35fd0f035 Moved staging/src/k8s.io/client-go/tools/bootstrap to staging/src/k8s.io/cluster-bootstrap
Kubernetes-commit: fc21115c3fb14e3eec4d57c1b813111fb2efd5c3
2018-08-13 17:22:57 -07:00
Mike Danese
eb0f6510ef reload token file for InClusterConfig every 5 minutes
Kubernetes-commit: 287f6a564fb8c264f281056011f4a66f197b18f4
2018-08-13 16:47:17 -07:00
juanvallejo
69308bcf06 use temp file for kubeconfig in test
Kubernetes-commit: 03af5089afb5d31707e7d91e55dfd6b157e6f8e1
2018-08-13 14:29:34 -04:00
Christoph Blecker
43b95360bd add more tests to clientcmd
Kubernetes-commit: e9cf2b0f798f1fac07f52b5d193419e938e3a7cd
2018-08-11 22:16:26 -07:00
Christoph Blecker
33d45c1319 Update staging godeps
Kubernetes-commit: c14a9c7c2be3f66efc62297598e4c1b98fedcb4c
2018-08-09 14:42:48 -07:00
SneakyFish5
84710d1308 fix: use pod instead of node
Kubernetes-commit: 195547f872c288f5b81e436be6bd1f0feade5315
2018-08-09 11:48:18 -05:00
juanvallejo
61141c1efe improve kubeconfig file modification time
Trades runtime complexity for spacial complexity when modifying
large amounts of contexts on a kubeconfig.

In cases where there are few destination filenames for a given
amount of contexts, but a large amount of contexts, this patch
prevents reading and writing to the same file (or small number
of files) over and over again needlessly.

Kubernetes-commit: d5651948cf1a14ed284b4708e2057e4cbc72bcbe
2018-08-07 15:13:57 -04:00
Kubernetes Publisher
bdfc4cfc12 Merge pull request #67024 from juanvallejo/jvallejo/add-cancel-req-discovery-rt
Automatic merge from submit-queue (batch tested with PRs 66958, 67024). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add CancelRequest to discovery round-tripper

**Release note**:
```release-note
NONE
```

Make discovery roundtripper implement the RequestCanceler interface

cc @deads2k

Kubernetes-commit: a945b5d9281ac5cba5e4a2976a0747592c0cff87
2018-08-06 21:26:58 +00:00
juanvallejo
12e8bc7b09 add CancelRequest to discovery round-tripper
Kubernetes-commit: 07eae3a1725c65860d85956f4fda20293a8d0a9e
2018-08-06 11:51:13 -04:00
Kubernetes Publisher
02384dbe12 Merge pull request #66967 from deads2k/kubectl-09-naughty
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

stop adding internal types to external schemes

at some point someone starting internal types to external schemes in kubectl tests.  This fixes that mistake.

@kubernetes/sig-cli-maintainers
/assign @soltysh

```release-note
NONE
```

Kubernetes-commit: dab04dc6e0103c1778f047594e5405d433cff96c
2018-08-06 13:26:01 +00:00
Kubernetes Publisher
32a482af20 Merge pull request #66837 from deads2k/client-02-panic
Automatic merge from submit-queue (batch tested with PRs 66870, 66929, 66837). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix panic fake SAR client expansion

if the object is nil, the type assertion fails.

@kubernetes/sig-api-machinery-bugs

```release-note
NONE
```

Kubernetes-commit: a2223e9a9281ca83fd85814c8e7c32b3c8fde53f
2018-08-06 13:25:27 +00:00
Kubernetes Publisher
d0ef5a1c7d Merge pull request #66929 from deads2k/client-03-wrapping-log
Automatic merge from submit-queue (batch tested with PRs 66870, 66929, 66837). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add logging to find offending transports

When a transport can't be cancelled, we're notified, but we don't which transport is missing the ability.  This adds logging to give us a target type.

@kubernetes/sig-api-machinery-bugs
/assign @juanvallejo

since you hit it.

```release-note
NONE
```

Kubernetes-commit: 99f96511fdb8438f85ebeb4c22c929c97fabcbb6
2018-08-06 13:25:26 +00:00
Tomas Nozicka
1ab85cc3cc Update Bazel
Kubernetes-commit: 4d7747a5a374ab6ee173b99968b4311d967e1b6b
2018-08-06 14:32:36 +02:00
Tomas Nozicka
f314ed00c1 Update Bazel
Kubernetes-commit: dc2cfd5d208bfdb105d055471b778f0dd87ba99d
2018-08-03 16:46:26 +02:00
Tomas Nozicka
4528feba43 Add UntilWithSync (informer based)
Kubernetes-commit: 866cc1acab6c1c30a7550b2de7160c8052be884d
2018-08-03 16:45:41 +02:00
Tomas Nozicka
6dac86f710 Deprecate ListWatchUntil, fix it and call places
Kubernetes-commit: e434f3189e81e473aa89e3589ca81545d1341cf8
2018-08-03 16:08:28 +02:00
Tomas Nozicka
82acb64076 Move ListWatchUntil to its kin
Kubernetes-commit: 07b8373ab393547239ed4fe227758a1715480f22
2018-08-03 15:22:42 +02:00
David Eads
03b9b1062a stop adding internal types to external schemes
Kubernetes-commit: 8a1eae451bb0c8eb651675cecb46db628208f003
2018-08-03 07:51:44 -04:00
Kubernetes Publisher
30599d9dba Merge pull request #66870 from apelisse/dry-run-client
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

dry-run: Update DynamicClient to pass Create/Update options

Change dynamic client to accept Create and Update options on Create/Update/Patch methods.

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: b90485560185085ae7a8ad3fab60cb417f7654bf
2018-08-02 17:00:29 -07:00
Kubernetes Publisher
453b064209 Merge pull request #66779 from deads2k/api-05-easy-unit
Automatic merge from submit-queue (batch tested with PRs 66850, 66902, 66779, 66864, 66912). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add methods to apimachinery to easy unit testing

When unit testing, you often want a selective scheme and codec factory.  Rather than writing the vars and the init function and the error handling, you can simply do

`scheme, codecs := testing.SchemeForInstallOrDie(install.Install)`

@kubernetes/sig-api-machinery-misc
@sttts

```release-note
NONE
```

Kubernetes-commit: 4a54f3f0d6fe73bcced14442b60981819a1744e2
2018-08-06 13:25:25 +00:00
Kubernetes Publisher
b00d4d1d42 Merge pull request #65799 from dekkagaijin/fix-headers
Automatic merge from submit-queue (batch tested with PRs 66225, 66648, 65799, 66630, 66619). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Percent-encode illegal characters in user.Info.Extra keys

This percent-encodes characters in `X-Remote-Extra-` and `Impersonate-Extra-` keys which aren't valid for header names per [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.2.6) (plus "%" to avoid breaking keys which contain them). The API server then blindly unescapes these keys.

Reviewer note:
Old clients sending keys which were `%`-escaped by the user will have their values unescaped by new API servers. New clients sending keys containing illegal characters (or "%") to old API servers will not have their values unescaped. This version skew incompatibility is a compromise discussed in #63682.

Fixes #63682

PTAL @mikedanese

**Release note**:
```release-note
action required: the API server and client-go libraries have been fixed to support additional non-alpha-numeric characters in UserInfo "extra" data keys. Both should be updated in order to properly support extra data containing "/" characters or other characters disallowed in HTTP headers.
```

Kubernetes-commit: 6715f139292bfde5e4030e2e3f8077da04cc6d72
2018-08-06 13:24:39 +00:00
Kubernetes Publisher
7d948ea4ad Merge pull request #66648 from feiskyer/azure-sdk-update
Automatic merge from submit-queue (batch tested with PRs 66225, 66648, 65799, 66630, 66619). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update Azure Go SDK to v19.0.0 and get availability zone for VirtualMachineScaleSetVM

**What this PR does / why we need it**:

Continue of #66242. This PR updates Azure Go SDK to v19.0.0 (with compute API 2018-04-01) and gets availability zones for VirtualMachineScaleSetVM.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
Azure Go SDK has been upgraded to v19.0.0 and VirtualMachineScaleSetVM now supports availability zones.
```

/sig azure
/assign @brendandburns @khenidak @andyzhangx

Kubernetes-commit: c2cbe86f7d647f8608c9963105fe297c9c5f4508
2018-08-06 13:24:39 +00:00
David Eads
5f3a23fd53 add logging to find offending transports
Kubernetes-commit: 8b61c5a08846221503ad039a53e3f38328c9c127
2018-08-02 15:14:27 -04:00
W. Trevor King
045dbe7ac1 client-go/rest: Fix "segments segment" comment typo
The typo landed with SubResource in adb75e1f (generated staging area,
2016-08-06, kubernetes/kubernetes#29147).

Kubernetes-commit: e42aab6430cbc9d14891e9aaada9ec8becf62273
2018-08-02 08:30:44 -07:00
Tomas Nozicka
cbdb98d74d Rename Until to UntilWithoutRetry and move to using context so it's
cancelable

Kubernetes-commit: 3d4a02abb54244861f9f05b8db2fdfdaa2c6f67c
2018-08-02 14:11:59 +02:00
Tomas Nozicka
5764fa1b79 Move Until from apimachinery to client-go
Kubernetes-commit: ccb92f6ef867c9e2ede91b7877a492a161986623
2018-08-01 19:35:46 +02:00
Antoine Pelisse
29424b90cb dry-run: Update DynamicClient to pass Create/Update options
Kubernetes-commit: 71970d6475f6570d933fa9f22be2ebc20a9ace6f
2018-08-01 10:35:43 -07:00
David Eads
b46e3962ed generated
Kubernetes-commit: efb160c945587fbfdde3d7b24952cacb55d90450
2018-08-01 10:18:41 -04:00
David Eads
3e9a51baf5 make package name match all the import aliases
Kubernetes-commit: d3bd0eb1d5cefc25e4476d8dc086ebd90439ef4e
2018-08-01 10:01:32 -04:00
Ibrahim AshShohail
a83d2a2682 change TRUNCATED to DATA+OMITTED in kubectl config view
Signed-off-by: Ibrahim AshShohail <me@ibrasho.com>

Kubernetes-commit: 23996b25c93c0fc576f5d4a547f91e1b7c4b68a3
2018-08-01 03:23:00 +03:00
David Eads
5798b4e636 fix panic fake SAR client expansion
Kubernetes-commit: 13db7c77c968f95b8f5d7b4a041d8e89001e4f7f
2018-07-31 16:17:36 -04:00
Pengfei Ni
93515e7d7f Update staging Godeps
Kubernetes-commit: 4457947e114ae35a524fe9a1b0271607986ed082
2018-07-27 10:13:56 +08:00
Kubernetes Publisher
0b97d57a86 Merge pull request #66395 from awly/fix-kubelet-exec-plugin-startup
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update http.Transport if it already exists in ExecProvider

**What this PR does / why we need it**:
This unbreaks ExecPlugin. Without the change, we hit this error
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/transport/transport.go#L32

**Release note**:
```release-note
Fix kubelet startup failure when using ExecPlugin in kubeconfig
```

Kubernetes-commit: cef2d325ee1be894e883d63013f75cfac5cb1246
2018-07-26 18:23:31 +00:00
Andrew Lytvynov
dd5f11e1e6 Set connrotation dialer via restclient.Config.Dialer
Instead of Transport. This fixes ExecPlugin, which fails if
restclient.Config.Transport is set.

Kubernetes-commit: 3357b5ecf42db9bcf6e54c9d2b6712cfbae077bf
2018-07-25 16:22:32 -07:00
Kubernetes Publisher
3db81bdd12 Merge pull request #66518 from deads2k/dynamic-02-ordie
Automatic merge from submit-queue (batch tested with PRs 66252, 66518). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add missing OrDie variant for dynamic client construction

Generated clients have it and it is very handy for test cases.

```release-note
NONE
```

@kubernetes/sig-api-machinery-pr-reviews

Kubernetes-commit: 6764a795869d2631eb75f222f776ec5a80b61e37
2018-07-24 10:21:32 +00:00
David Eads
875f881c7c add missing OrDie variant for dynamic client construction
Kubernetes-commit: 75e28b0dd48a3a2d90d1bbb8133114134c6d0528
2018-07-23 16:29:35 -04:00
Tim Allclair
a6d1c60475 Only allow apiserver to follow redriects to the same host
Kubernetes-commit: 4ee9f007cbc88cca5fa3e8576ff951a52a248e3c
2018-07-23 13:16:25 -07:00
Kubernetes Publisher
739dd8f9d4 Merge pull request #66249 from deads2k/cli-03-restmapper
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fill in normal restmapping info with the legacy guess

@DirectXMan12 noted this here: https://github.com/kubernetes/kubernetes/issues/65718#issuecomment-401915805

The code does look wrong. This tries to fix it up

@kubernetes/sig-api-machinery-bugs

```release-note
NONE
```

Kubernetes-commit: 24fc97a82810671c76a7bc9fd57a9cd7719dcd37
2018-07-19 23:52:51 +00:00
Kubernetes Publisher
d6a5799477 Merge pull request #65771 from smarterclayton/untyped
Automatic merge from submit-queue (batch tested with PRs 65771, 65849). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add a new conversion path to replace GenericConversionFunc

reflect.Call is very expensive. We currently use a switch block as part of AddGenericConversionFunc to avoid the bulk of top level a->b conversion for our primary types which is hand-written. Instead of having these be handwritten, we should generate them.

The pattern for generating them looks like:

```
scheme.AddConversionFunc(&v1.Type{}, &internal.Type{}, func(a, b interface{}, scope conversion.Scope) error {
  return Convert_v1_Type_to_internal_Type(a.(*v1.Type), b.(*internal.Type), scope)
})
```

which matches AddDefaultObjectFunc (which proved out the approach last year). The
conversion machinery should then do a simple map lookup based on the incoming types and invoke the function.  Like defaulting, it's up to the caller to match the types to arguments, which we do by generating this code.  This bypasses reflect.Call and in the future allows Golang mid-stack inlining to optimize this code.

As part of this change I strengthened registration of custom functions to be generated instead of hand registered, and also strengthened error checking of the generator when it sees a manual conversion to error out.  Since custom functions are automatically used by the generator, we don't really have a case for not registering the functions.

Once this is fully tested out, we can remove the reflection based path and the old registration methods, and all conversion will work from point to point methods (whether generated or custom).

Much of the need for the reflection path has been removed by changes to generation (to omit fields) and changes to Go (to make assigning equivalent structs easy).

```release-note
NONE
```

Kubernetes-commit: d2cc34fb07138deeacb220126e76a0cb279f340b
2018-07-19 19:53:34 +00:00
Kubernetes Publisher
8ffec625de Merge pull request #59383 from tanshanshan/fix-little3
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Replace info log with warn log

**What this PR does / why we need it**:
Replace info log with warn log
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #59356

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 7f912af75ce4794b0cf089103a0e83f1f6a61d2f
2018-07-19 15:53:03 +00:00
Jeff Lowdermilk
b345654764 gcp client auth plugin: persist default cache on unauthorized
The default cache for a cachedTokenSource is not always empty. In the
case of commandTokenSource, it contains calling details for the
external command that is used to generate refresh tokens. Persisting
a completely empty cache will thus break ability for the plugin to
obtain refresh tokens. This changes the roundtripper to persist
the default cache instead of assuming an empty map.

Kubernetes-commit: 73e5e43711043c6a80d41b1be080b3b2d3dfbacb
2018-07-17 14:06:11 -07:00
Kubernetes Publisher
4e3d951df3 Merge pull request #66078 from deads2k/client-01-list
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix fake dynamic client listing bug

The fake dynamic client used for unit testing had a bug that prevented list from working.  Added a test and fixed the fake client.

@kubernetes/sig-api-machinery-bugs 
/assign @tnozicka 

```release-note
NONE
```

Kubernetes-commit: da1bb028304504cbe33e5dab42290e1e8ea12d14
2018-07-17 10:20:20 -07:00
Kubernetes Publisher
919235c0c3 Merge pull request #66256 from sigma/patch-2
Automatic merge from submit-queue (batch tested with PRs 66212, 66256, 66263, 66193). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go: fix error message spelling in rest config

**What this PR does / why we need it**:

Fixing spelling because it offends the eye.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```

Kubernetes-commit: bfba154715012b63a3fcc8320cc48986304f819c
2018-07-17 11:43:30 +00:00
Kubernetes Publisher
26fe45c84c Merge pull request #66254 from sigma/patch-1
Automatic merge from submit-queue (batch tested with PRs 66172, 66254). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go: update documentation for remotecommand.StreamOptions

**What this PR does / why we need it**:

The ability to explicitly define the supported protocols was removed in commit 12c7874c0d88e9099ab2a29915d26751f0d23c2a
Adjust documentation accordingly.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```

Kubernetes-commit: e09be82ad04107f81032b82a1e2452759001819f
2018-07-17 11:42:58 +00:00
Yann Hodique
334ce435af client-go: fix error message spelling in rest config
Kubernetes-commit: f0ca5c1376f28c2a6c2aebeab4b83ceb35a78817
2018-07-16 16:00:03 -07:00
Yann Hodique
58a34f32bd client-go: update documentation for remotecommand.StreamOptions
The ability to explicitly define the supported protocols was removed in commit 12c7874c0d88e9099ab2a29915d26751f0d23c2a
Adjust documentation accordingly.

Kubernetes-commit: f77060aa8da8256fa48412e7a0d9523245017dcb
2018-07-16 14:43:54 -07:00
David Eads
7aab051039 fill in normal restmapping info with the legacy guess
Kubernetes-commit: 0aa13d75021bcc80af73b3edaa3209ecd6ebe687
2018-07-16 13:38:43 -04:00
Kubernetes Publisher
5e5e185a9e Merge pull request #65737 from roycaihw/api-linter
Automatic merge from submit-queue (batch tested with PRs 64181, 65737). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

API linter framework and namesMatch API rule

**What this PR does / why we need it**:
Bump kube-openapi dependency to use the [API linter framework](https://github.com/kubernetes/kube-openapi/pull/83) in k/k OpenAPI spec generation procedure.

Currently one API rule is enforced:
"Go field names must be CamelCase. JSON field names must be camelCase. Other than capitalization of the initial letter, the two should almost always match. No underscores nor dashes in either."

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #65244

**Special notes for your reviewer**:
Most code change in this PR was generated (~1700 lines). Please see commits for detail.

**Release note**:

```release-note
NONE
```

/sig api-machinery
/cc @pwittrock @mbohlool

Kubernetes-commit: 614e3adda05c5d7189c8485ba7abe1ba7ee501a7
2018-07-14 05:25:44 +00:00
Kubernetes Publisher
a20933ff15 Merge pull request #65899 from sttts/sttts-self-signed-fixtures
Automatic merge from submit-queue (batch tested with PRs 65899, 65900). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: use self-signed cert fixtures in integration test servers

Kubernetes-commit: 932766231342f1f7d2b8d3063b139c46a8bf9f2b
2018-07-13 21:27:26 +00:00
Kubernetes Publisher
f1995823ac Merge pull request #65594 from liggitt/node-csr-addresses-2
Automatic merge from submit-queue (batch tested with PRs 65052, 65594). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Derive kubelet serving certificate CSR template from node status addresses

xref https://github.com/kubernetes/features/issues/267
fixes #55633

Builds on https://github.com/kubernetes/kubernetes/pull/65587

* Makes the cloud provider authoritative when recording node status addresses
* Makes the node status addresses authoritative for the kube-apiserver determining how to speak to a kubelet (stops paying attention to the hostname label when determining how to reach a kubelet, which was only done to support kubelets < 1.5)
* Updates kubelet certificate rotation to be driven from node status
  * Avoids needing to compute node addresses a second time, and differently, in order to request serving certificates.
  * Allows the kubelet to react to changes in its status addresses by updating its serving certificate
  * Allows the kubelet to be driven by external cloud providers recording node addresses on the node status

test procedure:
```sh
# setup
export FEATURE_GATES=RotateKubeletServerCertificate=true
export KUBELET_FLAGS="--rotate-server-certificates=true --cloud-provider=external"

# cleanup from previous runs
sudo rm -fr /var/lib/kubelet/pki/

# startup
hack/local-up-cluster.sh

# wait for a node to register, verify it didn't set addresses
kubectl get nodes
kubectl get node/127.0.0.1 -o jsonpath={.status.addresses}

# verify the kubelet server isn't available, and that it didn't populate a serving certificate
curl --cacert _output/certs/server-ca.crt -v https://localhost:10250/pods
ls -la /var/lib/kubelet/pki

# set an address on the node
curl -X PATCH http://localhost:8080/api/v1/nodes/127.0.0.1/status \
  -H "Content-Type: application/merge-patch+json" \
  --data '{"status":{"addresses":[{"type":"Hostname","address":"localhost"}]}}'

# verify a csr was submitted with the right SAN, and approve it
kubectl describe csr
kubectl certificate approve csr-...

# verify the kubelet connection uses a cert that is properly signed and valid for the specified hostname, but NOT the IP
curl --cacert _output/certs/server-ca.crt -v https://localhost:10250/pods
curl --cacert _output/certs/server-ca.crt -v https://127.0.0.1:10250/pods
ls -la /var/lib/kubelet/pki

# set an hostname and IP address on the node
curl -X PATCH http://localhost:8080/api/v1/nodes/127.0.0.1/status \
  -H "Content-Type: application/merge-patch+json" \
  --data '{"status":{"addresses":[{"type":"Hostname","address":"localhost"},{"type":"InternalIP","address":"127.0.0.1"}]}}'

# verify a csr was submitted with the right SAN, and approve it
kubectl describe csr
kubectl certificate approve csr-...

# verify the kubelet connection uses a cert that is properly signed and valid for the specified hostname AND IP
curl --cacert _output/certs/server-ca.crt -v https://localhost:10250/pods
curl --cacert _output/certs/server-ca.crt -v https://127.0.0.1:10250/pods
ls -la /var/lib/kubelet/pki
```

```release-note
* kubelets that specify `--cloud-provider` now only report addresses in Node status as determined by the cloud provider
* kubelet serving certificate rotation now reacts to changes in reported node addresses, and will request certificates for addresses set by an external cloud provider
```

Kubernetes-commit: 337dfe0a9cde3894eb6a26f9184df659d54007c6
2018-07-12 09:27:33 +00:00
David Eads
4b43750b96 fix dynamic client listing bug
Kubernetes-commit: 60afd0ba81aeccb04169716c815348ceb424730d
2018-07-11 13:05:54 -04:00
Haowei Cai
874fbcf976 generated
Kubernetes-commit: 3cd919c9fbb902e5a595f0c0c644e45f6ca8750a
2018-07-10 17:53:09 -07:00
Kubernetes Publisher
0ec73abb06 Merge pull request #64664 from atlassian/error-handling-generated-client
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Handle errors in generated client scheme

**What this PR does / why we need it**:
Adds missing error handling for schema construction code in generated clientsets.

**Which issue(s) this PR fixes**
Together with #64654 fixes #51457.

**Release note**:

```release-note
NONE
```
/kind bug
/sig api-machinery

Kubernetes-commit: 0e7376d9cb1ec74bcb3c10a664a330bc9d60df64
2018-07-09 17:26:53 +00:00
Kubernetes Publisher
a452c6c436 Merge pull request #65904 from deads2k/api-02-trackscheme
Automatic merge from submit-queue (batch tested with PRs 65946, 65904, 65913, 65906, 65920). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

track schemes by name for error reporting

Getting an error message about a type not being in the scheme is hard to fix if you don't know which scheme is failing.  This adds a name to the scheme which can be set during creation or can be set based on the calling stack.  If you use the old constructor a name is generated for you based on the stack.  Something like "k8s.io/client-go/dynamic/scheme.go:28" for instance.

Also moves a typer to its point of use.  This was debt from previous refactors which I noticed going through.

@kubernetes/sig-api-machinery-misc
@sttts

```release-note
NONE
```

Kubernetes-commit: 8e2fdb32bc84103b15310a221a375470bf567bdc
2018-07-08 01:26:09 +00:00
David Eads
03f517daaf generated
Kubernetes-commit: 79d04f670929eb5bb3d4c9078111dab46eb20bb4
2018-07-06 11:44:26 -04:00
David Eads
21fd7d2b8a name runtime.Schemes so we can see which one fails
Kubernetes-commit: 340802b079dbf8d193f162d49663679bd7d24ef7
2018-07-06 09:18:05 -04:00
David Eads
5242ede50e move CRD server unstructured typer to point of use
Kubernetes-commit: d3731fe0988352ab98c1c9e05e4077b3358d3473
2018-07-06 09:17:37 -04:00
Dr. Stefan Schimanski
ad896870c5 apiserver: use fixtures for self-signed certs in test server
Kubernetes-commit: 7deccb5b7a7c5224d3d90e1391dd22b2d1f1b9b9
2018-07-06 12:04:38 +02:00
Kubernetes Publisher
7ab20732fa Merge pull request #65811 from nikhita/client-go-discovery-godoc
Automatic merge from submit-queue (batch tested with PRs 65805, 65811, 65833, 65488, 65857). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go/discovery: fix godoc package comment

Fixes https://github.com/kubernetes/client-go/issues/436

/sig api-machinery
/kind cleanup
/shrug

/assign sttts

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 403e22d10fb45dad8487630b60742959ba8741c3
2018-07-05 21:27:05 +00:00
Kubernetes Publisher
a0aa36085f Merge pull request #65805 from CaoShuFeng/retry
Automatic merge from submit-queue (batch tested with PRs 65805, 65811, 65833, 65488, 65857). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix print format string

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 7597e952d17882dca2b464d56cf744f126a037fa
2018-07-05 21:26:39 +00:00
Christoph Blecker
442fc9f1c4 Improve TestMergoSemantics test
Kubernetes-commit: 194c471c9ccbb1cf57c66ac081828a693e7ce687
2018-07-04 13:52:44 -07:00
Christoph Blecker
44530d33a7 Move from mergo.Merge to mergo.MergeWithOverwrite
Kubernetes-commit: a1f6d24962f2b9e6002bcc721e1b48d1008d6cbf
2018-07-04 12:52:01 -07:00
Kubernetes Publisher
7e80aece91 Merge pull request #65531 from qjiang77/fix_typos
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix typos for TestBackoffHighWaterMark

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note

```

Kubernetes-commit: 692f9bb7b1fa6ca72ddd5a305607d79f9684e907
2018-07-04 17:26:09 +00:00
Nikhita Raghunath
39e71913f4 client-go/discovery: fix godoc package comment
Kubernetes-commit: 5539fefd089b75f790a3e46cbb2574135a6f80c4
2018-07-04 16:35:13 +05:30
Cao Shufeng
29c058197f fix print format string
Kubernetes-commit: 199a6eba8877e8908753f9977e18360660f7e072
2018-07-04 15:55:15 +08:00
Jake Sanders
cce189a67e Escape illegal characters in remote extra keys
Signed-off-by: Jake Sanders <jsand@google.com>

Kubernetes-commit: f35e3d07c9898f8ec156209a868fa4451eb9afe2
2018-07-03 21:19:15 -07:00
Yassine TIJANI
231e48e9f3 Implementing logic for v1beta1.Event API
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: 464a994a10b71c45583f3426fd970291f8a5b756
2018-07-03 22:25:17 +02:00
Clayton Coleman
c8e8c4a6ef generated: Avoid use of reflect.Call in conversion code paths
Kubernetes-commit: ef561ba8b58a4427a51b2b5dbb9ad633e45f04a7
2018-07-03 16:17:14 -04:00
Christoph Blecker
e88f376842 Update github.com/imdario/mergo to v0.3.5
Kubernetes-commit: 12b2e2c2b53ab987e956673bc778e040af22e304
2018-07-03 11:15:43 -07:00
Mikhail Mazurskiy
ebd0a9ebba Run update-bazel
Kubernetes-commit: 0c737adf060d61df542a3dafcc8f8f79f2daf285
2018-07-03 19:28:51 +10:00
Mikhail Mazurskiy
3cf0092cd1 Run code gen
Kubernetes-commit: b9a94a8df4a1e6b5dc2494c10718e8cbf558984d
2018-07-03 19:28:26 +10:00
Kubernetes Publisher
7c4d4e9c37 Merge pull request #65667 from hzxuzhonghu/patch-3
Automatic merge from submit-queue (batch tested with PRs 65648, 65700, 64976, 65692, 65667). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

leader election: fix dead loop bug

**What this PR does / why we need it**:

bug fix: leader election calling apiserver without time interval. It is a dead loop.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #65666

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: fc081b5941b90aa6dedbc796f97a19da373c5df9
2018-07-03 05:25:34 +00:00
Kubernetes Publisher
4b3edba2be Merge pull request #65094 from hzxuzhonghu/le-client-timeout
Automatic merge from submit-queue (batch tested with PRs 65094, 65533, 63522, 65694, 65702). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

set leader election client and renew timeout

**What this PR does / why we need it**:

set leader-election client timeout

set timeout for tryAcquireOrRenew

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #65090 #65257

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 47020f331877ca77f0541c7622c33894282e9a20
2018-07-03 05:25:08 +00:00
Kubernetes Publisher
f783e1bbe3 Merge pull request #64654 from atlassian/missing-error-handling
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add missing error handling in schema-related code

**What this PR does / why we need it**:
Adds missing error handling to a few places.

**Which issue(s) this PR fixes**
Updates #51457. Still more work to do to fix the issue - client generation code needs to be updated (addressed in https://github.com/kubernetes/kubernetes/pull/64664).

**Release note**:
```release-note
NONE
```

/kind bug
/sig api-machinery

Kubernetes-commit: 7786bd8c9a99974e2cda31940dd4a1ef0a31c2e5
2018-07-02 17:25:54 +00:00
xuzhonghu
1ca2f836dc bug fix: dead loop leaderelection
Kubernetes-commit: 7a2c5794097dba18a3bf9e170e8c0b2ff4a916d7
2018-07-02 15:49:39 +08:00
Kubernetes Publisher
82b3a57536 Merge pull request #65645 from sttts/sttts-gengo-import-aliases
Automatic merge from submit-queue (batch tested with PRs 65582, 65480, 65310, 65644, 65645). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump gengo to remove _ from generated import aliases

Pickup https://github.com/kubernetes/gengo/pull/113 and https://github.com/kubernetes/gengo/pull/111.

Avoid tons of golint exceptions for https://github.com/kubernetes/kubernetes/pull/64664.

Kubernetes-commit: a9be647e65c02c26528cec3cf912d06d12d374c2
2018-06-30 05:24:51 +00:00
Kubernetes Publisher
c2109436a0 Merge pull request #65390 from cfork/test
Automatic merge from submit-queue (batch tested with PRs 65518, 65624, 65380, 65390, 65586). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

cleanup: remove deadcode

/kind cleanup

remove deadcode
remove unnecessary conversion

```release-note
NONE
```

Kubernetes-commit: 16dbb95c51532e8a937a3ccb90223e8568b130c3
2018-06-30 05:24:09 +00:00
Dr. Stefan Schimanski
9a187ab54b Update generated files
Kubernetes-commit: f8de7cea406a8d01799c4b4d40b892f3b38fa534
2018-06-29 20:02:31 +02:00
k8s-ci-robot
eab6917126 Merge pull request #429 from nikhita/release-8
Add client-go 8.0.0 changelog
2018-06-29 02:30:22 -07:00
Jordan Liggitt
9936c2e1aa Derive kubelet serving certificate CSR template from node status addresses
Kubernetes-commit: db9d3c2d1057f97a4763987baee00b82718feaa0
2018-06-28 14:44:25 -04:00
Mike Dame
4b6317c5d4 Generate files and modifications for autoscaling/v2beta2 and custom_metrics/v1beta2
Kubernetes-commit: 77d7f9cfa2b489b75b47fa1e1de5660139f83034
2018-06-28 14:35:50 -04:00
Qi Jiang
35bd65deaa fix typos for TestBackoffHighWaterMark
Kubernetes-commit: 1ffe8a377dbbd1cf21693577878ff14cec98988b
2018-06-28 11:22:13 +08:00
Kubernetes Publisher
03bfb9bdcf Merge pull request #64246 from wojtek-t/lease_object_type
Automatic merge from submit-queue (batch tested with PRs 64246, 65489, 65443). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Create "Lease" API in the new "coordination.k8s.io" api group

Part of "Efficient Node heartbeats" KEP:
https://github.com/kubernetes/community/blob/master/keps/0009-node-heartbeat.md

Part of: https://github.com/kubernetes/kubernetes/issues/14733

```release-note
NONE
```

Kubernetes-commit: 6d3bba7391fd24024b53c1ea67f7aad299cb46a8
2018-06-27 18:00:38 +00:00
Kubernetes Publisher
57012a8ca3 Merge pull request #65411 from nikhita/fix-publishing-bot-fakeclient
Automatic merge from submit-queue (batch tested with PRs 63773, 65411). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go/examples/fake-client: add doc.go to fix go build warnings

The publishing bot is currently broken (https://github.com/kubernetes/kubernetes/issues/56876#issuecomment-399763681). This is due to the following error:

```
[24 Jun 18 15:08 UTC]: Running smoke tests for branch master
[24 Jun 18 15:08 UTC]: /bin/bash -xec "godep restore\ngo build ./...\ngo test $(go list ./... | grep -v /vendor/)\n"
	+ godep restore
	+ go build ./...
	go build k8s.io/client-go/examples/fake-client: no non-test Go files in /go-workspace/src/k8s.io/client-go/examples/fake-client
[24 Jun 18 15:09 UTC]: exit status 1
    	+ godep restore
    	+ go build ./...
    	go build k8s.io/client-go/examples/fake-client: no non-test Go files in /go-workspace/src/k8s.io/client-go/examples/fake-client

[24 Jun 18 15:09 UTC]: exit status 1```
```

The fakeclient package does not have any non-test go files. The test file was added in https://github.com/kubernetes/kubernetes/pull/65291 2 days ago.

This causes `go build` to give a warning: `no non-test Go files in /go-workspace/src/k8s.io/client-go/examples/fake-client`, which breaks the publishing bot. This PR adds a dummy doc.go file in the package to avoid this warning and fix the publishing bot.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 7a9a30a4f7eae900bffd4b477a431a999de350dd
2018-06-24 19:09:11 +00:00
Kubernetes Publisher
615dfd3eb0 Merge pull request #64122 from ixdy/update-rules_go-and-gazelle
Automatic merge from submit-queue (batch tested with PRs 64122, 64936, 65288, 65383). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update to rules_go 0.12.1 and gazelle 0.12.0 and perform related cleanups

**What this PR does / why we need it**: my initial intent was to simply update to rules_go 0.12.1 and gazelle 0.12.0.

A few internal changes / deprecations meant that I finally needed to clean up some technical debt. This also fixes #64122.
I've attempted to keep the steps as separate commits to make it easier to review:

1. Disable gazelle proto rule generation; legacy proto rules are deprecated, and we don't (currently) build protos at build time anyway, instead generating them with `hack/update-generated-protobuf.sh` and then checking them in. We can revisit this in the future if we'd like.
2. Remove the legacy `go_default_library_protos` filegroups using [buildozer](https://github.com/bazelbuild/buildtools/tree/master/buildozer). We don't use these, anyway.
3. Update the rules_go bazel workspace dependency to 0.12.1.
4. Vendor gazelle 0.12.0 and update BUILD files with `hack/update-bazel.sh`. This causes a lot of diffs, because `select()`s are no longer used in `srcs` attributes, external tests are folded into non-external tests, and vendored targets get an `importmap` attribute.
5. Set `gazelle:prefix` on `staging/src/BUILD` to make gazelle treat these correctly(ish). This allows us to remove the sed rewrite hack in `hack/update-bazel.sh`.
6. Explicitly set `# gazelle:importmap_prefix k8s.io/kubernetes/vendor` on `vendor/`, so that all vendored dependencies get the right importmap. gazelle 0.12.0 uses the bazel workspace name + `vendor/` as a prefix, which doesn't work with native go. Newer gazelle will use the go prefix (https://github.com/bazelbuild/bazel-gazelle/pull/207), but it's not released yet. Setting this correctly now also fixes later `BUILD` churn.
7. Re-run `hack/update-bazel.sh`. This causes a bunch of diffs, since anything under `staging/src` now uses the `staging/src/` path instead of `vendor/`. (Both would work for bazel, but gazelle uses the former, since `vendor/` uses symlinks.) Also `importmap`s under `vendor/` are fixed.
8. Reformat a few files (using [buildifier](https://github.com/bazelbuild/buildtools/tree/master/buildifier)) to make later diffs easier to read.
9. Rework the `go_genrule` rules to use the new `go_genrule` from https://github.com/kubernetes/repo-infra/pull/72, which is more bazely, since it uses the rules_go `go_path` rule instead of lots of shell.
10. Remove the deprecated `go_prefix` rule from the root BUILD.bazel file.
11. Set `# gazelle:importmap_prefix k8s.io/kubernetes/vendor` on `staging/src` as well, which ensures that these repos are treated as vendored dependencies. (It's basically the bazel-y way of doing the `vendor/k8s.io` symlinks.)
12. Run `hack/update-bazel.sh` one last time to fix all of the `importmap`s under `staging/src`.

Note re: point 6 above - we're pretty much ignoring the `vendor/k8s.io` symlinks entirely now under bazel. Using the `gazelle:prefix` directive ensures these get mapped into the right go importpath, and the `go_path` rule installs these correctly now too.

**Special notes for your reviewer**: this should not be submitted before https://github.com/kubernetes/repo-infra/pull/72, obviously.

**Release note**:

```release-note
NONE
```

/assign @BenTheElder @fejta @thockin
cc @cblecker @jayconrod

Kubernetes-commit: 1ad1c8c7f80d99b9625924b2102a04a555162bfb
2018-06-24 19:08:44 +00:00
Kubernetes Publisher
8d892d34b2 Merge pull request #65291 from misterikkit/fake-client
Automatic merge from submit-queue (batch tested with PRs 65301, 65291, 65307, 63845, 65313). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add client-go example using fake client in test.

**What this PR does / why we need it**:

This adds an example showing the steps needed to get a working
SharedInformerFactory with a fake client for testing.

**Special notes for your reviewer**:
I had a really hard time figuring out how to use this utility correctly. I don't think this example is sufficient documentation, but it's a good start.

**Release note**:

```release-note
NONE
```
/sig api-machinery
/kind documentation

Kubernetes-commit: 8008c7dad945f7ac0748774a99148c864932288e
2018-06-24 19:08:43 +00:00
Nikhita Raghunath
933d577128 client-go/examples/fake-client: add doc.go to fix go build warnings
The fakeclient package does not have any non-test go files. This
causes `go build` to give a warning: `no non-test Go files in ...`.
This also causes the publishing bot to fail.

This PR adds a dummy doc.go file in the package to avoid this warning.

Kubernetes-commit: 764ae69671428987d77898b2d3c48c6c003e2fd4
2018-06-24 21:04:07 +05:30
Cong Ding
d589639e75 cleanup: remove deadcode
Kubernetes-commit: 3bacb04a5f9805bb83e016e341a49d0f13a43598
2018-06-22 16:39:13 -07:00
Kubernetes Publisher
2a94c229c0 Merge pull request #65050 from sttts/sttts-deepcopy-update
Automatic merge from submit-queue (batch tested with PRs 64895, 64938, 63700, 65050, 64957). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump gengo to include uniform pointer deepcopy

This bumps k8s.io/gengo with uniform pointer support in deepcopy-gen.

Fixes https://github.com/kubernetes/code-generator/issues/45.

Kubernetes-commit: d1f5cb2348dfaeabe26ff5539b05568ab6f8a830
2018-06-21 15:09:48 +00:00
Kubernetes Publisher
715f1319cb Merge pull request #63700 from zjj2wry/leaderelection
Automatic merge from submit-queue (batch tested with PRs 64895, 64938, 63700, 65050, 64957). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

enhance leaderelection code

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 8850871891f345628f01dbef4ede727d74dd2113
2018-06-21 15:09:21 +00:00
Kubernetes Publisher
037e6c200e Merge pull request #57932 from atlassian/cancellable-leader-election
Automatic merge from submit-queue (batch tested with PRs 65256, 64236, 64919, 64879, 57932). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Cancellable leader election

**What this PR does / why we need it**:
Adds ability to cancel leader election. Useful in integration tests where the whole app is started and stopped in each test.

**Special notes for your reviewer**:
I used the `context` package - it is impossible/hard to achieve the same behaviour with just channels without spawning additional goroutines but it is trivial with `context`. See `acquire()` and `renew()` methods.

**Release note**:

```release-note
NONE
```
/kind enhancement
/sig api-machinery

Kubernetes-commit: 571b9beac5bdaa65fb581bead7464926fa81cdbf
2018-06-21 03:09:34 +00:00
Kubernetes Publisher
c4be56f535 Merge pull request #65256 from liggitt/crd-schema-openapi
Automatic merge from submit-queue (batch tested with PRs 65256, 64236, 64919, 64879, 57932). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix CRD OpenAPI schema

fixes #65243
depends on https://github.com/kubernetes/kube-openapi/pull/84

without this PR, kubectl complains about creating this CRD with a validation schema (which worked in 1.10):
```yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: resources.mygroup.example.com
spec:
  group: mygroup.example.com
  version: v1alpha1
  scope: Namespaced
  names:
    plural: resources
    singular: resource
    kind: Kind
    listKind: KindList
  validation:
    openAPIV3Schema:
      properties:
        spec:
          type: array
          items:
            type: number
```

> error: error validating "/Users/jliggitt/projects/snippets/crd/crd.yaml": error validating data: [ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): unknown field "type" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray, ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): missing required field "Schema" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray, ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): missing required field "JSONSchemas" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray]; if you choose to ignore these errors, turn validation off with --validate=false

that is because the types used to serialize JSONSchema require custom marshaling/unmarshaling, and the OpenAPI generator was not informed of that, so it produced this:
```json
{
    "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray": {
    "description": "JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes.",
    "required": [
     "Schema",
     "JSONSchemas"
    ],
    "properties": {
     "JSONSchemas": {
      "type": "array",
      "items": {
       "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"
      }
     },
     "Schema": {
      "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"
     }
    }
   }
}
```

OpenAPI isn't able to represent oneOf/anyOf types correctly currently. Until it can, we definitely shouldn't publish a schema containing required fields which aren't even part of the JSON serialization. This PR implements custom openapi type functions, which omit the properties/required/schema attributes for four specific JSONSchema types. This allows kubectl to continue creating these objects without complaining.

/sig api-machinery
/assign @sttts

```release-note
fixed incorrect OpenAPI schema for CustomResourceDefinition objects
```

Kubernetes-commit: ed6c8b7326bd1a1b845719f4bfb302073a18f03f
2018-06-21 03:09:08 +00:00
Jonathan Basseri
c72a3893b1 Add client-go example using fake client in test.
This adds an example showing the steps needed to get a working
SharedInformerFactory with a fake client for testing.

Kubernetes-commit: aed487b42d1b49df9ac01f7234896f6d1b4da166
2018-06-20 18:35:57 -07:00
Kubernetes Publisher
2e8676d253 Merge pull request #63625 from liggitt/discovery-cleanup-2
Automatic merge from submit-queue (batch tested with PRs 64416, 63625, 60967, 64767, 64588). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Collapse memcached discovery client onto parallelized discovery method

```release-note
NONE
```

Kubernetes-commit: f637a259ea2852a15a4321fd059972c55aaefc9b
2018-06-20 15:08:55 +00:00
Kubernetes Publisher
70f02b11c6 Merge pull request #64506 from wgliang/master.simple-string
Automatic merge from submit-queue (batch tested with PRs 64688, 64451, 64504, 64506, 56358). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

replace fmt.Sprintf(%s, i.Type()) with i.Type().String()

**What this PR does / why we need it**:
/kind cleanup

replace fmt.Sprintf(%s, i.Type()) with i.Type().String()

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: b309d18a48d8054904fe88fdc49cae33a276f722
2018-06-20 15:08:24 +00:00
Kubernetes Publisher
157b02554c Merge pull request #64548 from hzxuzhonghu/patch-1
Automatic merge from submit-queue (batch tested with PRs 64142, 64426, 62910, 63942, 64548). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove inaccurate comment about watch timeout

when watch timeout, the tcp connection does not close, it is reused for another new watch.
But this makes users misunderstanding.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: d0a2bfd22e8c129e0a156a4304a62e3563dc6a59
2018-06-20 11:08:26 +00:00
xuzhonghu
57f617c0b1 leaderelection: set timeout for tryAcquireOrRenew
Kubernetes-commit: 90b287c12d921e4e08e522dbe214f5587f147956
2018-06-20 15:44:31 +08:00
Jordan Liggitt
e3d7c757a4 bump(k8s.io/kube-openapi): 91cfa479c814065e420cee7ed227db0f63a5854e
Kubernetes-commit: 102bc901202a0533c7bded8ad55841677ff92835
2018-06-19 23:23:00 -04:00
Nikhita Raghunath
1406b3f8f9 Update README to reflect 8.0.0 release
dfasf
2018-06-19 23:33:39 +05:30
Nikhita Raghunath
b24ca9f3f1 Add client-go 8.0.0 changelog 2018-06-19 23:30:55 +05:30
Kubernetes Publisher
8d6e3480fc Merge pull request #65034 from caesarxuchao/json-case-sensitive
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make kubernetes json serializer case sensitive

This PR imported the latest jsoniterator library so that case sensitivity during unmarhsaling is optional. The PR also set Kubernetes json serializer to be case sensitive.

Kubernetes json serializer had been case sensitive for 1.1-1.7 as we were using ugorji. This PR restores the behavior.

Fix #64612.

```release-notes
Kubernetes json deserializer is now case-sensitive as it was before 1.8.
If your config files contains fields with wrong case, the config files will be now invalid.
```

Kubernetes-commit: a2de1398f829ef38d645579160bdd6bfec8384d3
2018-06-14 23:07:59 +00:00
Kubernetes Publisher
bb0a4fa2f7 Merge pull request #65063 from awly/fix-csr-private-key-reuse
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Re-use private key after failed CSR

**What this PR does / why we need it**:
This fixes a regression introduced in 1.11.

If we create a new key on each CSR, if CSR fails the next attempt will
create a new one instead of reusing previous CSR.

If approver/signer don't handle CSRs as quickly as new nodes come up,
they can pile up and approver would keep handling old abandoned CSRs and
Nodes would keep timing out on startup.

**Release note**:
```release-note
NONE
```

Kubernetes-commit: c855accaecb5775b515dad54799c37db6df51694
2018-06-13 18:33:03 -07:00
Andrew Lytvynov
321986595f Re-use private key after failed CSR
If we create a new key on each CSR, if CSR fails the next attempt will
create a new one instead of reusing previous CSR.

If approver/signer don't handle CSRs as quickly as new nodes come up,
they can pile up and approver would keep handling old abandoned CSRs and
Nodes would keep timing out on startup.

Kubernetes-commit: 2c0f043957d25da162fe4e1026c50e2587529ff9
2018-06-13 11:27:25 -07:00
Dr. Stefan Schimanski
9f7f556240 Update generated files
Kubernetes-commit: 1208437f84304ef4f73a6bf1770786bb436b75c9
2018-06-13 09:53:47 +02:00
Chao Xu
3cf09b8baa vendor the latest json-iterator
Kubernetes-commit: dd69be30a5f296102be6b9706e6ad0c5db8e2c0f
2018-06-10 16:48:43 -07:00
Kubernetes Publisher
2f61378d31 Merge pull request #64890 from liggitt/revert-vpa
Automatic merge from submit-queue (batch tested with PRs 64836, 64890). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Revert: Add Vertical Pod Autoscaler to autoscaling/v2beta1

Reverts https://github.com/kubernetes/kubernetes/pull/63797 per [discussion](https://kubernetes.slack.com/archives/C09R1LV8S/p1528400528000615) with @jberkus and @mwielgus

The scope of the follow-ups required in https://github.com/kubernetes/kubernetes/pull/64286 was not well understood when the API PR was merged, and we are now past code freeze for 1.11

This can be reopened against 1.12

```release-note
NONE
```

Kubernetes-commit: 169df7434155cbbc22f1532cba8e0a9588e29ad8
2018-06-08 02:19:06 +00:00
Jeff Grafton
b7f6311418 Run hack/update-bazel.sh
Kubernetes-commit: b42e9125c45dc26a2a713cb47f16363f171eb9d7
2018-06-07 18:56:17 -07:00
Jeff Grafton
3b3d4e13da Run hack/update-bazel.sh
Kubernetes-commit: 23ceebac2213ce0bafd174023adc12fd19bf18ba
2018-06-21 14:51:55 -07:00
Jordan Liggitt
b3579891ef Revert "Auto-generated code for the Vertical Pod Autoscaler API."
This reverts commit da65f30e2aca4ca8177fcf27e95909e2883b6e20.

Kubernetes-commit: 846cbe4e6b63b198bd9926e59900f750168e6c69
2018-06-07 14:12:22 -04:00
Kubernetes Publisher
6fd8d2ef33 Merge pull request #63797 from kgrygiel/master
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add Vertical Pod Autoscaler to autoscaling/v2beta1

**What this PR does / why we need it**:
Adds Vertical Pod Autoscaler (https://github.com/kubernetes/community/blob/master/contributors/design-proposals/autoscaling/vertical-pod-autoscaler.md) to the autoscaling API (which currently has the Horizontal Pod Autoscaler).
This is needed for the Vertical Pod Autoscaler beta.

**Special notes for your reviewer**:

/cc @thockin @mwielgus @DirectXMan12

FYI. changes that add pkg/registry/autoscaling/verticalpodautoscaler/... will follow.

**Release note**:
```Add Vertical Pod Autoscaler to autoscaling/v2beta1.```

Kubernetes-commit: 63c90bb47ec99247cbf29542edfc443ffda7298b
2018-06-07 06:19:14 +00:00
Mikhail Mazurskiy
f674595347 Use context.TODO() to be explicit that cancellation is not implemented
Kubernetes-commit: 102090d1f12f9b00571d440470ba040e0632fbe0
2018-06-07 14:33:03 +10:00
Kubernetes Publisher
ddee717118 Merge pull request #64719 from davidz627/feature/CSIv0.3
Automatic merge from submit-queue (batch tested with PRs 64276, 64094, 64719, 64766, 64750). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Upgrade container-storage-interface/spec dependency to v0.3.0

Also updated golang/protobuf to v1.1.0 to satisfy hard requirement of new CSI Spec version

/sig storage
/kind enhancement
/assign @saad-ali

```release-note
Updated Container Storage Interface specification version to v0.3.0
```

Kubernetes-commit: d12d8bd64bd25ce3a6bbda0dd43533cde359290b
2018-06-05 22:18:45 +00:00
Kubernetes Publisher
04971aee25 Merge pull request #64482 from ericchiang/exec-plugin-beta
Automatic merge from submit-queue (batch tested with PRs 63453, 64592, 64482, 64618, 64661). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go: promote exec plugin support to beta

/sig auth
/kind feature

Adds a "v1beta1" API group for client authentication. Because of a lack of usage with the input parameters, these have been dropped for the beta. Would like to re-introduce them as users feel they require them.

updates https://github.com/kubernetes/kubernetes/issues/61796

```release-note
client-go: credential exec plugins have been promoted to beta
```

Kubernetes-commit: 819d51567f82c27ba3b7cde5b4cb3bb59c0550b6
2018-06-05 02:20:28 +00:00
David Zhu
984235702a staging godep update
Kubernetes-commit: cc3fb7e86112d9f436f2dce3a04fc729a2e13d15
2018-06-04 15:49:56 -07:00
Mikhail Mazurskiy
b045806917 Add missing error handling in schema-related code
Kubernetes-commit: bfe313d5f351dfae086a85a97e7103183173e5b5
2018-06-03 14:59:58 +10:00
Kubernetes Publisher
3c4446fb4d Merge pull request #64596 from apelisse/openapi-some-cleanup
Automatic merge from submit-queue (batch tested with PRs 64613, 64596, 64573, 64154, 64639). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Openapi some cleanup

Clean-up some OpenAPI code, mostly test related (there are two implementations of "Fake").
This is going for master, but I'll probably also cherry-pick/create a similar PR for feature-serverside-apply branch since we'll need that to move some code around.

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: c3bb41ad4b147f6159dd7542ffd2772d7042e2d8
2018-06-02 14:19:05 +00:00
Kubernetes Publisher
787033cb72 Merge pull request #64408 from luxas/kubeadm_refactor_bt
Automatic merge from submit-queue (batch tested with PRs 64057, 63223, 64346, 64562, 64408). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: Refactor the Bootstrap Tokens usage in the API types

**What this PR does / why we need it**:
This PR:
 - Moves some common, generic Bootstrap Token helpers and constants from `k8s.io/kubernetes/cmd/kubeadm/app/util/token` to `k8s.io/client-go/tools/bootstrap/token/`
 - Breaks out the top-level Bootstrap Token fields to a dedicated `BootstrapToken` struct with helper functions.
 - Instead of representing the Bootstrap Token as a plain `string`, there is now a wrapper struct `BootstrapTokenString` that can marshal/unmarshal correctly and supports validation on create, and splitting up the full token in the ID/Secret parts automatically.
 - Makes kubeadm support multiple Bootstrap Tokens automatically by supporting a slice of `BootstrapToken` in the `MasterConfiguration` API object
 - Consolidates the place for kubeadm to create token-related flags in an `options` package
 - Supports automatic conversion from the `v1alpha1` to `v1alpha2` API
 - Adds support to set token expiration directly instead of setting a TTL (Expiration and TTL are mutually exclusive)
 - Removes the old `TokenDiscovery` struct we're not using anymore inside of kubeadm

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Related to https://github.com/kubernetes/community/pull/2131

**Special notes for your reviewer**:
This is work in progress. Please only review the first two commits for now.
I will work on splitting up this PR in smaller chunks.
I will also write unit tests tomorrow.

**Release note**:

```release-note
[action required] kubeadm: The Token-related fields in the `MasterConfiguration` object have now been refactored. Instead of the top-level `.Token`, `.TokenTTL`, `.TokenUsages`, `.TokenGroups` fields, there is now a `BootstrapTokens` slice of `BootstrapToken` objects that support the same features under the `.Token`, `.TTL`, `.Usages`, `.Groups` fields.
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @mattmoyer @liztio

Kubernetes-commit: c7b71ebca95d9afb5c4adbadf6cde09a0988d5a7
2018-06-02 10:18:00 +00:00
Kubernetes Publisher
91354d62fb Merge pull request #64346 from dims/deprecate-in-tree-keystone-plugin
Automatic merge from submit-queue (batch tested with PRs 64057, 63223, 64346, 64562, 64408). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Deprecate the in-tree keystone plugin

**What this PR does / why we need it**:

We now have the `client-keystone-auth` in cloud-provider-openstack
repository:
https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/using-client-keystone-auth.md

So let's drop the in-tree one, so we can remove it in 1.12

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
in-tree support for openstack credentials is now deprecated. please use the "client-keystone-auth" from the cloud-provider-openstack repository. details on how to use this new capability is documented here - https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/using-client-keystone-auth.md
```

Kubernetes-commit: 10d0c5c19e8e0a0a8e3e4a1a9bfe6baf9cde1bc4
2018-06-02 10:17:15 +00:00
Kubernetes Publisher
08e4505e02 Merge pull request #64262 from jessfraz/SECURITY_CONTACTS
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add PST to main SECURITY_CONTACTS as formality

Add the Product Security Team as the security contacts for the main
repository and they can use the OWNERS files in each subsystem/dir to find
the correct owners.

cc @liggitt @cjcullen @tallclair @philips

```release-note
NONE
```

closes #64265

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>

Kubernetes-commit: 5da925ad4fd070e687dc5255c177d5e7d542edd7
2018-06-01 22:18:22 +00:00
Kubernetes Publisher
ec14e9de0e Merge pull request #61803 from awly/client-auth-exec-tls
Automatic merge from submit-queue (batch tested with PRs 61803, 64305, 64170, 64361, 64339). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add TLS support to exec authenticator plugin

**What this PR does / why we need it**:
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/auth/kubectl-exec-plugins.md#tls-client-certificate-support

Allows exec plugin to return raw TLS key/cert data. This data populates
transport.Config.TLS field.
This requires a change to AuthProvider interface to expose TLS configs,
not only RoundTripper.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #61421

**Special notes for your reviewer**:

**Release note**:

```release-note
Exec authenticator plugin supports TLS client certificates.
```

Kubernetes-commit: f701b7529937493a64f2f2553aa9a5cd7020d9b7
2018-06-01 18:21:35 +00:00
Kubernetes Publisher
33a8186d0a Merge pull request #62306 from freehan/pod-status-patch2
Automatic merge from submit-queue (batch tested with PRs 58920, 58327, 60577, 49388, 62306). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use Patch instead of Put to sync pod status

ref: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md
```release-note
Use Patch instead of Put to sync pod status
```

Kubernetes-commit: ea92879fab9eb9cd7a2529101fb088c2f07bd547
2018-06-01 18:20:27 +00:00
Kubernetes Publisher
6acf51d140 Merge pull request #60577 from timchenxiaoyu/fixpersist
Automatic merge from submit-queue (batch tested with PRs 58920, 58327, 60577, 49388, 62306). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix persist typo

I wonder this pr should pull to kubernetes/kubernetes  or  kubernetes/client-go ?

```
NONE
```

Kubernetes-commit: 5cf652d899d464a63a99aceaab9cf9276294b602
2018-06-01 18:20:26 +00:00
Kubernetes Publisher
93fbd18835 Merge pull request #64213 from dashpole/eviction_event_annotation
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add metadata to kubelet eviction event annotations

**What this PR does / why we need it**:
Add annotations to kubelet eviction events.  Annotations include
"offending_containers" : comma-seperated list of containers.
"offending_containers_usage": comma-seperated list of usage.
"starved_resource": v1.ResourceName of the starved resource

**Special notes for your reviewer**:
Adding annotations to events required changing the `EventRecorder` interface to add a `AnnotatedEventf` function, which can add annotations to an event.

**Release note**:
```release-note
NONE
```
/assign @dchen1107
cc @mwielgus @schylek @kgrygiel

Kubernetes-commit: 15cd3552819367aef63114dcf7fa87b216d5dc62
2018-06-01 18:20:26 +00:00
Kubernetes Publisher
e1509da70e Merge pull request #64314 from sttts/sttts-start-fresh-client-go-owners
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go: start fresh with owner file

After client-go's OWNER file has grown to 50ish many reviewers, It's time to start fresh and re-add those who really want to review. Please don't be shy to come forward if you want to stay on that list. I will re-add you.

Kubernetes-commit: 10b9fd3a01f37b9a6f1ce636edcbd9c7332414cd
2018-06-01 18:20:25 +00:00
Kubernetes Publisher
552869353b Merge pull request #64421 from sttts/sttts-client-go-dot-github
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go: document README exception in .github/PULL_REQUEST_TEMPLATE.md

Follow-up of https://github.com/kubernetes/client-go/pull/423.

Kubernetes-commit: 0c837a36ac2c7ae5414f379618ca3b4522ccee38
2018-06-01 18:20:24 +00:00
Kubernetes Publisher
2f54fb8dfb Merge pull request #63893 from jennybuckley/expose-openapi-to-registry3
Automatic merge from submit-queue (batch tested with PRs 64175, 63893). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Expose openapi schema to handlers

**What this PR does / why we need it**:
Build an openapi spec for each api resource handler. This spec will be able to be consumed by server-side apply and server-side openapi validation.
The reason for putting it into master is so we can work on implementing server side validation against the openapi spec as well as server side apply, and it will make merging the server side apply feature branch a smaller, less risky PR

/sig api-machinery
/kind feature
cc @liggitt @lavalamp @seans3 @mbohlool @apelisse

**Release note**:
```release-note
NONE
```

Kubernetes-commit: 28f171bd66937dec8b24a05c4b7a1414432f9fe8
2018-06-01 18:20:24 +00:00
Kubernetes Publisher
b270d8c8ce Merge pull request #64218 from deads2k/client-11-leaderconfig
Automatic merge from submit-queue (batch tested with PRs 64060, 63904, 64218, 64208, 64247). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

prevent zero for leader election timeouts

Add conditional checks for a stupid error that took me 20 minutes to find.

I don't see a reason to allow zero for any of the leader election tuning params

```release-note
NONE
```

Kubernetes-commit: 151fe855461b2e85f360435d6fc424e6f6542a97
2018-06-01 18:19:24 +00:00
Eric Chiang
f2a9823316 client-go: make exec auth and auth provider mutually exclusive
Kubernetes-commit: d96fd39651a4182ceb016c879a17c6a237c87f53
2018-06-01 10:34:45 -07:00
Eric Chiang
45b15acf0b generated:
./hack/update-bazel.sh
	./hack/update-codegen.sh
	./hack/update-staging-godeps.sh

Kubernetes-commit: 206982723909944a2e68c3ffa9382f6b332e767a
2018-05-31 14:30:33 -07:00
Eric Chiang
c61cf26da4 client-go: promote exec plugin support to beta
Kubernetes-commit: 0a9164e73aedd898a535a64fcc992d3e50002d61
2018-05-31 14:28:27 -07:00
Eric Chiang
f58a8f4fd0 clientauthentication: add v1beta1 API version
Kubernetes-commit: 8952b8f7c99b75a9dc1aa47eb50770d218b2a8bf
2018-05-31 14:27:45 -07:00
Antoine Pelisse
d7b585cf00 Replace openapi Fake with kube-openapi version
There are two version of this fake class, let's just use that one
version.

Kubernetes-commit: 000510d9b73d5be870ebc763ea3606997107172c
2018-05-31 14:00:34 -07:00
Lucas Käldström
4d6c30f52a Move helper funcs and constants to the client-go Bootstrap Token package from kubeadm
Kubernetes-commit: 33f59e438e93b824492caff5d39fd143b43eac9a
2018-05-31 22:18:27 +03:00
Zhonghu Xu
b9ecec59bd remove inaccurate comment about watch timeout
Kubernetes-commit: 9561269d9308278018da0284638baed1d1c33144
2018-05-31 16:20:04 +08:00
Andrew Lytvynov
c669580288 Add TLS support to exec authenticator plugin
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/auth/kubectl-exec-plugins.md#tls-client-certificate-support

Allows exec plugin to return raw TLS key/cert data. This data populates
transport.Config.TLS fields.
transport.Config.TLS propagates custom credentials using
tls.Config.GetClientCertificate callback.
On key/cert rotation, all connections using old credentials are
closed

Kubernetes-commit: cd89f9473faa60c15b8e9d223e5c4f9dab53627a
2018-05-30 14:03:32 -07:00
kgrygiel
c88b472871 Auto-generated code for the Vertical Pod Autoscaler API.
Kubernetes-commit: da65f30e2aca4ca8177fcf27e95909e2883b6e20
2018-05-30 16:54:03 +02:00
Guoliang Wang
5037893508 replace fmt.Sprintf(%s, i.Type()) with i.Type().String()
Kubernetes-commit: 17ad3eaa26b4ecf2759eadb01ab91af6ae292a3c
2018-05-30 18:18:58 +08:00
k8s-ci-robot
9a5fde770f Merge pull request #423 from sttts/sttts-revert-dot-github-change
Revert non-staging change to .github/PULL_REQUEST_TEMPLATE.md
2018-05-29 01:52:32 -07:00
Dr. Stefan Schimanski
f4c1c0ae19 client-go: document README exception in .github/PULL_REQUEST_TEMPLATE.md
Kubernetes-commit: f6d4244c30060bcf6ebe4ad80ecec47e836aca30
2018-05-29 09:16:25 +02:00
Dr. Stefan Schimanski
52e5f114ac Revert non-staging change to .github/PULL_REQUEST_TEMPLATE.md 2018-05-29 09:10:52 +02:00
k8s-ci-robot
d7f4abc82c Merge pull request #421 from mistyhacks/update-PR-guidelines
Document that changes to the README.md are done in this repo
2018-05-29 00:07:31 -07:00
Davanum Srinivas
edd1069068 Deprecate the in-tree keystone plugin
We now have the `client-keystone-auth` in cloud-provider-openstack
repository:
https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/using-client-keystone-auth.md

So let's drop the in-tree one, so we can remove it in 1.12

Kubernetes-commit: ffe817fcababca46d4989ff3982807468645d2ea
2018-05-25 15:55:49 -07:00
Misty Stanley-Jones
12a6e5ed0a Document that changes to the README.md are done in this repo
Signed-off-by: Misty Stanley-Jones <mistyhacks@google.com>
2018-05-25 10:32:46 -07:00
Dr. Stefan Schimanski
dd9316d8bf client-go: start fresh with owner file
Kubernetes-commit: 11f65b2a30be2bfc014c563dc7a8e98ec3ccc1ff
2018-05-25 15:49:44 +02:00
k8s-ci-robot
9126b42c46 Merge pull request #420 from mistyhacks/419_rewording
Rewording for clarity
2018-05-25 05:35:33 -07:00
Misty Stanley-Jones
ae6749452b Rewording for clarity
Signed-off-by: Misty Stanley-Jones <mistyhacks@google.com>
2018-05-24 12:51:22 -07:00
jennybuckley
8ad25042a9 Run hack/update-all.sh
Kubernetes-commit: 349fbdfe9fbcad91fcecbfe4e71fa91d235dad6d
2018-05-24 09:55:33 -07:00
Jess Frazelle
1ea562b7b9 add PST to main SECURITY_CONTACTS as formality
Add the Product Security Team as the security contacts for the main
repository and they can use the OWNERS files in each subsystem/dir to find
the correct owners.

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>

Kubernetes-commit: ac015892e4e2ab641a7761ab79f8cf986e1fa266
2018-05-24 09:33:43 -04:00
wojtekt
aee33a8197 Autogenerated stuff
Kubernetes-commit: 0950084137a5abf5cd731bbda46ccb441499801d
2018-05-24 13:02:08 +02:00
David Ashpole
55b7c99dca add metadata to kubelet eviction event annotations
Kubernetes-commit: fd1f19fc423880b2b292d6f9e6fca1e941e87994
2018-05-23 16:12:54 -07:00
David Eads
1088d9ef09 prevent zero for leader election timeouts
Kubernetes-commit: 7288e8828f5bf659d41e71760f9d9923e405e2e4
2018-05-23 15:00:37 -04:00
Kubernetes Publisher
e1b1ad3518 Merge pull request #60464 from roycaihw/loadconfig
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Client-go raises error on duplicated name in kubeconfig

(for NamedCluster, NamedContext, NamedUser, NamedExtension)

**What this PR does / why we need it**:
Client should detect duplicated name when loading `name-value` based lists in kubeconfig: `users`, `clusters`, `contexts`. Currently if there are multiple value with same name, `client-python` will pick the first one, while `client-go` will pick the last.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes-client/python#445, kubernetes-client/python-base#47

**Special notes for your reviewer**:

**Release note**:

```release-note
kubectl and client-go now detects duplicated name for user, cluster and context when loading kubeconfig and reports error
```

/sig api-machinery

cc @brendandburns @mbohlool

Kubernetes-commit: 7909712ca574c536901bc7858dfbf72a3a6ee7dd
2018-05-19 14:28:34 +00:00
Kubernetes Publisher
fd323869ad Merge pull request #63913 from deads2k/controller-10-event
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix event ref determination for apigroups

The event ref determination was never updated to handle apigroups so it has been returning only a group (not a version).

@kubernetes/sig-apps-bugs

```release-note
event object references with apiversion will now report an apiversion.
```

Kubernetes-commit: 4810b9ba679f4fb9cc39f3a83bbcd23b3e4accce
2018-05-19 14:28:13 +00:00
Kubernetes Publisher
d9cf977510 Merge pull request #60012 from atlassian/dial-with-context
Automatic merge from submit-queue (batch tested with PRs 60012, 63692, 63977, 63960, 64008). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use Dial with context

**What this PR does / why we need it**:
`net/http/Transport.Dial` field is deprecated:
```go
// DialContext specifies the dial function for creating unencrypted TCP connections.
// If DialContext is nil (and the deprecated Dial below is also nil),
// then the transport dials using package net.
DialContext func(ctx context.Context, network, addr string) (net.Conn, error)

// Dial specifies the dial function for creating unencrypted TCP connections.
//
// Deprecated: Use DialContext instead, which allows the transport
// to cancel dials as soon as they are no longer needed.
// If both are set, DialContext takes priority.
Dial func(network, addr string) (net.Conn, error)
```
This PR switches all `Dial` usages to `DialContext`. Fixes #63455.

**Special notes for your reviewer**:
Also related: https://github.com/kubernetes/kubernetes/pull/59287 https://github.com/kubernetes/kubernetes/pull/58532 https://github.com/kubernetes/kubernetes/issues/815 https://github.com/kubernetes/community/pull/1166 https://github.com/kubernetes/kubernetes/pull/58677 https://github.com/kubernetes/kubernetes/pull/57932

**Release note**:
```release-note
HTTP transport now uses `context.Context` to cancel dial operations. k8s.io/client-go/transport/Config struct has been updated to accept a function with a `context.Context` parameter. This is a breaking change if you use this field in your code.
```
/sig api-machinery
/kind enhancement
/cc @sttts

Kubernetes-commit: ddf551c24b7d88454f8332ce6855e53281440958
2018-05-19 10:28:06 +00:00
Mikhail Mazurskiy
4a75b93cb4 Use Dial with context
Kubernetes-commit: 5e8e570dbda6ed89af9bc2e0a05e3d94bfdfcb61
2018-05-19 08:14:37 +10:00
Kubernetes Publisher
4bb327ea2f Merge pull request #63936 from awly/extract-connwatch
Automatic merge from submit-queue (batch tested with PRs 63865, 57849, 63932, 63930, 63936). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Extract connection rotating dialer into a package

**What this PR does / why we need it**: This will be re-used for exec auth plugin to rotate connections on
credential change.

**Special notes for your reviewer**: this was split from https://github.com/kubernetes/kubernetes/pull/61803 to simplify review

**Release note**:
```release-note
NONE
```

Kubernetes-commit: da8e25c63dbc48f35065f5790f2f522bbe0c3641
2018-05-17 00:28:30 -07:00
Kubernetes Publisher
ea16f6128e Merge pull request #63875 from deads2k/client-10-timeout
Automatic merge from submit-queue (batch tested with PRs 63875, 63817). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

make TestGetServerGroupsWithTimeout more reliable

Stops overriding a global variable in a test and tolerates a different kind of timeout message you can see.

/assign @soltysh

Kubernetes-commit: baad3d4159db43927e250d4b3f23d6e083b01294
2018-05-16 18:32:14 +00:00
Andrew Lytvynov
6c082e8151 Extract connection rotating dialer into a package
This will be re-used for exec auth plugin to rotate connections on
credential change.

Kubernetes-commit: 85a61ff3aa7df8d83af304ebffab780fabd028a8
2018-05-16 10:30:53 -07:00
David Eads
acfb32b7e4 fix event ref determination for apigroups
Kubernetes-commit: b2be8953b147d4c386768b0bdd3d9a93a47a625b
2018-05-16 08:08:20 -04:00
Kubernetes Publisher
79540301d5 Merge pull request #63861 from deads2k/client-09-clean
Automatic merge from submit-queue (batch tested with PRs 63589, 63644, 63861, 63872, 63847). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove service.deletecollection since the server doesn't support it

Updates the generated service client to match the API available.

@kubernetes/sig-api-machinery-pr-reviews
@kubernetes/api-reviewers

```release-note
NONE
```

Kubernetes-commit: 49e9322d4f62cda83e3eac815e202967dc1a0333
2018-05-16 02:29:53 +00:00
Jeff Grafton
4e14588875 Update to gazelle 0.12.0 and run hack/update-bazel.sh
Kubernetes-commit: a725660640fead200892bcfd07b1d319da5d3c09
2018-05-15 17:22:27 -07:00
Kubernetes Publisher
f9b6f71f0a Merge pull request #63800 from wojtek-t/fix_fake_listers
Automatic merge from submit-queue (batch tested with PRs 63658, 63509, 63800, 63586, 63840). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix List in fake clients to propagate ListMeta

Kubernetes-commit: 765c49db41dbe067cfca5d83cf438fb02b3468b8
2018-05-15 14:23:16 -07:00
Kubernetes Publisher
690cda5361 Merge pull request #63550 from juanvallejo/jvallejo/move-cached-discovery
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

move cached_discovery to client-go/discovery

**Release note**:
```release-note
NONE
```

Moves the cmd/util CachedDiscoveryClient to client-go

cc @soltysh @deads2k

Kubernetes-commit: f2ea83bef88f9d2783abe0c00de563db13ec04f4
2018-05-15 18:30:59 +00:00
David Eads
ef648e2917 make TestGetServerGroupsWithTimeout more reliable
Kubernetes-commit: e7620e814aebca184160f2ae5ef243f5dcd1f409
2018-05-15 12:47:23 -04:00
David Eads
10b605faab generated
Kubernetes-commit: eb438b088ccf2800e58c37aa8aefe6ce6482aacb
2018-05-15 09:00:50 -04:00
Kubernetes Publisher
988feb35af Merge pull request #63100 from ravisantoshgudimetla/priority-beta-api
Automatic merge from submit-queue (batch tested with PRs 55511, 63372, 63400, 63100, 63769). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Create pkg/scheduling/apis/v1beta1 and move priorityClass to beta

**What this PR does / why we need it**:
This is for creating pkg/apis/scheduling/v1beta1 so that priorityClasses could be moved to beta.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Part of #57471

**Special notes for your reviewer**:
/cc @bsalamat @aveshagarwal

**Release note**:

```release-note
The `PriorityClass` API is promoted to `scheduling.k8s.io/v1beta1`
```

Kubernetes-commit: a1b54f3c99f2ae4d7d10c269939e5c0bb6d03e6f
2018-05-14 22:30:03 +00:00
wojtekt
41a5bc501f Autogenerated code
Kubernetes-commit: c69165d50386d12c8644bd6de974a9d2fdfc876c
2018-05-14 16:14:53 +02:00
Kubernetes Publisher
421cf66e41 Merge pull request #63446 from deads2k/client-08-remove-old
Automatic merge from submit-queue (batch tested with PRs 63367, 63718, 63446, 63723, 63720). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

finish new dynamic client and deprecate old dynamic client

Builds on a couple other pulls.  This completes the transition to the new dynamic client.

@kubernetes/sig-api-machinery-pr-reviews 
@caesarxuchao @sttts 

```release-note
The old dynamic client has been replaced by a new one.  The previous dynamic client will exist for one release in `client-go/deprecated-dynamic`.  Switch as soon as possible.
```

Kubernetes-commit: 92ba95c39c6f7192502c3d907006c8828dd7b32c
2018-05-11 14:49:16 -07:00
juanvallejo
a0e8687452 restore old cached client behavior
Kubernetes-commit: 57f308ae60875e90004dca592d47cbf6bce390ba
2018-05-11 15:50:13 -04:00
Kubernetes Publisher
b4efb2d46b Merge pull request #59727 from wgliang/master.time
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

should use time.Since instead of time.Now().Sub

**What this PR does / why we need it**:
should use time.Since instead of time.Now().Sub

**Special notes for your reviewer**:

Kubernetes-commit: 7eb88f11d23d2be7dc3a91f727a1a77a0abac5e8
2018-05-11 14:29:34 +00:00
zhengjiajin
7d6d732419 enhance leaderelection code
Kubernetes-commit: 9fe2a5a430055657186491c23e85cc489e401bc7
2018-05-11 13:29:41 +08:00
Kubernetes Publisher
cf2db96347 Merge pull request #63613 from deads2k/cli-52-builderclient
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 construct resource.Builder from kubeconfig flags

updates the resource.Builder to be constructed from the kubeconfig flags struct/interface that we now have.

@kubernetes/sig-cli-maintainers
@juanvallejo @soltysh

```release-note
NONE
```

Kubernetes-commit: 7e75a09db6dc13218b4f5e06493115ae96f83774
2018-05-10 18:29:26 +00:00
Kubernetes Publisher
b2243688f8 Merge pull request #60200 from dixudx/clientgo_openstack_config
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

read openstack auth config from client config

**What this PR does / why we need it**:
> // TODO: read/persist client configuration(OS_XXX env vars) in config

/sig openstack

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
/assign @dims
**Release note**:

```release-note
read openstack auth config from client config
```

Kubernetes-commit: 9dcbdc3d459ec6b2bb149a9f4f3c0d1348113e4a
2018-05-10 18:29:03 +00:00
Kubernetes Publisher
638bb430f4 Merge pull request #61976 from atlassian/ticker-with-stop
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Stop() for Ticker to enable leak-free code

**What this PR does / why we need it**:
I wanted to use the clock package but the `Ticker` without a `Stop()` method is a deal breaker for me.

**Release note**:
```release-note
NONE
```
/kind enhancement
/sig api-machinery

Kubernetes-commit: d42df4561a6c754120e9b46b37c032a57ca92a9a
2018-05-10 06:27:21 +00:00
Kubernetes Publisher
9cabba1998 Merge pull request #63602 from deads2k/cli-54-categories
Automatic merge from submit-queue (batch tested with PRs 59284, 63602). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 category expansion can only come from the server

A couple release ago we moved category expansion to the server instead of hardcoding it in the client.  Similar to restmappings, there is no valid client-side expansion anymore, so this removes the code that hardcoded the list and moves the category expansion to the same package as our discovery based restmappers.

@kubernetes/sig-cli-maintainers

```release-note
NONE
```

Kubernetes-commit: ca92b73a659bf92c3051765a6ea5bc8c12069975
2018-05-09 22:27:11 +00:00
Jordan Liggitt
212413e762 Collapse memcached discovery client onto parallelized discovery method
Kubernetes-commit: af7d3b21f85d12e3296d8b237c7181d515ee530c
2018-05-09 18:00:12 -04:00
Kubernetes Publisher
de3c9b6cf8 Merge pull request #63502 from liggitt/parallel-discovery
Automatic merge from submit-queue (batch tested with PRs 62354, 62934, 63502). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Run resource discovery in parallel

best viewed ignoring whitespace (https://github.com/kubernetes/kubernetes/pull/63502/files?w=1)

on high-latency connections, serializing resource discovery requests across group versions can take significant amounts of time. this parallelizes the network request portion of the discovery call

xref #63368

```release-note
NONE
```

Kubernetes-commit: 234939dced42952045fc2a42b74a805affcff965
2018-05-09 18:27:48 +00:00
Kubernetes Publisher
62c4633c17 Merge pull request #63565 from roycaihw/bump-kube-openapi-dep
Automatic merge from submit-queue (batch tested with PRs 59034, 63565, 63533). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump kube-openapi dependency

picks: https://github.com/kubernetes/kube-openapi/pull/67
ref: https://github.com/kubernetes/kubernetes/issues/63494

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 3663dc757e05fb79f23a14ad4f2ba832d6e5962c
2018-05-09 18:27:28 +00:00
David Eads
3fb1070233 construct resource.Builder from kubeconfig flags
Kubernetes-commit: 1f5357034b4a8ef4ed68f0c2415e280601968e91
2018-05-09 13:53:07 -04:00
David Eads
f6af22edb3 fix dynamic client name
Kubernetes-commit: fd044d152ee13a6cb812e4c3e7504ee8e24b5b8c
2018-05-09 12:58:12 -04:00
David Eads
1c46f3b96c move old dynamic client to deprecated-client
Kubernetes-commit: d8924bc1c914c63fd7e93f7e562edfddd911d9d7
2018-05-09 12:54:24 -04:00
David Eads
77541e5cb7 add subresource support for the dynamic client
Kubernetes-commit: 82e32d2a3260807237a69bc40fb371db640d26fc
2018-05-09 12:52:12 -04:00
ravisantoshgudimetla
d50d58e11c Generated
Kubernetes-commit: f20bd00ab279ad4ac6e887007c5dad6bbc4b3bb9
2018-05-09 11:17:18 -04:00
David Eads
37c8d52754 category expansion can only come from the server
Kubernetes-commit: ad87219b2cba1d22ac2a808568da7322775972ae
2018-05-09 11:12:32 -04:00
David Eads
0c30aacc9d move category expansion types to restmapper package
Kubernetes-commit: 37f6cb723017edb46117d64d70c827a2d8c93b59
2018-05-09 11:01:49 -04:00
Kubernetes Publisher
9124a4f71a Merge pull request #63364 from deads2k/api-16-scheme
Automatic merge from submit-queue (batch tested with PRs 63364, 63464). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

simplify api registration

The current registration and groupmeta is only use to determine a preferred ordering to versions.  The scheme already knows about all versions, so this simply makes that knowledge official.  After doing that, the announce, registered, and apimachinery/pkg/apimachinery all drop out.

With this change we'll be able to create `install` packages for each external apigroup that accept a scheme and have suggested orderings.  This will make it possible to close the consistency gap with kubectl, client, and apiserver.

@kubernetes/sig-api-machinery-pr-reviews
@lavalamp @smarterclayton @liggitt @sttts

```release-note
NONE
```

Kubernetes-commit: f929502282b370ceb3adae4816074142d6702c8b
2018-05-09 02:27:12 +00:00
Kubernetes Publisher
c7b9128fb6 Merge pull request #63507 from deads2k/cli-50-tidyup
Automatic merge from submit-queue (batch tested with PRs 63291, 63490, 60445, 63507, 63524). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 move client based restmappers to client-go

Moves the client-based restmappers to client-go where everyone who needs them can have access.

```release-note
the shortcuts which were moved server-side in at least 1.9 have been removed from being hardcoded in kubectl
```

@kubernetes/sig-cli-maintainers @kubernetes/sig-api-machinery-pr-reviews

Kubernetes-commit: c27335fe3e75ef3d680dc5f470b16764564dc3b5
2018-05-09 02:26:50 +00:00
Kubernetes Publisher
e06cc6501b Merge pull request #60445 from oracle/for/upstream/master/60444
Automatic merge from submit-queue (batch tested with PRs 63291, 63490, 60445, 63507, 63524). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fixes fake client generation for non-namespaced subresources

**What this PR does / why we need it**:

Fixes code generation for non-namespaced subresources fake clients.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #60444

**Special notes for your reviewer**:

**Release note**:

```dev-release-note
Fixes fake client generation for non-namespaced subresources
```

/cc @mfojtik @liggitt

I'm not sure the best way to add tests for this. Any pointers?

Kubernetes-commit: 8203d35ea830b02a542c3099e302d58344a86305
2018-05-09 02:26:50 +00:00
Haowei Cai
7a2dcd71b0 generated
Kubernetes-commit: 18fd392c1358fccdac0905e29ae957b2ddcd213a
2018-05-08 17:27:17 -07:00
juanvallejo
8a7f1bb868 move cached_discovery to client-go/discovery
Kubernetes-commit: 405935574307d460124f30df06860dc670aa634c
2018-05-08 13:50:36 -04:00
Jordan Liggitt
334b50415a Run resource discovery in parallel
Kubernetes-commit: d037b0893fa9313b9b5b111c22d49bf3c859a9d1
2018-05-07 15:54:25 -04:00
David Eads
1c9ae1b2ac move client based restmappers to client-go
Kubernetes-commit: dd97a7bc59c913c71730dba8b8de274820466417
2018-05-07 15:41:13 -04:00
Kubernetes Publisher
8296aa1708 Merge pull request #61154 from hanxiaoshuai/bugfix0314
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

catch err when Watch testResource failed in func TestWatchCallNonNamespace

**What this PR does / why we need it**:
catch err when Watch testResource failed in func TestWatchCallNonNamespace
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #
[#61155](https://github.com/kubernetes/kubernetes/issues/61155)
**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 89542d9ec97febf16d14319002d1b164a823bb8b
2018-05-07 14:28:00 +00:00
David Eads
6174473dce simplify api registration
Kubernetes-commit: c5445d3c56e06ab366b9cca34bd69c5cc386ec47
2018-05-07 08:32:20 -04:00
David Eads
5c71aff0f3 generated
Kubernetes-commit: 7b4f97aca3f47aed1161a20636a1a078a63c9fd9
2018-05-07 08:32:03 -04:00
Kubernetes Publisher
bf62f5b7d6 Merge pull request #63421 from liggitt/discover-completions
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Cache preferred resources, use in kubectl resource name autocomplete

Fixes #63145
Fixes https://github.com/kubernetes/kubectl/issues/357
Alternative to #61928

* starts to unify preferred resource logic on top of ServerGroups()/ServerResourcesForGroupVersion() methods
* allows indicating a cached list of resources is acceptable when calling `kubectl api-resources` (default is still to rediscover)
* uses `kubectl api-resources` in bash completion

```sh
$ kubectl get [TAB][TAB]
apiservices.apiregistration.k8s.io                            networkpolicies.extensions
certificatesigningrequests.certificates.k8s.io                networkpolicies.networking.k8s.io
clusterrolebindings.rbac.authorization.k8s.io                 nodes
clusterroles.rbac.authorization.k8s.io                        persistentvolumeclaims
componentstatuses                                             persistentvolumes
configmaps                                                    poddisruptionbudgets.policy
controllerrevisions.apps                                      pods
cronjobs.batch                                                podsecuritypolicies.extensions
customresourcedefinitions.apiextensions.k8s.io                podsecuritypolicies.policy
daemonsets.apps                                               podtemplates
daemonsets.extensions                                         replicasets.apps
deployments.apps                                              replicasets.extensions
deployments.extensions                                        replicationcontrollers
endpoints                                                     resourcequotas
events                                                        rolebindings.rbac.authorization.k8s.io
events.events.k8s.io                                          roles.rbac.authorization.k8s.io
horizontalpodautoscalers.autoscaling                          secrets
ingresses.extensions                                          serviceaccounts
initializerconfigurations.admissionregistration.k8s.io        services
jobs.batch                                                    statefulsets.apps
limitranges                                                   storageclasses.storage.k8s.io
mutatingwebhookconfigurations.admissionregistration.k8s.io    validatingwebhookconfigurations.admissionregistration.k8s.io
namespaces                                                    volumeattachments.storage.k8s.io
```

```release-note
NONE
```

Kubernetes-commit: 068b7befa926d376634c79cbba3d210c1dc596fe
2018-05-04 18:28:09 +00:00
Kubernetes Publisher
998a5ff4b9 Merge pull request #63405 from dims/update-to-latest-gophercloud-may-3-2018
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update to latest Gophercloud

**What this PR does / why we need it**:

periodic update to latest gophercloud. The changes are as follows:
6da026c32e...781450b3c4

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: bc56947e8dd89d70735384239c4e5d0c2c9fe8eb
2018-05-04 18:27:44 +00:00
Jordan Liggitt
46ab86af26 Make ServerPreferred[Namespaced]Resources logic and caches consistent
Kubernetes-commit: 74b7cec0c6b1355615097be4068500761a9893fd
2018-05-03 23:34:09 -04:00
Kubernetes Publisher
7e5a9c2cb4 Merge pull request #63346 from roycaihw/bump-kube-openapi
Automatic merge from submit-queue (batch tested with PRs 61455, 63346, 63130, 63404). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump kube-openapi dependency

**What this PR does / why we need it**:
Pick up https://github.com/kubernetes/kube-openapi/pull/64

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63218

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/sig api-machinery
/cc @mbohlool @liggitt

Kubernetes-commit: 89e6895e1c550658b7c145436868b70fb3cabbcd
2018-05-04 02:27:28 +00:00
Davanum Srinivas
d17062c637 Update to latest Gophercloud
6da026c32e...781450b3c4

Kubernetes-commit: ddfcf1e193b573db17097e88201d717ac9ac1630
2018-05-03 15:47:58 -04:00
Haowei Cai
835de9289c Bump kube-openapi dependency
Kubernetes-commit: 212814a0c6625d9359afbdbfa50f8e187e59fc0e
2018-05-01 17:33:27 -07:00
Kubernetes Publisher
01d6a1350d Merge pull request #63253 from deads2k/client-05-dynamic-update
Automatic merge from submit-queue (batch tested with PRs 63152, 63253). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

make dynamic client slightly easier to use and add fakes

Tweaks the dynamic client to make it more "normal" for resources to namespaces.  Adds a fake dynamic client.

@kubernetes/sig-api-machinery-pr-reviews
/assign @hzxuzhonghu
/assign @sttts

```release-note
NONE
```

Kubernetes-commit: 8e99d621e95c38d6e773a631c7179915ed952a2f
2018-05-01 18:26:48 +00:00
Kubernetes Publisher
e26238c324 Merge pull request #63238 from CaoShuFeng/toCurl
Automatic merge from submit-queue (batch tested with PRs 63153, 63238). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix curl header

partially reverts kubernetes/kubernetes#60925

such command cause a 406 status code from api-server
```
curl   -H "Accept: 'application/json;as=Table;v=v1beta1;g=meta.k8s.io, application/json'"
```

this works fine:
```
curl  -H "Accept: application/json;as=Table;v=v1beta1;g=meta.k8s.io, application/json"
```

**Release note**:
```
NONE
```

Kubernetes-commit: a8a963c98396ef8b5cd08911d0d4d7edbfff78fd
2018-04-28 14:26:14 +00:00
Kubernetes Publisher
8b5d933521 Merge pull request #63169 from smarterclayton/limit_dependencies
Automatic merge from submit-queue (batch tested with PRs 63251, 59166, 63250, 63180, 63169). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Break a generic package dependency to core/api/v1

It is not necessary for this package to depend on core/v1.

Kubernetes-commit: 625bce3ff6be2753cd9d27ef5fc2051cf2a45f85
2018-04-28 14:25:55 +00:00
Kubernetes Publisher
9e6dfd5187 Merge pull request #63203 from deads2k/api-07-versioninterface
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove versioning interface

Builds on prior restmapping/converter separation to completely remove the versioning interface which isn't needed.

intersection of @kubernetes/sig-api-machinery-pr-reviews and @kubernetes/sig-cli-maintainers  again

```release-note
NONE
```

Kubernetes-commit: 6b9cf21d9f23fa596db19f0f7981fbb7261fc2b6
2018-04-28 14:25:54 +00:00
Kubernetes Publisher
3fd815dfa7 Merge pull request #63189 from hzxuzhonghu/master
Automatic merge from submit-queue (batch tested with PRs 61804, 63189). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

make use of simple dynamic client instead of deprecated client pool

**What this PR does / why we need it**:

Use simple dynamic client through all integration test.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63182

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: b75d6464c8f04d5526ab633e75675f1c728f8606
2018-04-28 14:25:54 +00:00
Cao Shufeng
f71f3da0d1 fix curl header
Kubernetes-commit: 084eb9b42906736002c285ac88c0dfcfbfb87a63
2018-04-27 15:56:03 +08:00
xuzhonghu
2b0acf6f5a fix bug in dynamicResourceClient.UpdateStatus should encode
Kubernetes-commit: 9e8ce9535d9ce46791304e4ea3d1694e09b9ae9f
2018-04-27 14:07:11 +08:00
David Eads
1f41b75933 add fake dynamic client
Kubernetes-commit: 121b698492fcf546c9264b27d086b18d915c607f
2018-04-26 15:36:07 -04:00
David Eads
7757aaeb14 make dynamic client slightly easier to use
Kubernetes-commit: 5ff923c7f931a34632df1f5a5400adbec33d49bf
2018-04-27 11:29:05 -04:00
Kubernetes Publisher
e18ef65b0f Merge pull request #63063 from feiskyer/azure-new-sdk
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Upgrade Azure Go SDK to stable version

**What this PR does / why we need it**:

Kubernetes is using a beta version of Azure Go SDK now. If there are bugs in them, it's hard to upgrade because Azure Go SDK won't release new patches for pre-released SDK versions. We should upgrade Go SDK to stable version (e.g. v14.6.0)

Refer #62249

Refer Azure/azure-sdk-for-go#1586

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63056

**Special notes for your reviewer**:

This PR includes changes in #61972, but with a newer go-autorest version.

**Release note**:

```release-note
Upgrade Azure Go SDK to stable version (v14.6.0)
```

Kubernetes-commit: cc845246e4afe82271d4f8160badbe11f4c7a929
2018-04-26 06:27:42 +00:00
Kubernetes Publisher
34472877d4 Merge pull request #62805 from awly/take-reviews
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add awly as reviewer in several subtrees

```release-note
NONE
```

Kubernetes-commit: 9e52d14eb9db297523ec5541a1131856a498f518
2018-04-26 06:27:22 +00:00
Kubernetes Publisher
f0d1126290 Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline
Automatic merge from submit-queue (batch tested with PRs 59965, 59115, 63076, 63059). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Upgrade dep json-iterator/go to fix base64 decode bug

**What this PR does / why we need it**:
upgrade dep `json-iterator/go` to fix base64 decode bug #62742

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #62742

**Special notes for your reviewer**:
Just upgrade `json-iterator/go` to latest which includes base64 decode fix https://github.com/json-iterator/go/pull/266
No other code changes

**Release note**:

```release-note
None
```

Kubernetes-commit: 3dbcd1ddcee786f443f89a82514bbd9c6ad06c99
2018-04-26 06:27:21 +00:00
Clayton Coleman
a6f5cf653e restclient should not depend on api/core/v1
Kubernetes-commit: 847edc0e27054f1bf7771ba8d412b10bfd533f90
2018-04-25 18:51:38 -04:00
Kubernetes Publisher
95a2d0bcbb Merge pull request #63075 from deads2k/api-05-eliminate-indirection
Automatic merge from submit-queue (batch tested with PRs 62982, 63075, 63067, 62877, 63141). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

eliminate indirection from type registration

Some years back there was a partial attempt to revamp api type registration, but the effort was never completed and this was before we started splitting schemes. With separate schemes, the idea of partial registration no longer makes sense.  This pull starts removing cruft from the registration process and pulls out a layer of indirection that isn't needed.

@kubernetes/sig-api-machinery-pr-reviews
@lavalamp @cheftako @sttts @smarterclayton

Rebase cost is fairly high, so I'd like to avoid this lingering.

/assign @sttts
/assign @cheftako

```release-note
NONE
```

Kubernetes-commit: 97287177ee2b603f13f1028ef7f053f4795351f7
2018-04-25 22:27:25 +00:00
Clayton Coleman
7130d1acc2 client-go should not take a dependency on the v1 api lightly
These constants will never change, and tools/ should not be depending on
core/api/v1 (there is nothing v1 specific about them).

Kubernetes-commit: aa9fd2bf11ae6be922b5b0fe45f5254c40366b2e
2018-04-25 18:02:30 -04:00
Kubernetes Publisher
82253abe83 Merge pull request #62913 from deads2k/client-04-dynamic
Automatic merge from submit-queue (batch tested with PRs 63137, 62913). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

make a simple dynamic client that is easy to use

The dynamic client has annoyed me for the last time!  The existing one takes arguments at odd levels, requires lots of information to instantiate, does some weird pool thing, and uses unusual types.  This creates an interface like this:

```go

type DynamicInterface interface {
	ClusterResource(resource schema.GroupVersionResource) DynamicResourceInterface
	NamespacedResource(resource schema.GroupVersionResource, namespace string) DynamicResourceInterface
}

type DynamicResourceInterface interface {
	Create(obj *unstructured.Unstructured) (*unstructured.Unstructured, error)
	Update(obj *unstructured.Unstructured) (*unstructured.Unstructured, error)
	UpdateStatus(obj *unstructured.Unstructured) (*unstructured.Unstructured, error)
	Delete(name string, options *metav1.DeleteOptions) error
	DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
	Get(name string, options metav1.GetOptions) (*unstructured.Unstructured, error)
	List(opts metav1.ListOptions) (*unstructured.UnstructuredList, error)
	Watch(opts metav1.ListOptions) (watch.Interface, error)
	Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*unstructured.Unstructured, error)
}
```

You create it from just a `rest.Config`, no mapper, no path resolving func, no trying to set up codecs ahead of time, no unnecessary pool.  It just works.

I updated the namespace controller to use it and I updated the existing dynamic client to leverage it so that I get all their tests for "free".

@kubernetes/sig-api-machinery-pr-reviews
@liggitt @smarterclayton @bparees @sttts @ironcladlou I know each of us has struggled with the dynamic client in our time.
@lavalamp @caesarxuchao This is vastly simplifying.  I'm eager to drop the old `ClientPool`.  client-go will technically have another incompatible semver this release.  I'm up for changing it in tree.

```release-note
client-go developers: the new dynamic client is easier to use and the old is deprecated, you must switch.
```

Kubernetes-commit: 5d7569d6649777ef999fc37c480276cdb830dbd4
2018-04-25 18:27:09 +00:00
ceshihao
cfcdaaea85 runhack/update-staging-godeps.sh
Kubernetes-commit: 3fde7d6844c540439d30eb356ef0a12af23bd50f
2018-04-25 16:11:21 +00:00
David Eads
7205c0679a remove versioning interface
Kubernetes-commit: e2fc5cf259463f896213afdef15d58ef9a91eb35
2018-04-25 10:55:17 -04:00
Kubernetes Publisher
3df37beef0 Merge pull request #63086 from soltysh/discovery_timeout
Automatic merge from submit-queue (batch tested with PRs 63129, 63066, 60009, 63136, 63086). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix discovery default timeout test

/assign @sttts

**Release note**:
```release-note
NONE
```

Kubernetes-commit: a53df4d90565d9adc8352758c99d7aa0d0624394
2018-04-25 14:27:25 +00:00
Kubernetes Publisher
d36be08adf Merge pull request #63010 from deads2k/api-04-metadataaccessor
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove confusing flexibility for metadata interpretation

Metadata accessors are coded in.  This means that we don't need to inject flexibility, the flexibility is already present based on what your code relies up.  This removes the per-individual resource injection which simplifies all calling code.

intersection of @kubernetes/sig-api-machinery-pr-reviews @kubernetes/sig-cli-maintainers

```release-note
NONE
```

Kubernetes-commit: 6fbca94faec5d21630d076853e5f883b4a630412
2018-04-25 10:27:26 +00:00
David Eads
2e1683e1a1 add easy to use dynamic client
Kubernetes-commit: 3632037e600d82a954c05ecd4f9cb6f1ca93d41c
2018-04-24 13:41:40 -04:00
Maciej Szulik
581437501a Fix discovery default timeout test
Kubernetes-commit: af2353f8a3ab06ca105d15a0b1b27605e4093da5
2018-04-24 17:05:56 +02:00
David Eads
f849531fe2 eliminate indirection from type registration
Kubernetes-commit: e7fbbe0e3c91f34836b999e695aa133503cfdae5
2018-04-24 08:21:23 -04:00
Pengfei Ni
e6f1c09a62 Update vendors for client-go
Kubernetes-commit: 058b619040c469dcbe5d92bdaa8da975d23f141d
2018-04-24 14:42:06 +08:00
Kubernetes Publisher
3631461fc7 Merge pull request #62152 from smarterclayton/use_client_store
Automatic merge from submit-queue (batch tested with PRs 63001, 62152, 61950). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

When bootstrapping a client cert, store it with other client certs

The kubelet uses two different locations to store certificates on
initial bootstrap and then on subsequent rotation:

* bootstrap: certDir/kubelet-client.(crt|key)
* rotation:  certDir/kubelet-client-(DATE|current).pem

Bootstrap also creates an initial node.kubeconfig that points to the
certs. Unfortunately, with short rotation the node.kubeconfig then
becomes out of date because it points to the initial cert/key, not the
rotated cert key.

Alter the bootstrap code to store client certs exactly as if they would
be rotated (using the same cert Store code), and reference the PEM file
containing cert/key from node.kubeconfig, which is supported by kubectl
and other Go tooling. This ensures that the node.kubeconfig continues to
be valid past the first expiration.

Example:

```
bootstrap:
  writes to certDir/kubelet-client-DATE.pem and symlinks to certDir/kubelet-client-current.pem
  writes node.kubeconfig pointing to certDir/kubelet-client-current.pem
rotation:
  writes to certDir/kubelet-client-DATE.pem and symlinks to certDir/kubelet-client-current.pem
```

This will also allow us to remove the wierd "init store with bootstrap cert" stuff, although I'd prefer to do that in a follow up.

@mikedanese @liggitt as per discussion on Slack today

```release-note
The `--bootstrap-kubeconfig` argument to Kubelet previously created the first bootstrap client credentials in the certificates directory as `kubelet-client.key` and `kubelet-client.crt`.  Subsequent certificates created by cert rotation were created in a combined PEM file that was atomically rotated as `kubelet-client-DATE.pem` in that directory, which meant clients relying on the `node.kubeconfig` generated by bootstrapping would never use a rotated cert.  The initial bootstrap certificate is now generated into the cert directory as a PEM file and symlinked to `kubelet-client-current.pem` so that the generated kubeconfig remains valid after rotation.
```

Kubernetes-commit: 939c0783e191a940d009399f7d6d00251feb025a
2018-04-23 22:27:04 +00:00
David Eads
c726896549 remove confusing flexibility for metadata interpretation
Kubernetes-commit: 0710f72c65ad23e7a3726b345898ef4aaaac26fa
2018-04-23 10:23:01 -04:00
Kubernetes Publisher
7455e67b76 Merge pull request #62649 from liggitt/loopback-routing
Automatic merge from submit-queue (batch tested with PRs 50899, 62649). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Ensure webhook service routing resolves kubernetes.default.svc correctly

Going through the normal endpoint resolve path isn't correct in multi-master scenarios

The auth wrapper is pulling from LoopbackClientConfig, the service resolver should do the same

```release-note
Fixes the kubernetes.default.svc loopback service resolution to use a loopback configuration.
```

Kubernetes-commit: 9c25da64f0f302f69fb14af486bc181cce22293b
2018-04-21 02:25:56 +00:00
Kubernetes Publisher
f123460f11 Merge pull request #62733 from soltysh/discovery_timeout
Automatic merge from submit-queue (batch tested with PRs 62876, 62733, 62827). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Set a default request timeout for discovery client

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1546117

Adds a default request timeout to requests made by the discovery client.
This prevents a command from hanging indefinitely due to one or multiple calls
to the apiserver taking longer than usual when when a --request-timeout flag value
has not been set.

/assign @deads2k @juanvallejo

**Release note**:
```release-note
NONE
```

Kubernetes-commit: 6da4355ad543411fcfef8320f4fbbc3d47bb0302
2018-04-21 02:25:36 +00:00
Kubernetes Publisher
58bdd5cade Merge pull request #60709 from deads2k/client-02-fake-copy
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

deep copy fake client actions to avoid accidental mutation

I just got bit by this downstream.  Without a deep copy it is possible accidentally mutate the thing you created, thus invalidating your testing.  It's particularly nasty inside of a controller doing a loop on objects, making refs to them, and creating.  This works running in an actual process since we serialize and write, but fails unit tests since there is no serialization step.

@kubernetes/sig-api-machinery-bugs

```release-note
NONE
```

Kubernetes-commit: bfae47ad87807a6361e655f3620cbf2d9f2d6226
2018-04-20 18:26:01 +00:00
Kubernetes Publisher
467c17c87a Merge pull request #62412 from bhcleek/go1.10
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

generated code should pass go vet for go1.10

**What this PR does / why we need it**:

Update code generator and the code it generates to pass `go vet`.

go1.10 runs `go vet` whenever `go test` is run. Because of this, generated code for CRDs needs to pass `go vet`.

**Release note**:

```release-note
Code generated for CRDs now passes `go vet`.
```

Kubernetes-commit: 5dde701b876d1d0915314c3ed146e986c4327f7e
2018-04-20 14:26:06 +00:00
Kubernetes Publisher
9b46f3224a Merge pull request #62583 from vantuvt/testify_update
Automatic merge from submit-queue (batch tested with PRs 62726, 60085, 62583). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update github.com/stretchr/testify to v1.2.1

cd $GOPATH/src/k8s.io/kubernetes
hack/godep-restore.sh
rm -rf Godeps
rm -rf vendor
hack/godep-save.sh

**What this PR does / why we need it**:
v1.2.1 of Testify includes new functions (e.g., ElementsMatch) that make it easier to compare data structures such as slices.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note

```

Kubernetes-commit: 4761788b2afa42a4573a6794902eb93fe666d5c5
2018-04-19 18:26:37 +00:00
Billie Cleek
2468a89fde regenerate fakes
Kubernetes-commit: 95ad9009c33a664bfbc3f2a9836148f9efbde851
2018-04-18 16:09:36 -07:00
Andrew Lytvynov
f99e02d6b7 Add awly as reviewer in several subtrees
Kubernetes-commit: ff85d34d4e815ced406a9442fb9966b947dd0638
2018-04-18 12:22:04 -07:00
Kubernetes Publisher
c75e967654 Merge pull request #59317 from CaoShuFeng/assert_Equal
Automatic merge from submit-queue (batch tested with PRs 62448, 59317, 59947, 62418, 62352). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix assert.Equal argument order

Reference:
https://godoc.org/github.com/stretchr/testify/assert#Equal

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 60141cdfd919f608da9e7d1083f9831694ba540f
2018-04-18 02:25:39 +00:00
Maciej Szulik
d1f4ecc28d Set a default request timeout for discovery client
Kubernetes-commit: 7bd48a7e2325381cb777d0ea1ff89b2ecece23b6
2018-04-17 16:58:38 +02:00
Kubernetes Publisher
4c785b2638 sync: update godeps 2018-04-17 14:29:34 +00:00
Jordan Liggitt
d23614d7ea ensure tls server name is used in transport
Kubernetes-commit: 6f657424743e93d064f8975a930941ba73f53110
2018-04-17 00:59:27 -04:00
Jordan Liggitt
015563ab58 distinguish custom dialers in transport cache
Kubernetes-commit: d45fbce37985b72ec454a8dbe73d92bf07f8726f
2018-04-17 00:58:56 -04:00
Kubernetes Publisher
11179e1670 Merge pull request #62505 from mtaufen/show-deprecated-help
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Show help for deprecated Kubelet flags

We recently deprecated a bunch of Kubelet flags, which caused them to disappear from `--help` output. This PR unhides these flags, so that the deprecation notice is clearly visible in `--help`.

Fixes: #62009

```release-note
NONE
```

/cc @eparis

Kubernetes-commit: ee4d90aaa61150139cdcd67a73e22da8cb226dc6
2018-04-14 22:22:17 +00:00
Van Tu
1af4095d6e Update github.com/stretchr/testify to v1.2.1
cd $GOPATH/src/k8s.io/kubernetes
hack/godep-restore.sh
rm -rf Godeps
rm -rf vendor
hack/godep-save.sh
hack/update-staging-godeps.sh

Kubernetes-commit: e1cd5eeabcd1816f76b1e31cd2e6c531e4fad6ac
2018-04-13 23:54:32 -04:00
Kubernetes Publisher
dd40bd1fb2 Merge pull request #62234 from liggitt/apigroup-partial-discovery
Automatic merge from submit-queue (batch tested with PRs 61306, 60270, 62496, 62181, 62234). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Handle partial group and resource responses consistently

GetAPIGroupResources tolerates partial discovery responses to provide as much information to the caller as possible.

Before skipping a particular error response, check whether the response was accompanied by partial group or resource data.

There's an existing TODO to propagate partial errors that I plan to address in a follow-up, but that had more ripples and I wanted to correct this first.

```release-note
NONE
```

Kubernetes-commit: 7ba97b9200a9cab45f59a81ab8b44fca8ee863eb
2018-04-13 22:21:40 +00:00
Michael Taufen
c7cdeca31f update godeps to use latest pflag
Kubernetes-commit: b02f116172faf26f57be1fa113d3a9da1af6f196
2018-04-12 17:12:43 -07:00
Kubernetes Publisher
92a7e05901 Merge pull request #62273 from atlassian/dont-log-when-error-returned
Automatic merge from submit-queue (batch tested with PRs 62273, 62461). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Don't log when error returned

**What this PR does / why we need it**:
Both logging and returning an error is an antipattern. If the caller wants it logged they will log it. And in this case it will be logged twice which is very confusing for debugging.

**Release note**:
```release-note
NONE
```
/kind cleanup
/sig api-machinery

Kubernetes-commit: 0b5fa0b94a2e147ddae2278623c89648c211d229
2018-04-12 14:22:03 +00:00
David Eads
e302dbfef5 stop defaulting kubeconfig to http://localhost:8080
Kubernetes-commit: b19ad9e7a78fea0ecdffe7aa53bbe309d9d346ee
2018-04-12 09:42:25 -04:00
Minhan Xia
6f353b5328 add Patch support in fake kubeClient
Kubernetes-commit: 8b3b4e4deabe4cf922eee752df2fad189b2c1471
2018-04-11 11:37:30 -07:00
Ben Keith
616d41b047 Fixing Update Function in FakeCustomStore
Kubernetes-commit: 85ec3ed24364fad9cd3472713762a02f58b264a6
2018-04-11 11:00:57 -04:00
Kubernetes Publisher
dd92f6b113 Merge pull request #58752 from puja108/patch-1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Updated Readme for Azure (OIDC) auth provider

**What this PR does / why we need it**:
When trying this documentation in the field, I ran into some issues based on details missing here. I got it working in the end with some help from @stuartleeks from Microsoft, this PR is to help others trying to set this up not have the same question marks I had.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
None AFAIK

**Special notes for your reviewer**:
Includes:
* Added details and clarifications based on my experience
* Some minor copy editing

Not sure if this requires release notes, I consider it a very small change.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 99e77a76be66ce300ead09d1fe1e6300dc274d6d
2018-04-11 14:21:56 +00:00
Kubernetes Publisher
94b05e5087 Merge pull request #62074 from liggitt/scale-mapper
Automatic merge from submit-queue (batch tested with PRs 60197, 61614, 62074, 62071, 62301). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Narrow interface consumed by scale client

The scale client only uses a single method of the rest mapper, and only for preferred resource version (no resource/kind lookup or translation)

Narrow the specified interface to make it clear what function is actually required.

```release-note
NONE
```

Kubernetes-commit: f0de9af79b27b39c39bac6c3ad82d74db4c36c85
2018-04-10 18:21:45 +00:00
Kubernetes Publisher
e7bf2d1742 Merge pull request #61809 from hzxuzhonghu/corev1-api-delete
Automatic merge from submit-queue (batch tested with PRs 60692, 61809). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove ObjectMeta and *Options from core api

remove ObjectMeta and *Options from core api

Fixes #61807

**Special notes for your reviewer**:

**Release note**:

```release-note
Remove `ObjectMeta ` `ListOptions` `DeleteOptions` from core api group.  Please use that in meta/v1
```

Kubernetes-commit: 7931930ff71ed27bdcd582c69c5b61fae18a6c15
2018-04-09 22:22:53 +00:00
Mikhail Mazurskiy
766b12e75a Re-generate clientsets
Kubernetes-commit: c3e57fceb3d94ef96066ff744e704e9b7a625e52
2018-04-09 19:12:47 +10:00
Jordan Liggitt
bc399996ff Handle partial group and resource responses consistently
Kubernetes-commit: e203c4e42b9037a6800dbc0dc433c63fc8cf7516
2018-04-06 22:42:34 -04:00
Kubernetes Publisher
b7d03ad8c6 Merge pull request #61400 from natronq/master
Automatic merge from submit-queue (batch tested with PRs 61400, 61048). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

code-gen: allow specifying custom resync periods for certain informer types

**What this PR does / why we need it**:
This PR extends the informer code-generator to allow the consumer to specify a custom resync period for certain informer types and uses the default resync period if none is defined.

**Special notes for your reviewer**:
Example:
```go
cs := clientset.NewForConfigOrDie(config)
resyncConfig := externalversions.ResyncConfiguration{
  &samplev1alpha1.Sample{}: 30 * time.Second,
}
informer := externalversions.NewSharedInformerFactory(cs, 2*time.Minute, externalversions.WithCustomResyncConfig(resyncConfig))
```
**Release note**:

```release-note
NONE
```

Kubernetes-commit: 7daaa826d291c1501a52177c3e14b00c503c8527
2018-04-06 22:59:03 +00:00
Kubernetes Publisher
47c485781f Merge pull request #59970 from anubhakushwaha/Update_deployment_example
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Updated the "create-update-delete-deployment" example to use apps/v1 and removed rollback example

**What this PR does / why we need it**:

*Waiting for migration to apps/v1*
> The current example at [create-update-delete-deployment/main.go](https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/examples/create-update-delete-deployment/main.go) was using `RollbackTo` of `v1beta1.DeploymentSpec` which is deprecated.

The current implementation upgrades `create-update-delete-deployment` main.go to use **apps/v1** instead of **extensions/v1beta1** and removed rollback example for now.

**Which issue(s) this PR fixes**
Helps kubernetes/client-go#346

**Special notes for your reviewer**:
Since it's my first PR dealing with codebase and not a typo fix :xD please let me know my mistakes.
I would love to resolve them.

@nikhita @sttts @jekohk Please review. The other PR #59663  got closed accidentally while changing branch.

Kubernetes-commit: 6dfcaabe849938a475bcacf5c29f43d4e350e751
2018-04-06 10:59:57 +00:00
Kubernetes Publisher
f2e4bfdd42 Merge pull request #62037 from cblecker/godep-bump
Automatic merge from submit-queue (batch tested with PRs 61959, 62037). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump godep version to v80

**What this PR does / why we need it**:
Update the minimum godep, to v80 (supposed to be the final version).

**Release note**:
```release-note
NONE
```

Kubernetes-commit: 22440e15764e2d821166eff5b965786fa928357e
2018-04-06 10:59:37 +00:00
Kubernetes Publisher
94607b9cd4 Merge pull request #61800 from rithujohn191/remove-gopass
Automatic merge from submit-queue (batch tested with PRs 61818, 61800). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Replace gopass.GetPasswdMasked() by terminal.ReadPassword()

**What this PR does / why we need it**:
Replace `gopass.GetPasswdMasked()` used for reading passwords from the terminal with [`terminal.ReadPassword()`](https://godoc.org/golang.org/x/crypto/ssh/terminal#ReadPassword). This removes the `gopass` import.

**Special notes for your reviewer**:
Ran the following commands to update `godep` files:
```
./hack/godep-restore.sh -v
./hack/godep-save.sh
./hack/update-staging-godeps.sh
./hack/update-bazel.sh
```

/sig auth
/kind enhancement
/assign @ericchiang

```release-note
NONE
```

Kubernetes-commit: a5133305a9f347c79c20c5785d41cc9400be895e
2018-04-06 10:59:18 +00:00
Kubernetes Publisher
053ad44d48 Merge pull request #61380 from tossmilestone/patch-1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix broken link

**What this PR does / why we need it**:
Fix broken link for `versioning.md`

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
None

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```

Kubernetes-commit: d371be33f7840737dc2978ab16e5ea07e9a37e7e
2018-04-06 10:58:57 +00:00
Kubernetes Publisher
bf48af0146 Merge pull request #61949 from liggitt/tolerate-openapi
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Tolerate 406 mime-type errors attempting to load new openapi schema

Fixes #61805
Fixes #61943

```release-note
kubectl: improves compatibility with older servers when creating/updating API objects
```

Kubernetes-commit: 66100690bc157fa6bdc67f93daf8d72aedb84e0b
2018-04-06 10:58:56 +00:00
Kubernetes Publisher
8c732d02e9 Merge pull request #61894 from atlassian/misc-cleanups
Automatic merge from submit-queue (batch tested with PRs 61894, 61369). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use range in loops; misc fixes

**What this PR does / why we need it**:
It is cleaner to use `range` in for loops to iterate over channel until it is closed.

**Release note**:
```release-note
NONE
```
/kind cleanup

Kubernetes-commit: 7ce753aa73a42d8a8696659e345e173d15cce622
2018-04-06 10:58:56 +00:00
natronq
7ce05d76de Run hack/update-codegen.sh
Kubernetes-commit: a923acd0420c26bd9321eae058a7f94226dd6e64
2018-04-05 14:00:02 +02:00
Clayton Coleman
caf2e70aa1 When bootstrapping a client cert, store it with other client certs
The kubelet uses two different locations to store certificates on
initial bootstrap and then on subsequent rotation:

* bootstrap: certDir/kubelet-client.(crt|key)
* rotation:  certDir/kubelet-client-(DATE|current).pem

Bootstrap also creates an initial node.kubeconfig that points to the
certs. Unfortunately, with short rotation the node.kubeconfig then
becomes out of date because it points to the initial cert/key, not the
rotated cert key.

Alter the bootstrap code to store client certs exactly as if they would
be rotated (using the same cert Store code), and reference the PEM file
containing cert/key from node.kubeconfig, which is supported by kubectl
and other Go tooling. This ensures that the node.kubeconfig continues to
be valid past the first expiration.

Kubernetes-commit: 368959346af6e06085c63a4cc7c37839f262f636
2018-04-04 21:56:15 -04:00
Dr. Stefan Schimanski
991626bd9b Merge pull request #391 from nikhita/update-readme-7.0.0
Update README to reflect 7.0.0 release
2018-04-03 22:16:03 +02:00
Jordan Liggitt
8048d500b5 Narrow interface consumed by scale client
Kubernetes-commit: d8b69a0a65ad40523f621f11ac296624b4d976b5
2018-04-03 14:34:04 -04:00
Nikhita Raghunath
1de93b50ae Update README to reflect 7.0.0 release 2018-04-03 13:55:32 +05:30
Dr. Stefan Schimanski
555a8ece70 Merge pull request #389 from nikhita/changelog-7.0.0
Add client-go 7.0.0 changelog
2018-04-03 10:04:28 +02:00
Nikhita Raghunath
5cffd7d5c9 Add client-go 7.0.0 changelog 2018-04-03 13:16:13 +05:30
Christoph Blecker
a76f387856 Update godep in vendor
Kubernetes-commit: 0828b1999663573b17ded671b7eb89e14faeb4a8
2018-04-02 12:57:41 -07:00
Mikhail Mazurskiy
9446f4ef9d Stop() for Ticker to enable leak-free code
Kubernetes-commit: 1f393cdef96fe6e4ddcbf93825d65a9980463406
2018-03-31 19:41:43 +11:00
Jordan Liggitt
13a6e8222e Tolerate 406 mime-type errors attempting to load new openapi schema
Kubernetes-commit: 51fb861b42dbac5b0037e525c4b8bfd9db48675c
2018-03-30 14:20:35 -04:00
rithu john
88ed8939d1 *: godep generated code
Kubernetes-commit: 742bb5ea39ed786e565f48d6a2077c848f046783
2018-03-29 17:23:35 -07:00
rithu john
e3815ad762 tools/clientcmd: Remove gopass import
Kubernetes-commit: 7dc8b91aee8eae60df430f4280a575ee569fcac9
2018-03-29 17:21:51 -07:00
Mikhail Mazurskiy
37d44da37d Use range in loops; misc fixes
Kubernetes-commit: c23a8a85cce80a1015797e9c76aae709d9910791
2018-03-29 22:55:25 +11:00
Kubernetes Publisher
88e8ea169a Merge pull request #61790 from deads2k/cli-21-scaler
Automatic merge from submit-queue (batch tested with PRs 61790, 61808, 60339, 61615, 61757). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

make reapers tolerate 404s on scaling down

fixes https://github.com/kubernetes/kubernetes/issues/61748

This fixes the scale client to return the actual API error, not a wrapped one.  It also updates scalers to do the same.  Then it fixes the reapers to tolerate 404s, since that means they achieved their objective.

/assign @janetkuo
/assign @p0lyn0mial

```release-note
NONE
```

Kubernetes-commit: dea3c0a610ebe55ba94e1b7841644b8a0930e770
2018-03-28 18:54:41 +00:00
hzxuzhonghu
0d7e95ff3b remove deprecated ObjectMeta ListOptions DeleteOptions
Kubernetes-commit: 599a44a92d43a807b994be89aa897e1a3081f369
2018-03-28 10:31:41 +08:00
David Eads
48231725ad make reapers tolerate 404s on scaling down
Kubernetes-commit: 1272fda2990b4bafdb72bdbf4acdc400fe1addd1
2018-03-27 14:44:17 -04:00
Kubernetes Publisher
8ae4a66b9b Merge pull request #61195 from grantr/use-race-free-fake-watcher
Automatic merge from submit-queue (batch tested with PRs 61195, 61479). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use RaceFreeFakeWatcher in ObjectTracker to fix racy watch panics

**What this PR does / why we need it**:

The `FakeWatcher` added to `ObjectTracker` in #57504 allows sends on the result channel after it's closed; for example calling `Stop()` then `Add(obj)` will cause a panic. In my experience this has led to flaky tests when informers and controllers are running.

Replacing `FakeWatcher` with `RaceFreeFakeWatcher` fixes the problem, since `RaceFreeFakeWatcher` ignores additional events that occur after the watcher is stopped. It also panics instead of blocking when the result channel is full, which seems like a more useful behavior in tests than blocking.

I removed the `FakeWatchBufferSize` constant since `RaceFreeFakeWatcher` doesn't take a buffer size argument anymore. This seems fine since the `DefaultChanSize` constant is close to the `FakeWatchBufferSize` value (100 vs 128).

**Special notes for your reviewer**:

I can provide a minimal repro of a flaky test caused by the earlier behavior if necessary.

**Release note**:
```release-note
Fix racy panics when using fake watches with ObjectTracker
```

Kubernetes-commit: f8981147e2fe01c3af6bbefa12be4e4c8d63acbc
2018-03-27 18:33:05 +00:00
Kubernetes Publisher
d74b6802c2 Merge pull request #61287 from deads2k/client-03-clientconfig
Automatic merge from submit-queue (batch tested with PRs 61644, 61624, 61743, 61019, 61287). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

provide easy methods for direct kubeconfig loading from bytes

Adds a `RESTConfigFromKubeConfig([]byte)` method for taking a kubeconfig and getting back the rest.Config.  There are ways to do this now, but it takes a fair amount of wiring that is a pain.

As kube starts dropping `--master` flags from its commands, it will be able to use this.  For current consumers, this will be a big simplification.

```release-note
NONE
```

Kubernetes-commit: 90c09c75d67831ad46cc0c9abb954b6936ca86b3
2018-03-27 14:32:47 +00:00
Kubernetes Publisher
ae5d73243c Merge pull request #60455 from p0lyn0mial/reapers_clean_up
Automatic merge from submit-queue (batch tested with PRs 60455, 61365, 61375, 61597, 61491). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

removes custom scalers from kubectl

**What this PR does / why we need it**: this PR removes custom scalers from kubectl and uses the genericScaler instead.

**Release note**:

```
NONE
```

Kubernetes-commit: eda9fab0032b9cfbd8b55ab07a16fe35e921f775
2018-03-27 02:32:44 +00:00
Kubernetes Publisher
b9a0cf870f Merge pull request #60563 from hzxuzhonghu/replace-context
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Replace package "golang.org/x/net/context" with "context"

**What this PR does / why we need it**:
Replace package "golang.org/x/net/context" with "context"

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #60560

**Special notes for your reviewer**:
As of Go 1.7 this package(golang.org/x/net/context) is available in the standard library under the name context. see (https://godoc.org/golang.org/x/net/context)

It is almost machinery replace.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 915798d229b7be076d8e53d6aa1573adabd470d2
2018-03-24 02:33:38 +00:00
Kubernetes Publisher
30089d3674 Merge pull request #60373 from sttts/sttts-1.10-cfssl
Automatic merge from submit-queue (batch tested with PRs 60373, 61098, 61352, 61359, 61362). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump cfssl to be compatible with Go 1.10

Kubernetes-commit: ef3539e69e4c897f48ecd6b2dd73417ce0416b08
2018-03-22 06:33:12 +00:00
Kubernetes Publisher
01eabee364 Merge pull request #59172 from fisherxu/removeyear
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove YEAR field of all generated files and fix kubernetes boilerplate checker

**What this PR does / why we need it**:
Remove YEAR field of all generated files and fix kubernetes boilerplate checker
xref: [remove YEAR fileds in gengo #91](https://github.com/kubernetes/gengo/pull/91)

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes [#gengo/issues/24](https://github.com/kubernetes/gengo/issues/24)

**Special notes for your reviewer**:
/cc @thockin @lavalamp @sttts

**Release note**:

```release-note
NONE
```

Kubernetes-commit: e40ffd71972b820aeed283946e880aa2479f8524
2018-03-21 22:33:02 +00:00
Kubernetes Publisher
cc0ac3c0b2 Merge pull request #60925 from aleksandra-malinowska/debug-curl-fix
Automatic merge from submit-queue (batch tested with PRs 60696, 60876, 60901, 60925, 60428). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Improve debug curl command

When logging debug curl command, add single quotes around URL and headers. This prevents quietly removing any parameters after '&' when running resulting command and improves formatting.

```release-note
NONE
```

Kubernetes-commit: de1a0e3249b67cd72c1a412a2688f693a0201b70
2018-03-20 22:32:31 +00:00
Kubernetes Publisher
e50cb60ce9 Merge pull request #60901 from ixdy/client-go-bazel
Automatic merge from submit-queue (batch tested with PRs 60696, 60876, 60901, 60925, 60428). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

client-go/util/cert go_library shouldn't depend on testdata

**What this PR does / why we need it**: 981dd8dc66 (diff-eb996d3ca3a215d7d93faaaffb77dbd7) accidentally added a testdata dependency on the go_library rule, rather than the go_test. This breaks vendoring of this rule into other bazel projects that prune out tests and testdata.

Only the unit test depends on testdata, so the BUILD file should reflect that, too.

x-ref https://github.com/kubernetes/test-infra/pull/6835#discussion_r173010769

**Release note**:

```release-note
NONE
```

cc @BenTheElder @krzyzacy

Kubernetes-commit: 7543ddde4c06af80a992c4d64dd3fcef633e5be7
2018-03-20 22:32:13 +00:00
Kubernetes Publisher
51a3ecb2eb Merge pull request #60855 from cheftako/local-up
Automatic merge from submit-queue (batch tested with PRs 60710, 60855, 60873, 60895, 60862). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix local cluster leaking memory.

**What this PR does / why we need it**:
Local cluster is leaking memory due to mutation detector being enabled.
In addition there is no warning in the logs that this could be the
issue.
Added a log warning when this feature is enabled to make debugging this
issue easier for other cases of this.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #60854

**Special notes for your reviewer**:

**Release note**:
```release-note
None
```

Kubernetes-commit: e6ba628b072f37cbc0e35c70c2063dbc24cbb1a7
2018-03-20 18:33:21 +00:00
Kubernetes Publisher
4f2b10cdd3 Merge pull request #60489 from yue9944882/remove-redundant-fake-discovery
Automatic merge from submit-queue (batch tested with PRs 59637, 60611, 60788, 60489, 60687). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove redundant fake discovery code

**Special notes for your reviewer**:
This PR removes fake discovery from `testing` package.
It is already moved to:
[9c57bf74b3/staging/src/k8s.io/client-go/discovery/fake/discovery.go (L34))

**Release note**:

```release-note

```

Kubernetes-commit: e2f6bd672d39d0a669bb3b58611e61808f9d2560
2018-03-20 14:35:08 +00:00
hangaoshuai
e39ef65572 catch err when Watch testResource failed in func TestWatchCallNonNamespace
Kubernetes-commit: c63e22eea56c2ba3c24a284505fbe869b7678e14
2018-03-20 16:35:41 +08:00
Kubernetes Publisher
484f278924 Merge pull request #53880 from wackxu/kubeconfig
Automatic merge from submit-queue (batch tested with PRs 51423, 53880). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

prevent the same path load multiple times

**What this PR does / why we need it**:

prevent the same path load multiple times,if there are several same path, we only load one time

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #53723

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: eefd72557ef7ce008e2138ca7d91f6a8d8634f73
2018-03-20 05:19:18 +00:00
Shaw Ho
de2cf6fb9a Fix broken link
Kubernetes-commit: 9b278d20e36edb9f53cb697c3ed771c42ddb8bb3
2018-03-20 11:08:06 +08:00
David Eads
44608c3c9d provide easy methods for direct kubeconfig loading from bytes
Kubernetes-commit: 8eec665ecce5e91f858c4f4b92a5e7b674798b2f
2018-03-16 12:28:50 -04:00
Kubernetes Publisher
fff8c3d73e sync: initially remove files BUILD */BUILD BUILD.bazel */BUILD.bazel 2018-03-15 09:19:38 +00:00
Grant Rodgers
949db79a1d Use RaceFreeFakeWatcher in ObjectTracker
The FakeWatcher allows sends on the result channel after it's closed,
for example calling Stop() then Add() will panic. RaceFreeFakeWatcher
checks whether the watcher is stopped before attempting to send. It also
panics instead of blocking when the result channel is full.

Kubernetes-commit: b84ad8828b6ffe0dd289f69e395968eabb9fbeaa
2018-03-14 11:38:19 -07:00
Jeff Grafton
da4f265a76 client-go/util/cert go_library shouldn't depend on testdata
Kubernetes-commit: 4c60b776fcfce1fdda2bd4698b3962faefae0306
2018-03-07 14:48:53 -08:00
Aleksandra Malinowska
c1e13e8dbf Improve debug curl command
Kubernetes-commit: 42f756aeb01a6ce90ff56a0b07cb4bb5ab2c602b
2018-03-07 13:33:14 +01:00
Kubernetes Publisher
a3c9a30b35 Merge pull request #60805 from ericchiang/oidc-owners
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

oidc: add rithujohn191 as a reviewer

cc @rithujohn191

/sig auth
/kind documentation

```release-note
NONE
```

Kubernetes-commit: f196b7c7523dbf0d6ed703a93af73f54e9d2e42c
2018-03-07 02:46:57 +00:00
Walter Fender
cafb570f17 Fix local cluster leaking memory.
Local cluster is leaking memory due to mutation detector being enabled.
In addition there is no warning in the logs that this could be the
issue.
Added a log warning when this feature is enabled to make debugging this
issue easier for other cases of this.
Fixed import ordering as per @liggitt

Kubernetes-commit: 07ba609b50d6f00c52acbfd6eaa43e6b527c5c2d
2018-03-06 13:03:30 -08:00
Eric Chiang
606eb1e931 oidc: add rithujohn191 as a reviewer
Kubernetes-commit: 3561f23128a35a53256e541776eea1a7c3437c11
2018-03-05 10:44:33 -08:00
David Eads
f8d192aa24 deep copy fake client actions to avoid accidental mutation
Kubernetes-commit: 9ef99d189f2e454a293b8c343fee173c876ed21f
2018-03-02 09:19:52 -05:00
Kubernetes Publisher
2f45bcbf57 Merge pull request #59495 from ericchiang/client-auth-exec
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 client-go: add an exec-based client auth provider

Updates https://github.com/kubernetes/features/issues/541
Implements https://github.com/kubernetes/community/pull/1503
Closes https://github.com/kubernetes/kubernetes/issues/57164

```release-note
client-go: alpha support for exec-based credential providers
```

/sig auth
/kind feature

Kubernetes-commit: cb9d6b51556a1677f262e35e4aded0051c424818
2018-03-01 09:09:51 +00:00
Kubernetes Publisher
d902e7da4b Merge pull request #60291 from hzxuzhonghu/cloud-cm-use-healthz
Automatic merge from submit-queue (batch tested with PRs 60376, 55584, 60358, 54631, 60291). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

cloud-controller-manager get /healthz to wait for apiserver to be healthy

**What this PR does / why we need it**:

currently cloud-controller-manager use `restclient.ServerAPIVersions()` to wait for apiserver to be healthy.
Remove ServerAPIVersions and make use of /healthz as all other components do.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #60288

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: b8c5bcf48a8852ba7f859a06ce35eac3d8fffafa
2018-02-28 13:08:55 +00:00
root
baacc24498 fix persist typo
Kubernetes-commit: 284d08bf7032a94b568a95d6de1e13d8c0ac5bc2
2018-02-28 19:11:35 +08:00
Kubernetes Publisher
dce0331f19 Merge pull request #60446 from cblecker/no-dep-reviewer
Automatic merge from submit-queue (batch tested with PRs 59365, 60446, 60448, 55019, 60431). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove dep-reviewers

**What this PR does / why we need it**:
The dep-reviewers group seems to get assigned PRs early the the review process. However, most code changes should be reviewed in the importing part of the code base first, and then assigned to an approver after.

By removing the reviewers group, the approvers plugin will still suggest assigning to an approver, but won't assign for review when the PR is initially opened.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 724a2f968c6981efc9f5a85e4ad60f56e1c0902f
2018-02-28 05:09:26 +00:00
hzxuzhonghu
1e55c20903 Replace "golang.org/x/net/context" with "context"
Kubernetes-commit: 70e45eccf27726f0e63dd1024924ccc7e2cd35a0
2018-02-28 12:20:22 +08:00
Kubernetes Publisher
be4c601dfc Merge pull request #59674 from jennybuckley/codegen
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

code-gen: output golint compliant 'Generated by' comment

New PR instead of reopening #58115 because /reopen did not work.
This won't be ready to merge until the upstream https://github.com/kubernetes/gengo/pull/94 merges. Once that merges, the second commit will be changed to godep-save.sh and update-staging-godeps.sh, and the last commit will be changed to update-all.sh

The failing test is due to the upstream changes not being merged yet

```devel-release-note
Go code generated by the code generators will now have a comment which allows them to be easily identified by golint
```

Fixes #56489

Kubernetes-commit: 1eb1c00c44f8f597b9b23a05cd0a8da205c87f8a
2018-02-27 13:08:48 +00:00
Kubernetes Publisher
601d858a59 Merge pull request #59725 from wgliang/master.vet
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix some syntax related errors

**What this PR does / why we need it**:
fix some syntax related errors

**Special notes for your reviewer**:
None

```release-note
NONE
```

Kubernetes-commit: effa021db773fb95c9e8fbe5646d01784bb2f7f6
2018-02-27 13:08:31 +00:00
yue9944882
d89f1e4c08 remove redundant fake discovery code
Kubernetes-commit: 38243460fa272a5503b7c1b43655d09caa65dd1c
2018-02-27 17:34:08 +08:00
Kubernetes Publisher
fbdccbf09b Merge pull request #59293 from roycaihw/openapi_endpoint
Automatic merge from submit-queue (batch tested with PRs 60011, 59256, 59293, 60328, 60367). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Serve OpenAPI spec with single /openapi/v2 endpoint

**What this PR does / why we need it**:
We are deprecating format-separated endpoints (`/swagger.json`, `/swagger-2.0.0.json`, `/swagger-2.0.0.pb-v1`, `/swagger-2.0.0.pb-v1.gz`) for OpenAPI spec, and switching to a single `/openapi/v2` endpoint in Kubernetes 1.10. The design doc and deprecation process are tracked at: https://docs.google.com/document/d/19lEqE9lc4yHJ3WJAJxS_G7TcORIJXGHyq3wpwcH28nU

Requested format is specified by setting HTTP headers

header | possible values
-- | --
Accept | `application/json`, `application/com.github.proto-openapi.spec.v2@v1.0+protobuf`
Accept-Encoding | `gzip`

This PR changes dynamic_client (and kubectl as a result) to use the new endpoint. The old endpoints will remain in 1.10 and 1.11, and get removed in 1.12.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
action required: Deprecate format-separated endpoints for OpenAPI spec. Please use single `/openapi/v2` endpoint instead.
```

/sig api-machinery

Kubernetes-commit: d6153194d929ad6c036d5bbbf67a6f892e75feb5
2018-02-27 09:09:17 +00:00
Kubernetes Publisher
c819d66f53 Merge pull request #59958 from ixdy/bzl-boilerplate
Automatic merge from submit-queue (batch tested with PRs 50724, 59025, 59710, 59404, 59958). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Require boilerplate on Bazel Skylark source files

**What this PR does / why we need it**: `.bzl` files are also source code, so they should probably have the boilerplate text too.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 5e10b13f7e745f767a1e2f4b261d84a67e318048
2018-02-27 09:08:54 +00:00
jennybuckley
50244542bb Run hack/update-all.sh
Kubernetes-commit: c8dacd8e631f59ef158c79156d77a99fd2a632cc
2018-02-26 17:16:14 -08:00
Kubernetes Publisher
9132b13e95 Merge pull request #59159 from roycaihw/dfifo
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add comments about potential race in delta fifo

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/sig api-machinery

Kubernetes-commit: 0394ffba6de860ece173a9a485d3518d3a8d37f2
2018-02-27 01:10:15 +00:00
Kubernetes Publisher
93d55aca08 Merge pull request #59966 from liggitt/self-signed-ca
Automatic merge from submit-queue (batch tested with PRs 59463, 59719, 60181, 58283, 59966). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Split self-signed cert and CA

The key usage limitation of TLS Server Auth makes the cert invalid as a CA.

This switches to generate a single-use CA, uses it to sign the serving cert, then appends the CA to the cert bytes.

* allows a client to continue to reference the cert file as a trust bundle, which now contains a valid CA cert
* continues to keep the generated certificate valid only for serving purposes

Fixes https://github.com/kubernetes/client-go/issues/311

```release-note
NONE
```

Kubernetes-commit: 5d144152e4d07f3752c05ec24e31d840adcd90a2
2018-02-27 01:09:57 +00:00
Kubernetes Publisher
8b0c96689a Merge pull request #55168 from nikhita/customresources-subresources
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiextensions: add subresources for custom resources

Fixes #38113
Fixes #58778

**Related**:
- Proposal: https://github.com/kubernetes/community/pull/913
- For custom resources to work with `kubectl scale`: https://github.com/kubernetes/kubernetes/pull/58283

**Add types**:

- Add `CustomResourceSubResources` type to CRD.
    - Fix proto generation for `CustomResourceSubResourceStatus`: https://github.com/kubernetes/kubernetes/pull/55970.
- Add feature gate for `CustomResourceSubResources`.
    - Update CRD strategy: if feature gate is disabled, this feature is dropped (i.e. set to `nil`).
- Add validation for `CustomResourceSubResources`:
    - `SpecReplicasPath` should not be empty and should be a valid json path under `.spec`. If there is no value under the given path in the CustomResource, the `/scale` subresource will return an error on GET.
    - `StatusReplicasPath` should not be empty and should be a valid json path under `.status`. If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource will default to 0.
    - If present, `LabelSelectorPath` should be a valid json path. If there is no value under `LabelSelectorPath` in the CustomResource, the status label selector value in the `/scale` subresource will default to the empty string.
    - `ScaleGroupVersion` should be `autoscaling/v1`.
    - If `CustomResourceSubResources` is enabled, only `properties` is allowed under the root schema for CRD validation.

**Add status and scale subresources**:

- Use helper functions from `apimachinery/pkg/apis/meta/v1/unstructured/helpers.go`.
    - Improve error handling: https://github.com/kubernetes/kubernetes/pull/56563, https://github.com/kubernetes/kubernetes/pull/58215.
- Introduce Registry interface for storage.
- Update storage:
    - Introduce `CustomResourceStorage` which acts as storage for the custom resource and its status and scale subresources. Note: storage for status and scale is only enabled when the feature gate is enabled _and_ the respective fields are enabled in the CRD.
    - Introduce `StatusREST` and its `New()`, `Get()` and `Update()` methods.
    - Introduce `ScaleREST` and its `New()`, `Get()` and `Update()` methods.
        - Get and Update use the json paths from the CRD and use it to return an `autoscaling/v1.Scale` object.
- Update strategy:
    - In `PrepareForCreate`,
         - Clear `.status`.
         - Set `.metadata.generation` = 1
    - In `PrepareForUpdate`,
         - Do not update `.status`.
             - If both the old and new objects have `.status` and it is changed, set it back to its old value.
             - If the old object has a `.status` but the new object doesn't, set it to the old value.
             - If old object did not have a `.status` but the new object does, delete it.
         - Increment generation if spec changes i.e. in the following cases:
             - If both the old and new objects had `.spec` and it changed.
             - If the old object did not have `.spec` but the new object does.
             - If the old object had a `.spec` but the new object doesn't.
     - In `Validate` and `ValidateUpdate`,
        - ensure that values at `specReplicasPath` and `statusReplicasPath` are >=0 and < maxInt32.
        - make sure there are no errors in getting the value at all the paths.
    - Introduce `statusStrategy` with its methods.
        - In `PrepareForUpdate`:
            - Do not update `.spec`.
                - If both the old and new objects have `.spec` and it is changed, set it back to its old value.
                - If the old object has a `.spec` but the new object doesn't, set it to the old value.
                - If old object did not have a `.spec` but the new object does, delete it.
             - Do not update `.metadata`.
        - In `ValidateStatusUpdate`:
            - For CRD validation, validate only under `.status`.
            - Validate value at `statusReplicasPath` as above. If `labelSelectorPath` is a path under `.status`, then validate it as well.
- Plug into the custom resource handler:
    - Store all three storage - customResource, status and scale in `crdInfo`.
    - Use the storage as per the subresource in the request.
    - Use the validator as per the subresource (for status, only use the schema for `status`, if present).
    - Serve the endpoint as per the subresource - see `serveResource`, `serveStatus` and `serveScale`.
- Update discovery by adding the `/status` and `/scale` resources, if enabled.

**Add tests**:

- Add unit tests in `etcd_test.go`.
- Add integration tests.
    - In `subresources_test.go`, use the [polymporphic scale client](https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/client-go/scale) to get and update `Scale`.
    -  Add a test to check everything works fine with yaml in `yaml_test.go`.

**Release note**:

```release-note
`/status` and `/scale` subresources are added for custom resources.
```

Kubernetes-commit: 6e856480c05424b5cd2cfcbec692a801b856ccb2
2018-02-27 01:09:56 +00:00
Kubernetes Publisher
35f61b2f03 Merge pull request #60055 from mattkelly/fix-configmaplock-typos
Automatic merge from submit-queue (batch tested with PRs 60158, 60156, 58111, 57583, 60055). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix typos in configmaplock

**What this PR does / why we need it**:
Fixes some typos in `configmaplock.go`. Seems to be a combination of copy/paste errors from `endpointslock.go` and find/replace gone wrong.

**Release note**:
```release-note
NONE
```

Kubernetes-commit: 6be660a81eaa98ccae39ca4c968ea616b2adbecd
2018-02-27 01:09:56 +00:00
Kubernetes Publisher
37ccd13bb4 Merge pull request #58111 from mikedanese/id-registry
Automatic merge from submit-queue (batch tested with PRs 60158, 60156, 58111, 57583, 60055). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add support for /token subresource in serviceaccount registry

I'm planning on implementing the registry bits (this) in one PR and followup with an authenticator that supports new id tokens.

https://github.com/kubernetes/kubernetes/issues/58790

@kubernetes/sig-auth-pr-reviews

```release-note
NONE
```

Kubernetes-commit: 8b94ae8ca8d06bfc3c9b2f73daaca69840f86d2f
2018-02-27 01:09:55 +00:00
Kubernetes Publisher
f09bc8b437 Merge pull request #59316 from smarterclayton/terminate_early
Automatic merge from submit-queue (batch tested with PRs 58716, 59977, 59316, 59884, 60117). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Cap how long the kubelet waits when it has no client cert

If we go a certain amount of time without being able to create a client
cert and we have no current client cert from the store, exit. This
prevents a corrupted local copy of the cert from leaving the Kubelet in a
zombie state forever. Exiting allows a config loop outside the Kubelet
to clean up the file or the bootstrap client cert to get another client
cert.

Five minutes is a totally arbitary timeout, judged to give enough time for really slow static pods to boot.

@mikedanese

```release-note
Set an upper bound (5 minutes) on how long the Kubelet will wait before exiting when the client cert from disk is missing or invalid. This prevents the Kubelet from waiting forever without attempting to bootstrap a new client credentials.
```

Kubernetes-commit: 2bbaf430d8a22287ae6a85c6c0b5736a80269e81
2018-02-27 01:09:54 +00:00
Kubernetes Publisher
58d111d352 Merge pull request #58544 from ericchiang/oidc-v2
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

oidc authentication: switch to v2 of coreos/go-oidc

Switch to v2 of [coreos/go-oidc](https://github.com/coreos/go-oidc), which uses square/go-jose to verify tokens and supports more signing algorithms.

Most of this PR removes dependencies used by the older version of github.com/coreos/go-oidc, and updates vendor files.

This PR has been tested against tokens issued by Okta, Google, and CoreOS's dex.

Closes https://github.com/kubernetes/kubernetes/issues/57806

```release-note
kube-apiserver: the OpenID Connect authenticator can now verify ID Tokens signed with JOSE algorithms other than RS256 through the --oidc-signing-algs flag.
kube-apiserver: the OpenID Connect authenticator no longer accepts tokens from the Google v3 token APIs, users must switch to the "https://www.googleapis.com/oauth2/v4/token" endpoint.
```

cc @rithujohn191 @liggitt
cc @kubernetes/sig-auth-pr-reviews

Kubernetes-commit: cdbc4fbe20c94694bc25910d54a7de52a98b6650
2018-02-27 01:09:54 +00:00
Kubernetes Publisher
6c6051c8d6 Merge pull request #54933 from php-coder/psp_introduce_new_api_group
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Introduce PodSecurityPolicy in the policy/v1beta1 API group

Types/constants are completely the same as in `extensions/v1beta1` except that they are located outside of the `extensions` API group.

**What this PR does / why we need it**:
This is the first step for migrating PSP-related stuff away of `extensions` group. See #43214 for more information.

Also it related to https://github.com/kubernetes/features/issues/5

**Example**:
```console
$ cat restricted2.yaml
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: restricted2
...
$ kubectl create -f restricted.yaml
podsecuritypolicy "restricted2" created
$ kubectl get psp restricted2 -o yaml
apiVersion: extensions/v1beta1
kind: PodSecurityPolicy
...
```

**Release note**:
```release-note
The `PodSecurityPolicy` API has been moved to the `policy/v1beta1` API group. The `PodSecurityPolicy` API in the `extensions/v1beta1` API group is deprecated and will be removed in a future release.
```

Kubernetes-commit: f8298702ffe644a4f021e23a616ad6a8790a5537
2018-02-27 01:09:33 +00:00
Kubernetes Publisher
fd88764ee8 Merge pull request #59821 from dims/update-latest-gophercloud-1.10
Automatic merge from submit-queue (batch tested with PRs 59634, 59821, 57850, 59916, 60032). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update to latest gophercloud/gophercloud for 1.10

**What this PR does / why we need it**:

Looks like we end up with just the following change:
https://github.com/gophercloud/gophercloud/pull/730
(Prevent Recursive BuildRequestBody)

The full set of changes between the old and new SHA are here:
8e59687aa4...6da026c32e

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 77254255223774543cdf9941cd7c32f99da11261
2018-02-27 01:09:33 +00:00
Kubernetes Publisher
d3e282295f Merge pull request #59587 from cblecker/cblecker-vendor
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add cblecker to vendor OWNERS

**What this PR does / why we need it**:
Adds myself to vendor OWNERS. I can help approve dep bumps of existing deps, and refer to Tim and new deps for license review.

**Release note**:
```release-note
NONE
```

/assign thockin

Kubernetes-commit: 852e7f7bfa43d1427706c59453e39f2de12a4f32
2018-02-27 01:09:08 +00:00
Kubernetes Publisher
8f6bac1a75 Merge pull request #59842 from ixdy/update-rules_go-02-2018
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 Update bazelbuild/rules_go, kubernetes/repo-infra, and gazelle dependencies

**What this PR does / why we need it**: updates our bazelbuild/rules_go dependency in order to bump everything to go1.9.4. I'm separating this effort into two separate PRs, since updating rules_go requires a large cleanup, removing an attribute from most build rules.

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 96ec3187180b9c1d722756b3ea0984ebe65424dc
2018-02-27 01:09:07 +00:00
Haowei Cai
0e3c65c3e9 Raise error on duplicate name in kubeconfig
for NamedCluster, NamedContext, NamedUser, NamedExtension

Kubernetes-commit: e9454a383b52c3909e7bb73a0263c4d2c0c2c2db
2018-02-26 15:58:33 -08:00
p0lyn0mial
40a18eb359 removes custom scalers from kubectl
Kubernetes-commit: 1f1d24005a6776d2aafbb7ca9f40807d8bc70434
2018-02-26 21:23:33 +01:00
Christoph Blecker
f8751c6847 Remove dep-reviewers
Kubernetes-commit: b97b9530f08d40a4346ea328d8a1047822fb92b7
2018-02-26 11:11:15 -08:00
Josh Horwitz
64101cbe6a Fixes fake client generation for non-namespaced subresources
Kubernetes-commit: 0f62a8cddac0a48506fc1b93f37da32530fd2358
2018-02-26 14:03:11 -05:00
Dr. Stefan Schimanski
4db3e53339 Update staging godeps
Kubernetes-commit: 6a381aa053af595568d985cf7c01b8377fd5914b
2018-02-26 09:04:21 +01:00
AnubhaKushwaha
c9a11b02aa Upgraded to apps/v1 and removed rollback example
Kubernetes-commit: 08c697283125dfa138746df4b286ce7574a9bed1
2018-02-25 14:32:58 +05:30
hzxuzhonghu
3fe103ad08 run update bazel
Kubernetes-commit: 8908c5d0a0538b473cbf1cd546967411da74ab75
2018-02-23 17:28:49 +08:00
hzxuzhonghu
ac9f9572cd remove unused rest/versions.go
Kubernetes-commit: 817176572dd86bc8d2c7f8741cd76ca32d685e86
2018-02-26 15:58:36 +08:00
Bryan Boreham
17d4c50f8a Remove unused function timeoutFromListOptions()
Kubernetes-commit: 2663fee405521b2cd5538583533f5d812bc3d996
2018-02-22 15:15:57 +00:00
Di Xu
a258223ae4 read openstack auth config from client config
Kubernetes-commit: 10201f3f2ae1841cb1a68ea420c94bf018ae6b24
2018-02-22 18:05:24 +08:00
Haowei Cai
31a3a561fc Discovery client and aggregator downloader use /openapi/v2 endpoint
Kubernetes-commit: 17917940b5dfc516834980f0493cc241bcac4ab2
2018-02-20 09:22:40 -08:00
Haowei Cai
b44779503f Bump kube-openapi to add new openapi endpoint
Kubernetes-commit: 8b38e080c4ddd3e1416a5fc4d45a3e4d2dbe1033
2018-02-20 09:21:41 -08:00
Matt Kelly
ae2f680955 Fix typos in configmaplock
Kubernetes-commit: b2342ae9d942af2f6bf572aeb71cce6acaac218b
2018-02-19 14:40:11 -05:00
Jeff Grafton
fca8bb2928 Autogenerated: hack/update-bazel.sh
Kubernetes-commit: ef56a8d6bb3800ab7803713eafc4191e8202ad6e
2018-02-16 13:43:01 -08:00
Slava Semushin
68725b77a4 Update generated files.
Kubernetes-commit: 29514f28834c3e462432afe293bd19bab8746783
2018-02-16 17:23:26 +01:00
Kubernetes Publisher
e00c8f23c0 Merge pull request #59353 from juanvallejo/jvallejo/update-name-printer-output
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

update name printer output to kind.group/name

**Release note**:
```release-note
NONE
```

Followup to https://github.com/kubernetes/kubernetes/pull/59227

Updates output via `-o name` to be pipeable.

cc @deads2k

Kubernetes-commit: bb500a73b618b40e8e5ef0955861183ebd325259
2018-02-16 13:05:48 +00:00
Jordan Liggitt
dd61bd2530 Split self-signed cert and CA
Kubernetes-commit: 3d3cde45b73ec31c81fadbfd494387d141858a40
2018-02-15 23:30:17 -05:00
Jeff Grafton
4c4a49fdd0 Require boilerplate on Bazel Skylark source files
Kubernetes-commit: 72a59f5826b8decf4395cd0b79896b4785a7bee8
2018-02-15 18:02:24 -08:00
Christoph Blecker
dcf48dd399 Re-add OWNERS files to Godeps/vendor dirs
Kubernetes-commit: 6fb2304f2a6da44e42985ed662d5f7f56215eec6
2018-02-15 13:31:02 -08:00
Kubernetes Publisher
3bf59c62ad Merge pull request #56717 from roycaihw/dynamic_subresource
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Dynamic client supports subresources

**What this PR does / why we need it**:
Allows `resource.name` to be a subresource which contains `"/"` in db2977fb11/staging/src/k8s.io/client-go/dynamic/client.go (L143)

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #49588

**Special notes for your reviewer**:
The change is backward compatible.

**Release note**:

```release-note
NONE
```

/sig api-machinery

Kubernetes-commit: f33e0b33f49676bb0be6a410ab98eecd3602bd0a
2018-02-14 21:56:44 +00:00
Kubernetes Publisher
5f85fe426e Merge pull request #59825 from dcbw/remove-deltafifo-compressor
Automatic merge from submit-queue (batch tested with PRs 59832, 59825). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove unused DeltaFIFO compressor argument to NewDeltaFIFO

Nobody uses it; the one or two older users from 1.4/1.5 timeframe
were removed for 1.6.  It's also poorly understood and the sole
example is in the testcases, and it's pretty incomplete.

If anyone really wants compression, they can revert this PR.

Earlier pull was https://github.com/kubernetes/kubernetes/pull/43475 which was blocked on some downstream users, which have now removed their usage of the compressor.

@ncdc @deads2k

```release-note
NONE
```

Kubernetes-commit: 5f7b530d87a426348ac7c8fa27f8079fd9445d70
2018-02-14 17:55:58 +00:00
Davanum Srinivas
39577c6be1 Update to latest gophercloud/gophercloud
Looks like we end up with the following changes:
1a43566306cb8cebad8cae85c67b15b3c254f316 - Prevent Recursive BuildRequestBody
debc1adf8e41fb5c5b7e2021a1be0b4d0c78318a - Networking v2: Create Floating IP with Subnet
1db95d798aa72ec12a6e60e40749cea56073d2fb - Compute v2: Add unit tests for Ephemeral field
0b8b348f5ad19aa4513ad9f8ad24f766a6623ad9 - compute: flavors: add Ephemeral attribute
8a6dfa8264e8b64523272c7a205e5f08bb6c118f - Compute v2: Flavor Access Remove (#688)
35ab3f13f69349f99ba8b9c9c36a7031ae2963dd - Flavor Extra Spec Update
800a4c0d57fbe8403b0bb6f13a8340c8fc990ad5 - Flavor Extra Spec Delete
be3fd7845c1928cbc5bbe289f2e39f5dec2e7278 - Flavor Extra Specs Create
c2cafb46bb409768f420742757949fd05fb1d704 - Flavor Extra Specs: List / Get (#686)
7b1b87753c31d4900587840774a019bbfa770698 - Compute v2: Flavor Access Add (#687)
1a43566306cb8cebad8cae85c67b15b3c254f316 - Prevent Recursive BuildRequestBody
debc1adf8e41fb5c5b7e2021a1be0b4d0c78318a - Networking v2: Create Floating IP with Subnet

The full set of changes between the old and new SHA are here:
8e59687aa4...6da026c32e

Kubernetes-commit: 375360312aa70595c3174f81f3320eb511aaf8f1
2018-02-13 13:29:15 -05:00
Mikhail Mazurskiy
ad39df114e Cancellable leader election with context
Kubernetes-commit: dc32a341c01ec122f54604e9fdbdf9b77d2e19e3
2018-02-12 21:02:56 +11:00
Mikhail Mazurskiy
79cc4033c7 Cancellable leader election with channels
Kubernetes-commit: 1d99fff1acb1503755b94d4c72e6dedd35c2d249
2018-02-12 20:48:53 +11:00
Wang Guoliang
d90294e8f9 should use time.Since instead of time.Now().Sub
Kubernetes-commit: 89669283fe84619f0c15af8495ccb28a752bb1e8
2018-02-11 21:17:00 +08:00
Wang Guoliang
a8dc497f30 fix some syntax related errors
Kubernetes-commit: d065157dd74fa02eec87f5849528b079a3736c3d
2018-02-11 19:50:49 +08:00
Haowei Cai
93a87a9af9 Dynamic client support subresource create/get/update/patch verbs
Kubernetes-commit: e10cdb3b0f42bafcdf1d1a95e6fb14cbfe2b4ab7
2018-02-07 16:04:02 -08:00
Eric Chiang
29c5d6f1b6 generated
Kubernetes-commit: 01801ae13a86c10cd343c329f5224ab47272f826
2018-02-07 15:48:46 -08:00
Eric Chiang
19c591bac2 client-go: add an exec-based client auth provider
Kubernetes-commit: 6463e9efd9ba552e60d2555a3e6526ef90196473
2018-02-07 15:43:12 -08:00
Mike Danese
d5f7182e00 add support for /token subresource in serviceaccount registry
Kubernetes-commit: 8ad1c6655bde4ca8d61c3574980cffce5ee937a5
2018-02-05 20:53:25 -08:00
tanshanshan
ef30f5779f fix info level message
Kubernetes-commit: 585f9c1af8314397e92ca3a46687255841ff8c97
2018-02-06 09:38:09 +08:00
juanvallejo
c4ff8ae9ca update -o name format to kind.group/name
Kubernetes-commit: 765f9ec68b0d0759e64d474f9dfb3bf22c24cadf
2018-02-05 11:21:00 -05:00
Cao Shufeng
a52532be7b fix assert.Equal argument order
Reference:
https://godoc.org/github.com/stretchr/testify/assert#Equal

Kubernetes-commit: f95bc9289d684d311c54ff66adc2dd50a4af8143
2018-02-04 15:14:55 +08:00
Clayton Coleman
b30485cc03 When using the bootstrap cert, update the store
Otherwise, the certificate store will return nil the first time a store
cert is accessed. When background rotation is being used, prevents the
client from being nil.

Kubernetes-commit: b81f4745546340f08abd3f877c585aac9581d0f0
2018-02-04 01:24:56 -05:00
Haowei Cai
3bf2cc9238 Add comments about potential race in delta fifo.
Kubernetes-commit: 8b03e77aec6fe9496edf51ba11d580c460e8fb5e
2018-01-31 15:22:09 -08:00
Puja
dcdb23334e Updated Readme for Azure (OIDC) auth provider
Includes:
* Added details and clarifications based on my experience
* Some minor copy editing

added note about resulting username

fixing last list item

clarficiation of resulting username

mainly just refering to OIDC docs

fixed comment about callback URL

Kubernetes-commit: 2709a7ee0d7d25463c9da00890a7b7db3e4419d1
2018-01-24 15:34:03 +01:00
fisherxu
3d181c7731 regenerated all files and remove all YEAR fields
Kubernetes-commit: b49ef6531c11f1c834e0d7591f5c965f6193c711
2018-01-22 20:37:53 +08:00
Eric Chiang
7776bd547a bump(github.com/coreos/go-oidc): 065b426bd41667456c1a924468f507673629c46b
Kubernetes-commit: 379af0405c318de9a009e339ee03a1d8ab0cde2f
2018-01-19 11:18:27 -08:00
Eric Chiang
9c19758757 oidc authentication: generate testdata and delete old test packages
Kubernetes-commit: 2d8cb9c4ad9a792ccfe5066f55e725ca50c77330
2018-01-19 11:15:38 -08:00
Nikhita Raghunath
5cf3fd5ef1 add subresources for custom resources
Kubernetes-commit: 6fbe8157e39f6bd7ad885a8a6f8614e2fe45dc5e
2017-11-06 18:19:15 +05:30
wackxu
1ae3aba19b prevent the same path load multiple times
Kubernetes-commit: 973e610787db8a9cee5da098e2f72672be817aa9
2017-10-12 10:19:28 +08:00
2430 changed files with 88385 additions and 297751 deletions

View File

@@ -1,2 +1,3 @@
Sorry, we do not accept changes directly against this repository. Please see
CONTRIBUTING.md for information on where and how to contribute instead.
Sorry, we do not accept changes directly against this repository, unless the
change is to the `README.md` itself. Please see
`CONTRIBUTING.md` for information on where and how to contribute instead.

View File

@@ -1,8 +0,0 @@
language: go
go_import_path: k8s.io/client-go
go:
- 1.8.1
script: go build ./...

View File

@@ -1,10 +1,582 @@
TODO: This document was manually maintained so might be incomplete. The
automation effort is tracked in
https://github.com/kubernetes/client-go/issues/234.
https://github.com/kubernetes/test-infra/issues/5843.
Changes in `k8s.io/api` and `k8s.io/apimachinery` are mentioned here
because `k8s.io/client-go` depends on them.
# v10.0.0
**Breaking Changes:**
* Action required: client-go will no longer have bootstrap
(`k8s.io/client-go/tools/bootstrap`) related code. Any reference to it will
break. Please redirect all references to `k8s.io/bootstrap` instead.
([#67356](https://github.com/kubernetes/kubernetes/pull/67356))
* The methods `NewSelfSignedCACert` and `NewSignedCert` now use `crypto.Signer`
interface instead of `rsa.PrivateKey` for certificate creation. This is done
to allow different kind of private keys (for example: ecdsa).
([#69329](https://github.com/kubernetes/kubernetes/pull/69329))
* `GetScale` and `UpdateScale` methods have been added for `apps/v1` clients
and with this, no-verb scale clients have been removed.
([#70437](https://github.com/kubernetes/kubernetes/pull/70437))
* `k8s.io/client-go/util/cert/triple` package has been removed.
([#70966](https://github.com/kubernetes/kubernetes/pull/70966))
**New Features:**
* `unfinished_work_microseconds` is added to the workqueue metrics.
It can be used to detect stuck worker threads (kube-controller-manager runs many workqueues.).
([#70884](https://github.com/kubernetes/kubernetes/pull/70884))
* A method `GetPorts` is added to expose the ports that were forwarded.
This can be used to retrieve the locally-bound port in cases where the input was port 0.
([#67513](https://github.com/kubernetes/kubernetes/pull/67513))
* Dynamic listers and informers, that work with `runtime.Unstructured` objects,
are added. These are useful for writing generic, non-generated controllers.
([68748](https://github.com/kubernetes/kubernetes/pull/68748))
* The dynamic fake client now supports JSONPatch.
([#69330](https://github.com/kubernetes/kubernetes/pull/69330))
* The `GetBinding` method is added for pods in the fake client.
([#69412](https://github.com/kubernetes/kubernetes/pull/69412))
**Bug fixes and Improvements:**
* The `apiVersion` and action name values for fake evictions are now set.
([#69035](https://github.com/kubernetes/kubernetes/pull/69035))
* PEM files containing both TLS certificate and key can now be parsed in
arbitrary order. Previously key was always required to be first.
([#69536](https://github.com/kubernetes/kubernetes/pull/69536))
* Go clients created from a kubeconfig that specifies a `TokenFile` now
periodically reload the token from the specified file.
([#70606](https://github.com/kubernetes/kubernetes/pull/70606))
* It is now ensured that oversized data frames are not written to
spdystreams in `remotecommand.NewSPDYExecutor`.
([#70999](https://github.com/kubernetes/kubernetes/pull/70999))
* A panic occuring on calling `scheme.Convert` is fixed by populating the fake
dynamic client scheme. ([#69125](https://github.com/kubernetes/kubernetes/pull/69125))
* Add step to correctly setup permissions for the in-cluster-client-configuration example.
([#69232](https://github.com/kubernetes/kubernetes/pull/69232))
* The function `Parallelize` is deprecated. Use `ParallelizeUntil` instead.
([#68403](https://github.com/kubernetes/kubernetes/pull/68403))
* [k8s.io/apimachinery] Restrict redirect following from the apiserver to
same-host redirects, and ignore redirects in some cases.
([#66516](https://github.com/kubernetes/kubernetes/pull/66516))
## API changes
**New Features:**
* GlusterFS PersistentVolumes sources can now reference endpoints in any
namespace using the `spec.glusterfs.endpointsNamespace` field.
Ensure all kubelets are upgraded to 1.13+ before using this capability.
([#60195](https://github.com/kubernetes/kubernetes/pull/60195))
* The [dynamic audit configuration](https://github.com/kubernetes/community/blob/master/keps/sig-auth/0014-dynamic-audit-configuration.md)
API is added. ([#67547](https://github.com/kubernetes/kubernetes/pull/67547))
* A new field `EnableServiceLinks` is added to the `PodSpec` to indicate whether
information about services should be injected into pod's environment variables.
([#68754](https://github.com/kubernetes/kubernetes/pull/68754))
* `CSIPersistentVolume` feature, i.e. `PersistentVolumes` with
`CSIPersistentVolumeSource`, is GA. `CSIPersistentVolume` feature gate is now
deprecated and will be removed according to deprecation policy.
([#69929](https://github.com/kubernetes/kubernetes/pull/69929))
* Raw block volume support is promoted to beta, and enabled by default.
This is accessible via the `volumeDevices` container field in pod specs,
and the `volumeMode` field in persistent volume and persistent volume claims definitions.
([#71167](https://github.com/kubernetes/kubernetes/pull/71167))
**Bug fixes and Improvements:**
* The default value of extensions/v1beta1 Deployment's `RevisionHistoryLimit`
is set to `MaxInt32`. ([#66605](https://github.com/kubernetes/kubernetes/pull/66605))
* `procMount` field is no longer incorrectly marked as required in openapi schema.
([#69694](https://github.com/kubernetes/kubernetes/pull/69694))
* The caBundle and service fields in admission webhook API objects now correctly
indicate they are optional. ([#70138](https://github.com/kubernetes/kubernetes/pull/70138))
# v9.0.0
**Breaking Changes:**
* client-go now supports additional non-alpha-numeric characters in UserInfo
"extra" data keys. It should be updated in order to properly support extra
data containing "/" characters or other characters disallowed in HTTP headers.
Old clients sending keys which were `%`-escaped by the user will have their
values unescaped by new API servers.
([#65799](https://github.com/kubernetes/kubernetes/pull/65799))
* `apimachinery/pkg/watch.Until` has been moved to
`client-go/tools/watch.UntilWithoutRetry`. While switching please consider
using the new `client-go/tools/watch.UntilWithSync` or `client-go/tools/watch.Until`.
([#66906](https://github.com/kubernetes/kubernetes/pull/66906))
* [k8s.io/apimachinery] `Unstructured` metadata accessors now respect omitempty semantics
i.e. a field having zero value will now be removed from the unstructured metadata map.
([#67635](https://github.com/kubernetes/kubernetes/pull/67635))
* [k8s.io/apimachinery] The `ObjectConvertor` interface is now changed such that
`ConvertFieldLabel` func takes GroupVersionKind as an argument instead of just
version and kind. ([#65780](https://github.com/kubernetes/kubernetes/pull/65780))
* [k8s.io/apimachinery] componentconfig `ClientConnectionConfiguration` is
moved to `k8s.io/apimachinery/pkg/apis/config`.
([#66058](https://github.com/kubernetes/kubernetes/pull/66058))
* [k8s.io/apimachinery] Renamed ` KubeConfigFile` to `Kubeconfig` in
`ClientConnectionConfiguration`.
([#67149](https://github.com/kubernetes/kubernetes/pull/67149))
* [k8s.io/apimachinery] JSON patch no longer supports `int`.
([#63522](https://github.com/kubernetes/kubernetes/pull/63522))
**New Features:**
* Add ability to cancel leader election.
This also proves useful in integration tests where the whole app is started and
stopped in each test. ([#57932](https://github.com/kubernetes/kubernetes/pull/57932))
* An example showing how to use fake clients in tests is added.
([#65291](https://github.com/kubernetes/kubernetes/pull/65291))
* [k8s.io/apimachinery] Create and Update now support `CreateOptions` and `UpdateOptions`.
([#65105](https://github.com/kubernetes/kubernetes/pull/65105))
**Bug fixes and Improvements:**
* Decrease the amount of time it takes to modify kubeconfig
files with large amounts of contexts.
([#67093](https://github.com/kubernetes/kubernetes/pull/67093))
* The leader election client now renews timeout.
([#65094](https://github.com/kubernetes/kubernetes/pull/65094))
* Switched certificate data replacement from `REDACTED` to `DATA+OMITTED`.
([#66023](https://github.com/kubernetes/kubernetes/pull/66023))
* Fix listing in the fake dynamic client.
([#66078](https://github.com/kubernetes/kubernetes/pull/66078))
* Fix discovery so that plural names are no longer ignored if a singular name is not specified.
([#66249](https://github.com/kubernetes/kubernetes/pull/66249))
* Fix kubelet startup failure when using `ExecPlugin` in kubeconfig.
([#66395](https://github.com/kubernetes/kubernetes/pull/66395))
* Fix panic in the fake `SubjectAccessReview` client when object is nil.
([#66837](https://github.com/kubernetes/kubernetes/pull/66837))
* Periodically reload `InClusterConfig` token.
([#67359](https://github.com/kubernetes/kubernetes/pull/67359))
* [k8s.io/apimachinery] Report parsing error in json serializer.
([#63668](https://github.com/kubernetes/kubernetes/pull/63668))
* [k8s.io/apimachinery] The `metav1.ObjectMeta` accessor does not deepcopy
owner references anymore. In general, the accessor interface does not enforce
deepcopy nor does it forbid it (e.g. for `unstructured.Unstructured`).
([#64915](https://github.com/kubernetes/kubernetes/pull/64915))
* [k8s.io/apimachinery] Utility functions `SetTransportDefaults` and `DialerFor`
once again respect custom Dial functions set on transports.
([#65547](https://github.com/kubernetes/kubernetes/pull/65547))
* [k8s.io/apimachinery] Speed-up conversion function invocation by avoiding
`reflect.Call`. Action required: regenerated conversion with conversion-gen.
([#65771](https://github.com/kubernetes/kubernetes/pull/65771))
* [k8s.io/apimachinery] Establish "406 Not Acceptable" response for
unmarshable protobuf serialization error.
([#67041](https://github.com/kubernetes/kubernetes/pull/67041))
* [k8s.io/apimachinery] Immediately close the other side of the connection by
exiting once one side closes when proxying.
([#67288](https://github.com/kubernetes/kubernetes/pull/67288))
## API changes
**Breaking Changes:**
* Volume dynamic provisioning scheduling has been promoted to beta.
ACTION REQUIRED: The DynamicProvisioningScheduling alpha feature gate has been removed.
The VolumeScheduling beta feature gate is still required for this feature.
([#67432](https://github.com/kubernetes/kubernetes/pull/67432))
* The CSI file system type is no longer defaulted to ext4.
All the production drivers listed under https://kubernetes-csi.github.io/docs/Drivers.html
were inspected and should not be impacted after this change.
If you are using a driver not in that list,
please test the drivers on an updated test cluster first.
([#65499](https://github.com/kubernetes/kubernetes/pull/65499))
**New Features:**
* Support annotations for remote admission webhooks.
([#58679](https://github.com/kubernetes/kubernetes/pull/58679))
* Support both directory and block device for local volume
plugin `FileSystem` `VolumeMode`.
([#63011](https://github.com/kubernetes/kubernetes/pull/63011))
* Introduce `autoscaling/v2beta2` and `custom_metrics/v1beta2`,
which implement metric selectors for Object and Pods metrics,
as well as allowing AverageValue targets on Objects, similar to External metrics.
([#64097](https://github.com/kubernetes/kubernetes/pull/64097))
* Add `Lease` API in the `coordination.k8s.io` API group.
([#64246](https://github.com/kubernetes/kubernetes/pull/64246))
* `ProcMount` added to `SecurityContext` and `AllowedProcMounts` added to `PodSecurityPolicy`
to allow paths in the container's `/proc` to not be masked.
([#64283](https://github.com/kubernetes/kubernetes/pull/64283))
* Add the `AuditAnnotations` field to `ImageReviewStatus` to allow the
`ImageReview` backend to return annotations to be added to the created pod.
([#64597](https://github.com/kubernetes/kubernetes/pull/64597))
* SCTP is now supported as additional protocol (alpha) alongside TCP and UDP in
Pod, Service, Endpoint, and NetworkPolicy.
([#64973](https://github.com/kubernetes/kubernetes/pull/64973))
* The `PodShareProcessNamespace` feature to configure PID namespace sharing
within a pod has been promoted to beta.
([#66507](https://github.com/kubernetes/kubernetes/pull/66507))
* Add `TTLSecondsAfterFinished` to `JobSpec` for cleaning up Jobs after they finish.
([#66840](https://github.com/kubernetes/kubernetes/pull/66840))
* Add `DataSource` and `TypedLocalObjectReference` fields to support
restoring a volume from a volume snapshot data source.
([#67087](https://github.com/kubernetes/kubernetes/pull/67087))
* `RuntimeClass` is a new API resource for defining different classes of runtimes
that may be used to run containers in the cluster.
Pods can select a `RunitmeClass` to use via the `RuntimeClassName` field.
This feature is in alpha, and the `RuntimeClass` feature gate must be enabled
in order to use it. ([#67737](https://github.com/kubernetes/kubernetes/pull/67737))
* To address the possibility dry-run requests overwhelming admission webhooks
that rely on side effects and a reconciliation mechanism, a new field is being
added to `admissionregistration.k8s.io/v1beta1.ValidatingWebhookConfiguration`
and `admissionregistration.k8s.io/v1beta1.MutatingWebhookConfiguration` so that
webhooks can explicitly register as having dry-run support.
If a dry-run request is made on a resource that triggers a non dry-run supporting
webhook, the request will be completely rejected, with "400: Bad Request".
Additionally, a new field is being added to the
`admission.k8s.io/v1beta1.AdmissionReview` API object, exposing to webhooks
whether or not the request being reviewed is a dry-run.
([#66936](https://github.com/kubernetes/kubernetes/pull/66936))
**Bug fixes and Improvements:**
* The `DisruptedPods` field in `PodDisruptionBudgetStatus` is now optional.
([#63757](https://github.com/kubernetes/kubernetes/pull/63757))
* `extensions/v1beta1` Deployment's `ProgressDeadlineSeconds` now defaults to `MaxInt32`.
([#66581](https://github.com/kubernetes/kubernetes/pull/66581))
# v8.0.0
**Breaking Changes:**
* `KUBE_API_VERSIONS` has been removed.
* [https://github.com/kubernetes/kubernetes/pull/63165](https://github.com/kubernetes/kubernetes/pull/63165)
* The client-go/discovery `RESTMapper` has been moved to client-go/restmapper.
* [https://github.com/kubernetes/kubernetes/pull/63507](https://github.com/kubernetes/kubernetes/pull/63507)
* `CachedDiscoveryClient` has been moved from kubectl to client-go.
* [https://github.com/kubernetes/kubernetes/pull/63550](https://github.com/kubernetes/kubernetes/pull/63550)
* The `EventRecorder` interface is changed to include an `AnnotatedEventf` method, which can add annotations to an event.
* [https://github.com/kubernetes/kubernetes/pull/64213](https://github.com/kubernetes/kubernetes/pull/64213)
* [k8s.io/apimachinery] The deprecated `RepairMalformedUpdates` flag has been removed.
* [https://github.com/kubernetes/kubernetes/pull/61455](https://github.com/kubernetes/kubernetes/pull/61455)
**New Features:**
* A new easy-to-use dynamic client is added and the old dynamic client is now deprecated.
* [https://github.com/kubernetes/kubernetes/pull/62913](https://github.com/kubernetes/kubernetes/pull/62913)
* client-go and kubectl now detect and report an error on duplicated name for user, cluster and context, while loading the kubeconfig.
* [https://github.com/kubernetes/kubernetes/pull/60464](https://github.com/kubernetes/kubernetes/pull/60464)
* The informer code-generator now allows specifying a custom resync period for certain informer types and uses the default resync period if none is specified.
* [https://github.com/kubernetes/kubernetes/pull/61400](https://github.com/kubernetes/kubernetes/pull/61400)
* Exec authenticator plugin now supports TLS client certificates.
* [https://github.com/kubernetes/kubernetes/pull/61803](https://github.com/kubernetes/kubernetes/pull/61803)
* The discovery client now has a default request timeout of 32 seconds.
* [https://github.com/kubernetes/kubernetes/pull/62733](https://github.com/kubernetes/kubernetes/pull/62733)
* The OpenStack auth config from is now read from the client config. If the client config is not available, it falls back to reading from the environment variables.
* [https://github.com/kubernetes/kubernetes/pull/60200](https://github.com/kubernetes/kubernetes/pull/60200)
* The in-tree support for openstack credentials is now deprecated. Please use the `client-keystone-auth` from the cloud-provider-openstack repository. Details on how to use this new capability is documented [here](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/using-client-keystone-auth.md)
* [https://github.com/kubernetes/kubernetes/pull/64346](https://github.com/kubernetes/kubernetes/pull/64346)
**Bug fixes and Improvements:**
* 406 mime-type errors are now tolerated while attempting to load new openapi schema. This improves compatibility with older servers when creating/updating API objects.
* [https://github.com/kubernetes/kubernetes/pull/61949](https://github.com/kubernetes/kubernetes/pull/61949)
* Removes the generated `DeleteCollection()` method for `Services` since the API does not support it.
* [https://github.com/kubernetes/kubernetes/pull/63861](https://github.com/kubernetes/kubernetes/pull/63861)
* Event object references with apiversion now report an apiversion, instead of just the group.
* [https://github.com/kubernetes/kubernetes/pull/63913](https://github.com/kubernetes/kubernetes/pull/63913)
[https://github.com/kubernetes/kubernetes/pull/62462](https://github.com/kubernetes/kubernetes/pull/62462)
* [k8s.io/apimachinery] `runtime.Unstructured.UnstructuredContent()` no longer mutates the source while returning the contents.
* [https://github.com/kubernetes/kubernetes/pull/62063](https://github.com/kubernetes/kubernetes/pull/62063)
* [k8s.io/apimachinery] Incomplete support for `uint64` is now removed. This fixes a panic encountered while using `DeepCopyJSON` with `uint64`.
* [https://github.com/kubernetes/kubernetes/pull/62981](https://github.com/kubernetes/kubernetes/pull/62981)
* [k8s.io/apimachinery] API server can now parse `propagationPolicy` when it sent as a query parameter sent with a delete request.
* [https://github.com/kubernetes/kubernetes/pull/63414](https://github.com/kubernetes/kubernetes/pull/63414)
* [k8s.io/apimachinery] APIServices with kube-like versions (e.g. v1, v2beta1, etc.) will be sorted appropriately within each group.
* [https://github.com/kubernetes/kubernetes/pull/64004](https://github.com/kubernetes/kubernetes/pull/64004)
* [k8s.io/apimachinery] `int64` is the only allowed integer for printers.
* [https://github.com/kubernetes/kubernetes/pull/64639](https://github.com/kubernetes/kubernetes/pull/64639)
## API changes
**Breaking Changes:**
* Support for `alpha.kubernetes.io/nvidia-gpu` resource which was deprecated in 1.10 is removed. Please use the resource exposed by `DevicePlugins` instead (`nvidia.com/gpu`).
* [https://github.com/kubernetes/kubernetes/pull/61498](https://github.com/kubernetes/kubernetes/pull/61498)
* Alpha annotation for `PersistentVolume` node affinity has been removed. Update your `PersistentVolume`s to use the beta `PersistentVolume.nodeAffinity` field before upgrading.
* [https://github.com/kubernetes/kubernetes/pull/61816](https://github.com/kubernetes/kubernetes/pull/61816)
* `ObjectMeta ` `ListOptions` `DeleteOptions` are removed from the core api group. Please use the ones in `meta/v1` instead.
* [https://github.com/kubernetes/kubernetes/pull/61809](https://github.com/kubernetes/kubernetes/pull/61809)
* `ExternalID` in `NodeSpec` is deprecated. The externalID of the node is no longer set in the Node spec.
* [https://github.com/kubernetes/kubernetes/pull/61877](https://github.com/kubernetes/kubernetes/pull/61877)
* PSP-related types in the `extensions/v1beta1` API group are now deprecated. It is suggested to use the `policy/v1beta1` API group instead.
* [https://github.com/kubernetes/kubernetes/pull/61777](https://github.com/kubernetes/kubernetes/pull/61777)
**New Features:**
* `PodSecurityPolicy` now supports restricting hostPath volume mounts to be readOnly and under specific path prefixes.
* [https://github.com/kubernetes/kubernetes/pull/58647](https://github.com/kubernetes/kubernetes/pull/58647)
* `Node.Spec.ConfigSource.ConfigMap.KubeletConfigKey` must be specified when using dynamic Kubelet config to tell the Kubelet which key of the `ConfigMap` identifies its config file.
* [https://github.com/kubernetes/kubernetes/pull/59847](https://github.com/kubernetes/kubernetes/pull/59847)
* `serverAddressByClientCIDRs` in `meta/v1` APIGroup is now optional.
* [https://github.com/kubernetes/kubernetes/pull/61963](https://github.com/kubernetes/kubernetes/pull/61963)
* A new field `MatchFields` is added to `NodeSelectorTerm`. Currently, it only supports `metadata.name`.
* [https://github.com/kubernetes/kubernetes/pull/62002](https://github.com/kubernetes/kubernetes/pull/62002)
* The `PriorityClass` API is promoted to `scheduling.k8s.io/v1beta1`.
* [https://github.com/kubernetes/kubernetes/pull/63100](https://github.com/kubernetes/kubernetes/pull/63100)
* The status of dynamic Kubelet config is now reported via `Node.Status.Config`, rather than the `KubeletConfigOk` node condition.
* [https://github.com/kubernetes/kubernetes/pull/63314](https://github.com/kubernetes/kubernetes/pull/63314)
* The `GitRepo` volume type is deprecated. To provision a container with a git repo, mount an `EmptyDir` into an `InitContainer` that clones the repo using git, then mount the `EmptyDir` into the Pod's container.
* [https://github.com/kubernetes/kubernetes/pull/63445](https://github.com/kubernetes/kubernetes/pull/63445)
* The Sysctls experimental feature has been promoted to beta (enabled by default via the `Sysctls` feature flag). `PodSecurityPolicy` and `Pod` objects now have fields for specifying and controlling sysctls. Alpha sysctl annotations will be ignored by 1.11+ kubelets. All alpha sysctl annotations in existing deployments must be converted to API fields to be effective.
* [https://github.com/kubernetes/kubernetes/pull/63717](https://github.com/kubernetes/kubernetes/pull/63717)
* The annotation `service.alpha.kubernetes.io/tolerate-unready-endpoints` is deprecated. Users should use `Service.spec.publishNotReadyAddresses` instead.
* [https://github.com/kubernetes/kubernetes/pull/63742](https://github.com/kubernetes/kubernetes/pull/63742)
* `VerticalPodAutoscaler` has been added to `autoscaling/v1` API group.
* [https://github.com/kubernetes/kubernetes/pull/63797](https://github.com/kubernetes/kubernetes/pull/63797)
* Alpha support is added for dynamic volume limits based on node type.
* [https://github.com/kubernetes/kubernetes/pull/64154](https://github.com/kubernetes/kubernetes/pull/64154)
* `ContainersReady` condition is added to the Pod status.
* [https://github.com/kubernetes/kubernetes/pull/64646](https://github.com/kubernetes/kubernetes/pull/64646)
**Bug fixes and Improvements:**
* Default mount propagation has changed from `HostToContainer` (`rslave` in Linux terminology) to `None` (`private`) to match the behavior in 1.9 and earlier releases. `HostToContainer` as a default caused regressions in some pods.
* [https://github.com/kubernetes/kubernetes/pull/62462](https://github.com/kubernetes/kubernetes/pull/62462)
# v7.0.0
**Breaking Changes:**
* Google Cloud Service Account email addresses can now be used in RBAC Role bindings since the default scopes now include the `userinfo.email` scope. This is a breaking change if the numeric uniqueIDs of the Google service accounts were being used in RBAC role bindings. The behavior can be overridden by explicitly specifying the scope values as comma-separated string in the `users[*].config.scopes` field in the `KUBECONFIG` file.
* [https://github.com/kubernetes/kubernetes/pull/58141](https://github.com/kubernetes/kubernetes/pull/58141)
* [k8s.io/api] The `ConfigOK` node condition has been renamed to `KubeletConfigOk`.
* [https://github.com/kubernetes/kubernetes/pull/59905](https://github.com/kubernetes/kubernetes/pull/59905)
**New Features:**
* Subresource support is added to the dynamic client.
* [https://github.com/kubernetes/kubernetes/pull/56717](https://github.com/kubernetes/kubernetes/pull/56717)
* A watch method is added to the Fake Client.
* [https://github.com/kubernetes/kubernetes/pull/57504](https://github.com/kubernetes/kubernetes/pull/57504)
* `ListOptions` can be modified when creating a `ListWatch`.
* [https://github.com/kubernetes/kubernetes/pull/57508](https://github.com/kubernetes/kubernetes/pull/57508)
* A `/token` subresource for ServiceAccount is added.
* [https://github.com/kubernetes/kubernetes/pull/58111](https://github.com/kubernetes/kubernetes/pull/58111)
* If an informer delivery fails, the particular notification is skipped and continued the next time.
* [https://github.com/kubernetes/kubernetes/pull/58394](https://github.com/kubernetes/kubernetes/pull/58394)
* Certificate manager will no longer wait until the initial rotation succeeds or fails before returning from `Start()`.
* [https://github.com/kubernetes/kubernetes/pull/58930](https://github.com/kubernetes/kubernetes/pull/58930)
* [k8s.io/api] `VolumeScheduling` and `LocalPersistentVolume` features are beta and enabled by default. The PersistentVolume NodeAffinity alpha annotation is deprecated and will be removed in a future release.
* [https://github.com/kubernetes/kubernetes/pull/59391](https://github.com/kubernetes/kubernetes/pull/59391)
* [k8s.io/api] The `PodSecurityPolicy` API has been moved to the `policy/v1beta1` API group. The `PodSecurityPolicy` API in the `extensions/v1beta1` API group is deprecated and will be removed in a future release.
* [https://github.com/kubernetes/kubernetes/pull/54933](https://github.com/kubernetes/kubernetes/pull/54933)
* [k8s.io/api] ConfigMap objects now support binary data via a new `binaryData` field.
* [https://github.com/kubernetes/kubernetes/pull/57938](https://github.com/kubernetes/kubernetes/pull/57938)
* [k8s.io/api] Service account TokenRequest API is added.
* [https://github.com/kubernetes/kubernetes/pull/58027](https://github.com/kubernetes/kubernetes/pull/58027)
* [k8s.io/api] FSType is added in CSI volume source to specify filesystems.
* [https://github.com/kubernetes/kubernetes/pull/58209](https://github.com/kubernetes/kubernetes/pull/58209)
* [k8s.io/api] v1beta1 VolumeAttachment API is added.
* [https://github.com/kubernetes/kubernetes/pull/58462](https://github.com/kubernetes/kubernetes/pull/58462)
* [k8s.io/api] `v1.Pod` now has a field `ShareProcessNamespace` to configure whether a single process namespace should be shared between all containers in a pod. This feature is in alpha preview.
* [https://github.com/kubernetes/kubernetes/pull/58716](https://github.com/kubernetes/kubernetes/pull/58716)
* [k8s.io/api] Add `NominatedNodeName` field to `PodStatus`. This field is set when a pod preempts other pods on the node.
* [https://github.com/kubernetes/kubernetes/pull/58990](https://github.com/kubernetes/kubernetes/pull/58990)
* [k8s.io/api] Promote `CSIPersistentVolumeSourc`e to beta.
* [https://github.com/kubernetes/kubernetes/pull/59157](https://github.com/kubernetes/kubernetes/pull/59157)
* [k8s.io/api] Promote `DNSPolicy` and `DNSConfig` in `PodSpec` to beta.
* [https://github.com/kubernetes/kubernetes/pull/59771](https://github.com/kubernetes/kubernetes/pull/59771)
* [k8s.io/api] External metric types are added to the HPA API.
* [https://github.com/kubernetes/kubernetes/pull/60096](https://github.com/kubernetes/kubernetes/pull/60096)
* [k8s.io/apimachinery] The `meta.k8s.io/v1alpha1` objects for retrieving tabular responses from the server (`Table`) or fetching just the `ObjectMeta` for an object (as `PartialObjectMetadata`) are now beta as part of `meta.k8s.io/v1beta1`. Clients may request alternate representations of normal Kubernetes objects by passing an `Accept` header like `application/json;as=Table;g=meta.k8s.io;v=v1beta1` or `application/json;as=PartialObjectMetadata;g=meta.k8s.io;v1=v1beta1`. Older servers will ignore this representation or return an error if it is not available. Clients may request fallback to the normal object by adding a non-qualified mime-type to their `Accept` header like `application/json` - the server will then respond with either the alternate representation if it is supported or the fallback mime-type which is the normal object response.
* [https://github.com/kubernetes/kubernetes/pull/59059](https://github.com/kubernetes/kubernetes/pull/59059)
**Bug fixes and Improvements:**
* Port-forwarding of TCP6 ports is fixed.
* [https://github.com/kubernetes/kubernetes/pull/57457](https://github.com/kubernetes/kubernetes/pull/57457)
* A race condition in SharedInformer that could violate the sequential delivery guarantee and cause panics on shutdown is fixed.
* [https://github.com/kubernetes/kubernetes/pull/59828](https://github.com/kubernetes/kubernetes/pull/59828)
* [k8s.io/api] PersistentVolume flexVolume sources can now reference secrets in a namespace other than the PersistentVolumeClaim's namespace.
* [https://github.com/kubernetes/kubernetes/pull/56460](https://github.com/kubernetes/kubernetes/pull/56460)
* [k8s.io/apimachinery] YAMLDecoder Read can now return the number of bytes read.
* [https://github.com/kubernetes/kubernetes/pull/57000](https://github.com/kubernetes/kubernetes/pull/57000)
* [k8s.io/apimachinery] YAMLDecoder Read now tracks rest of buffer on `io.ErrShortBuffer`.
* [https://github.com/kubernetes/kubernetes/pull/58817](https://github.com/kubernetes/kubernetes/pull/58817)
* [k8s.io/apimachinery] Prompt required merge key in the error message while applying a strategic merge patch.
* [https://github.com/kubernetes/kubernetes/pull/57854](https://github.com/kubernetes/kubernetes/pull/57854)
# v6.0.0
**Breaking Changes:**

View File

@@ -1,7 +1,7 @@
# Contributing guidelines
Do not open pull requests directly against this repository, they will be ignored. Instead, please open pull requests against [kubernetes/kubernetes](https://git.k8s.io/kubernetes/). Please follow the same [contributing guide](https://git.k8s.io/kubernetes/CONTRIBUTING.md) you would follow for any other pull request made to kubernetes/kubernetes.
Do not open pull requests directly against kubernetes/client-go repository (except for README.md); they will be ignored. Instead, please open pull requests and issues against [kubernetes/kubernetes](https://git.k8s.io/kubernetes/). Please follow the same [contributing guide](https://git.k8s.io/kubernetes/CONTRIBUTING.md) you would follow for any other pull request made to kubernetes/kubernetes.
This repository is published from [kubernetes/kubernetes/staging/src/k8s.io/client-go](https://git.k8s.io/kubernetes/staging/src/k8s.io/client-go) by the [kubernetes publishing-bot](https://git.k8s.io/publishing-bot).
This repository is published from [kubernetes/kubernetes/staging/src/k8s.io/client-go](https://git.k8s.io/kubernetes/staging/src/k8s.io/client-go) by the [kubernetes publishing-bot](https://git.k8s.io/publishing-bot).
Please see [Staging Directory and Publishing](https://git.k8s.io/community/contributors/devel/staging.md) for more information
Please see [Staging Directory and Publishing](https://git.k8s.io/community/contributors/devel/sig-architecture/staging.md) for more information

686
Godeps/Godeps.json generated
View File

@@ -1,618 +1,382 @@
{
"ImportPath": "k8s.io/client-go",
"GoVersion": "go1.9",
"GodepVersion": "v79",
"GoVersion": "unknown",
"GodepVersion": "gen-godeps",
"Packages": [
"./..."
],
"Deps": [
{
"ImportPath": "cloud.google.com/go/compute/metadata",
"Rev": "3b1ae45394a234c385be014e9a488f2bb6eef821"
},
{
"ImportPath": "cloud.google.com/go/internal",
"Rev": "3b1ae45394a234c385be014e9a488f2bb6eef821"
"ImportPath": "cloud.google.com/go",
"Rev": "v0.38.0"
},
{
"ImportPath": "github.com/Azure/go-autorest/autorest",
"Rev": "d4e6b95c12a08b4de2d48b45d5b4d594e5d32fab"
"Rev": "v0.9.0"
},
{
"ImportPath": "github.com/Azure/go-autorest/autorest/adal",
"Rev": "d4e6b95c12a08b4de2d48b45d5b4d594e5d32fab"
},
{
"ImportPath": "github.com/Azure/go-autorest/autorest/azure",
"Rev": "d4e6b95c12a08b4de2d48b45d5b4d594e5d32fab"
"Rev": "v0.5.0"
},
{
"ImportPath": "github.com/Azure/go-autorest/autorest/date",
"Rev": "d4e6b95c12a08b4de2d48b45d5b4d594e5d32fab"
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/coreos/go-oidc/http",
"Rev": "a4973d9a4225417aecf5d450a9522f00c1f7130f"
"ImportPath": "github.com/Azure/go-autorest/autorest/mocks",
"Rev": "v0.2.0"
},
{
"ImportPath": "github.com/coreos/go-oidc/jose",
"Rev": "a4973d9a4225417aecf5d450a9522f00c1f7130f"
"ImportPath": "github.com/Azure/go-autorest/logger",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/coreos/go-oidc/key",
"Rev": "a4973d9a4225417aecf5d450a9522f00c1f7130f"
"ImportPath": "github.com/Azure/go-autorest/tracing",
"Rev": "v0.5.0"
},
{
"ImportPath": "github.com/coreos/go-oidc/oauth2",
"Rev": "a4973d9a4225417aecf5d450a9522f00c1f7130f"
"ImportPath": "github.com/BurntSushi/toml",
"Rev": "v0.3.1"
},
{
"ImportPath": "github.com/coreos/go-oidc/oidc",
"Rev": "a4973d9a4225417aecf5d450a9522f00c1f7130f"
"ImportPath": "github.com/NYTimes/gziphandler",
"Rev": "56545f4a5d46"
},
{
"ImportPath": "github.com/coreos/pkg/health",
"Rev": "fa29b1d70f0beaddd4c7021607cc3c3be8ce94b8"
"ImportPath": "github.com/PuerkitoBio/purell",
"Rev": "v1.0.0"
},
{
"ImportPath": "github.com/coreos/pkg/httputil",
"Rev": "fa29b1d70f0beaddd4c7021607cc3c3be8ce94b8"
"ImportPath": "github.com/PuerkitoBio/urlesc",
"Rev": "5bd2802263f2"
},
{
"ImportPath": "github.com/coreos/pkg/timeutil",
"Rev": "fa29b1d70f0beaddd4c7021607cc3c3be8ce94b8"
"ImportPath": "github.com/client9/misspell",
"Rev": "v0.3.4"
},
{
"ImportPath": "github.com/davecgh/go-spew/spew",
"Rev": "782f4967f2dc4564575ca782fe2d04090b5faca8"
"ImportPath": "github.com/davecgh/go-spew",
"Rev": "v1.1.1"
},
{
"ImportPath": "github.com/dgrijalva/jwt-go",
"Rev": "01aeca54ebda6e0fbfafd0a524d234159c05ec20"
"Rev": "v3.2.0"
},
{
"ImportPath": "github.com/docker/spdystream",
"Rev": "449fdfce4d962303d702fec724ef0ad181c92528"
"Rev": "449fdfce4d96"
},
{
"ImportPath": "github.com/docker/spdystream/spdy",
"Rev": "449fdfce4d962303d702fec724ef0ad181c92528"
"ImportPath": "github.com/elazarl/goproxy",
"Rev": "947c36da3153"
},
{
"ImportPath": "github.com/emicklei/go-restful",
"Rev": "ff4f55a20633"
},
{
"ImportPath": "github.com/evanphx/json-patch",
"Rev": "v4.2.0"
},
{
"ImportPath": "github.com/fsnotify/fsnotify",
"Rev": "v1.4.7"
},
{
"ImportPath": "github.com/ghodss/yaml",
"Rev": "73d445a93680fa1a78ae23a5839bad48f32ba1ee"
"Rev": "73d445a93680"
},
{
"ImportPath": "github.com/gogo/protobuf/proto",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
"ImportPath": "github.com/go-logr/logr",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/gogo/protobuf/sortkeys",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
"ImportPath": "github.com/go-openapi/jsonpointer",
"Rev": "46af16f9f7b1"
},
{
"ImportPath": "github.com/go-openapi/jsonreference",
"Rev": "13c6e3589ad9"
},
{
"ImportPath": "github.com/go-openapi/spec",
"Rev": "6aced65f8501"
},
{
"ImportPath": "github.com/go-openapi/swag",
"Rev": "1d0bd113de87"
},
{
"ImportPath": "github.com/gogo/protobuf",
"Rev": "v1.3.1"
},
{
"ImportPath": "github.com/golang/glog",
"Rev": "44145f04b68cf362d9c4df2182967c2275eaefed"
"Rev": "23def4e6c14b"
},
{
"ImportPath": "github.com/golang/groupcache/lru",
"Rev": "02826c3e79038b59d737d3b1c0a1d937f71a4433"
"ImportPath": "github.com/golang/groupcache",
"Rev": "02826c3e7903"
},
{
"ImportPath": "github.com/golang/protobuf/proto",
"Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"
"ImportPath": "github.com/golang/mock",
"Rev": "v1.2.0"
},
{
"ImportPath": "github.com/golang/protobuf/ptypes",
"Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"
"ImportPath": "github.com/golang/protobuf",
"Rev": "v1.3.2"
},
{
"ImportPath": "github.com/golang/protobuf/ptypes/any",
"Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"
"ImportPath": "github.com/google/btree",
"Rev": "v1.0.0"
},
{
"ImportPath": "github.com/golang/protobuf/ptypes/duration",
"Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"
},
{
"ImportPath": "github.com/golang/protobuf/ptypes/timestamp",
"Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"
"ImportPath": "github.com/google/go-cmp",
"Rev": "v0.3.0"
},
{
"ImportPath": "github.com/google/gofuzz",
"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
"Rev": "v1.1.0"
},
{
"ImportPath": "github.com/googleapis/gnostic/OpenAPIv2",
"Rev": "0c5108395e2debce0d731cf0287ddf7242066aba"
"ImportPath": "github.com/google/martian",
"Rev": "v2.1.0"
},
{
"ImportPath": "github.com/googleapis/gnostic/compiler",
"Rev": "0c5108395e2debce0d731cf0287ddf7242066aba"
"ImportPath": "github.com/google/pprof",
"Rev": "3ea8567a2e57"
},
{
"ImportPath": "github.com/googleapis/gnostic/extensions",
"Rev": "0c5108395e2debce0d731cf0287ddf7242066aba"
"ImportPath": "github.com/google/uuid",
"Rev": "v1.1.1"
},
{
"ImportPath": "github.com/googleapis/gax-go/v2",
"Rev": "v2.0.4"
},
{
"ImportPath": "github.com/googleapis/gnostic",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/gophercloud/gophercloud",
"Rev": "8e59687aa4b27ab22a0bf3295f1e165ff7bd5f97"
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/gophercloud/gophercloud/openstack",
"Rev": "8e59687aa4b27ab22a0bf3295f1e165ff7bd5f97"
},
{
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tenants",
"Rev": "8e59687aa4b27ab22a0bf3295f1e165ff7bd5f97"
},
{
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens",
"Rev": "8e59687aa4b27ab22a0bf3295f1e165ff7bd5f97"
},
{
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens",
"Rev": "8e59687aa4b27ab22a0bf3295f1e165ff7bd5f97"
},
{
"ImportPath": "github.com/gophercloud/gophercloud/openstack/utils",
"Rev": "8e59687aa4b27ab22a0bf3295f1e165ff7bd5f97"
},
{
"ImportPath": "github.com/gophercloud/gophercloud/pagination",
"Rev": "8e59687aa4b27ab22a0bf3295f1e165ff7bd5f97"
"ImportPath": "github.com/gregjones/httpcache",
"Rev": "9cad4c3443a7"
},
{
"ImportPath": "github.com/hashicorp/golang-lru",
"Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4"
"Rev": "v0.5.1"
},
{
"ImportPath": "github.com/hashicorp/golang-lru/simplelru",
"Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4"
},
{
"ImportPath": "github.com/howeyc/gopass",
"Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
"ImportPath": "github.com/hpcloud/tail",
"Rev": "v1.0.0"
},
{
"ImportPath": "github.com/imdario/mergo",
"Rev": "6633656539c1639d9d78127b7d47c622b5d7b6dc"
},
{
"ImportPath": "github.com/jonboulle/clockwork",
"Rev": "72f9bd7c4e0c2a40055ab3d0f09654f730cce982"
"Rev": "v0.3.5"
},
{
"ImportPath": "github.com/json-iterator/go",
"Rev": "13f86432b882000a51c6e610c620974462691a97"
"Rev": "v1.1.8"
},
{
"ImportPath": "github.com/pmezard/go-difflib/difflib",
"Rev": "d8ed2627bdf02c080bf22230dbb337003b7aba2d"
"ImportPath": "github.com/jstemmer/go-junit-report",
"Rev": "af01ea7f8024"
},
{
"ImportPath": "github.com/kisielk/errcheck",
"Rev": "v1.2.0"
},
{
"ImportPath": "github.com/kisielk/gotool",
"Rev": "v1.0.0"
},
{
"ImportPath": "github.com/kr/pretty",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/kr/pty",
"Rev": "v1.1.1"
},
{
"ImportPath": "github.com/kr/text",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/mailru/easyjson",
"Rev": "d5b7844b561a"
},
{
"ImportPath": "github.com/modern-go/concurrent",
"Rev": "bacd9c7ef1dd"
},
{
"ImportPath": "github.com/modern-go/reflect2",
"Rev": "v1.0.1"
},
{
"ImportPath": "github.com/munnerz/goautoneg",
"Rev": "a547fc61f48d"
},
{
"ImportPath": "github.com/mxk/go-flowrate",
"Rev": "cca7078d478f"
},
{
"ImportPath": "github.com/onsi/ginkgo",
"Rev": "v1.11.0"
},
{
"ImportPath": "github.com/onsi/gomega",
"Rev": "v1.7.0"
},
{
"ImportPath": "github.com/peterbourgon/diskv",
"Rev": "v2.0.1"
},
{
"ImportPath": "github.com/pmezard/go-difflib",
"Rev": "v1.0.0"
},
{
"ImportPath": "github.com/spf13/afero",
"Rev": "v1.2.2"
},
{
"ImportPath": "github.com/spf13/pflag",
"Rev": "4c012f6dcd9546820e378d0bdda4d8fc772cdfea"
"Rev": "v1.0.5"
},
{
"ImportPath": "github.com/stretchr/testify/assert",
"Rev": "f6abca593680b2315d2075e0f5e2a9751e3f431a"
"ImportPath": "github.com/stretchr/objx",
"Rev": "v0.1.0"
},
{
"ImportPath": "golang.org/x/crypto/ssh/terminal",
"Rev": "81e90905daefcd6fd217b62423c0908922eadb30"
"ImportPath": "github.com/stretchr/testify",
"Rev": "v1.4.0"
},
{
"ImportPath": "golang.org/x/net/context",
"Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f"
"ImportPath": "go.opencensus.io",
"Rev": "v0.21.0"
},
{
"ImportPath": "golang.org/x/net/context/ctxhttp",
"Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f"
"ImportPath": "golang.org/x/crypto",
"Rev": "bac4c82f6975"
},
{
"ImportPath": "golang.org/x/net/http2",
"Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f"
"ImportPath": "golang.org/x/exp",
"Rev": "509febef88a4"
},
{
"ImportPath": "golang.org/x/net/http2/hpack",
"Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f"
"ImportPath": "golang.org/x/lint",
"Rev": "5614ed5bae6f"
},
{
"ImportPath": "golang.org/x/net/idna",
"Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f"
},
{
"ImportPath": "golang.org/x/net/lex/httplex",
"Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f"
"ImportPath": "golang.org/x/net",
"Rev": "13f9640d40b9"
},
{
"ImportPath": "golang.org/x/oauth2",
"Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"
"Rev": "0f29369cfe45"
},
{
"ImportPath": "golang.org/x/oauth2/google",
"Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"
"ImportPath": "golang.org/x/sync",
"Rev": "112230192c58"
},
{
"ImportPath": "golang.org/x/oauth2/internal",
"Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"
"ImportPath": "golang.org/x/sys",
"Rev": "fde4db37ae7a"
},
{
"ImportPath": "golang.org/x/oauth2/jws",
"Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"
"ImportPath": "golang.org/x/text",
"Rev": "v0.3.2"
},
{
"ImportPath": "golang.org/x/oauth2/jwt",
"Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"
"ImportPath": "golang.org/x/time",
"Rev": "9d24e82272b4"
},
{
"ImportPath": "golang.org/x/sys/unix",
"Rev": "95c6576299259db960f6c5b9b69ea52422860fce"
"ImportPath": "golang.org/x/tools",
"Rev": "65e3620a7ae7"
},
{
"ImportPath": "golang.org/x/sys/windows",
"Rev": "95c6576299259db960f6c5b9b69ea52422860fce"
"ImportPath": "golang.org/x/xerrors",
"Rev": "a985d3407aa7"
},
{
"ImportPath": "golang.org/x/text/secure/bidirule",
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
"ImportPath": "google.golang.org/api",
"Rev": "v0.4.0"
},
{
"ImportPath": "golang.org/x/text/transform",
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
"ImportPath": "google.golang.org/appengine",
"Rev": "v1.5.0"
},
{
"ImportPath": "golang.org/x/text/unicode/bidi",
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
"ImportPath": "google.golang.org/genproto",
"Rev": "e7d98fc518a7"
},
{
"ImportPath": "golang.org/x/text/unicode/norm",
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
"ImportPath": "google.golang.org/grpc",
"Rev": "v1.19.0"
},
{
"ImportPath": "golang.org/x/time/rate",
"Rev": "f51c12702a4d776e4c1fa9b0fabab841babae631"
"ImportPath": "gopkg.in/check.v1",
"Rev": "788fd7840127"
},
{
"ImportPath": "gopkg.in/fsnotify.v1",
"Rev": "v1.4.7"
},
{
"ImportPath": "gopkg.in/inf.v0",
"Rev": "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"
"Rev": "v0.9.1"
},
{
"ImportPath": "gopkg.in/tomb.v1",
"Rev": "dd632973f1e7"
},
{
"ImportPath": "gopkg.in/yaml.v2",
"Rev": "670d4cfef0544295bc27a114dbac37980d83185a"
"Rev": "v2.2.8"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "honnef.co/go/tools",
"Rev": "3f1c8253044a"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "k8s.io/api",
"Rev": "v0.18.5-rc.0"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "k8s.io/apimachinery",
"Rev": "v0.18.5-rc.0"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "k8s.io/gengo",
"Rev": "0689ccc1d7d6"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "k8s.io/klog",
"Rev": "v1.0.0"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "k8s.io/kube-openapi",
"Rev": "61e04a5be9a6"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "k8s.io/utils",
"Rev": "a9aa75ae1b89"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
"ImportPath": "sigs.k8s.io/structured-merge-diff/v3",
"Rev": "v3.0.0"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/imagepolicy/v1alpha1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "0d0b2f481328d8bae556061a08a02175054059f4"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "da3b134bab57ebf23dedfec7e0004614dd4b5a24"
},
{
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
"Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3"
"ImportPath": "sigs.k8s.io/yaml",
"Rev": "v1.2.0"
}
]
}
}

4
Godeps/OWNERS generated Normal file
View File

@@ -0,0 +1,4 @@
# See the OWNERS docs at https://go.k8s.io/owners
approvers:
- dep-approvers

View File

@@ -3,37 +3,23 @@
## For the casual user
If you want to write a simple script, don't care about a reproducible client
library install, don't mind getting head (which may be less stable than a
library install, don't mind getting HEAD (which may be less stable than a
particular release), then simply:
```sh
$ go get k8s.io/client-go/...
go get k8s.io/client-go@master
```
This will install `k8s.io/client-go` in your `$GOPATH`. `k8s.io/client-go`
includes most of its own dependencies in its `k8s.io/client-go/vendor` path,
except for `k8s.io/apimachinery` and `glog`. `go get` will recursively download
these excluded repos to your `$GOPATH`, if they don't already exist. If
`k8s.io/apimachinery` preexisted in `$GOPATH`, you also need to:
This will record a dependency on `k8s.io/client-go` in your go module.
You can now import and use the `k8s.io/client-go` APIs in your project.
The next time you `go build`, `go test`, or `go run` your project,
`k8s.io/client-go` and its dependencies will be downloaded (if needed),
and detailed dependency version info will be added to your `go.mod` file
(or you can also run `go mod tidy` to do this directly).
```sh
$ go get -u k8s.io/apimachinery/...
```
because the head of client-go is only guaranteed to work with the head of
apimachinery.
We excluded `k8s.io/apimachinery` and `glog` from `k8s.io/client-go/vendor` to
prevent `go get` users from hitting issues like
[#19](https://github.com/kubernetes/client-go/issues/19) and
[#83](https://github.com/kubernetes/client-go/issues/83). If your project share
other dependencies with client-go, and you hit issues similar to #19 or #83,
then you'll need to look down at the next section.
Note: the official go policy is that libraries should not vendor their
dependencies. This is unworkable for us, since our dependencies change and HEAD
on every dependency has not necessarily been tested with client-go. In fact,
HEAD from all dependencies may not even compile with client-go!
This assumes you are using go modules with go 1.11+.
If you get a message like `cannot use path@version syntax in GOPATH mode`,
see the instructions for [enabling go modules](#enabling-go-modules).
## Dependency management for the serious (or reluctant) user
@@ -46,117 +32,50 @@ Reasons why you might need to use a dependency management system:
* You want your install to be reproducible. For example, for your CI system or
for new team members.
There are three tools you could in theory use for this. Instructions
for each follows.
### Enabling go modules
### Godep
[godep](https://github.com/tools/godep) is an older dependency management tool, which is
used by the main Kubernetes repo and `client-go` to manage dependencies.
Before proceeding with the below instructions, you should ensure that your
$GOPATH is empty except for containing your own package and its dependencies,
and you have a copy of godep somewhere in your $PATH.
To install `client-go` and place its dependencies in your `$GOPATH`:
Dependency management tools are built into go 1.11+ in the form of [go modules](https://github.com/golang/go/wiki/Modules).
These are used by the main Kubernetes repo (>= `v1.15.0`) and `client-go` (>= `kubernetes-1.15.0`) to manage dependencies.
If you are using go 1.11 or 1.12 and are working with a project located within `$GOPATH`,
you must opt into using go modules:
```sh
go get k8s.io/client-go/...
cd $GOPATH/src/k8s.io/client-go
git checkout v6.0.0
# cd 1.5 # only necessary with 1.5 and 1.4 clients.
godep restore ./...
export GO111MODULE=on
```
At this point, `client-go`'s dependencies have been placed in your $GOPATH, but
if you were to build, `client-go` would still see its own copy of its
dependencies in its `vendor` directory. You have two options at this point.
If you would like to keep dependencies in your own project's vendor directory,
then you can continue like this:
Ensure your project has a `go.mod` file defined at the root of your project.
If you do not already have one, `go mod init` will create one for you:
```sh
cd $GOPATH/src/<my-pkg>
godep save ./...
go mod init
```
Alternatively, if you want to build using the dependencies in your `$GOPATH`,
then `rm -rf vendor/` to remove `client-go`'s copy of its dependencies.
### Add client-go as a dependency
### Glide
Indicate which version of `client-go` your project requires:
[Glide](https://github.com/Masterminds/glide) is another popular dependency
management tool for Go. Glide will manage your /vendor directory, but unlike
godep, will not use or modify your $GOPATH (there's no equivalent of
`godep restore` or `godep save`).
Generally, it's best to avoid Glide's many subcommands, favoring modifying
Glide's manifest file (`glide.yaml`) directly, then running
`glide update --strip-vendor`. First create a `glide.yaml` file at the root of
your project:
```yaml
package: ( your project's import path ) # e.g. github.com/foo/bar
import:
- package: k8s.io/client-go
version: v6.0.0
```
Second, add a Go file that imports `client-go` somewhere in your project,
otherwise `client-go`'s dependencies will not be added to your project's
vendor/. Then run the following command in the same directory as `glide.yaml`:
- If you are using Kubernetes versions >= `v1.17.0`, use a corresponding
`v0.x.y` tag. For example, `k8s.io/client-go@v0.17.0` corresponds to Kubernetes `v1.17.0`:
```sh
glide update --strip-vendor
go get k8s.io/client-go@v0.17.0
```
This can also be abbreviated as:
You can also use a non-semver `kubernetes-1.x.y` tag to refer to a version
of `client-go` corresponding to a given Kubernetes release. Prior to Kubernetes
`v1.17.0` these were the only tags available for use with go modules.
For example, `kubernetes-1.16.3` corresponds to Kubernetes `v1.16.3`.
However, it is recommended to use semver-like `v0.x.y` tags over non-semver
`kubernetes-1.x.y` tags to have a seamless experience with go modules.
- If you are using Kubernetes versions < `v1.17.0` (replace `kubernetes-1.16.3` with the desired version):
```sh
glide up -v
go get k8s.io/client-go@kubernetes-1.16.3
```
At this point, `k8s.io/client-go` should be added to your project's vendor/.
`client-go`'s dependencies should be flattened and be added to your project's
vendor/ as well.
Glide will detect the versions of dependencies `client-go` specified in
`client-go`'s Godep.json file, and automatically set the versions of these
imports in your /vendor directory. It will also record the detected version of
all dependencies in the `glide.lock` file.
Projects that require a different version of a dependency than `client-go`
requests can override the version manually in `glide.yaml`. For example:
```yaml
package: ( your project's import path ) # e.g. github.com/foo/bar
import:
- package: k8s.io/client-go
version: v6.0.0
# Use a newer version of go-spew even though client-go wants an old one.
- package: github.com/davecgh/go-spew
version: v1.1.0
```
After modifying, run `glide up -v` again to re-populate your /vendor directory.
Optionally, Glide users can also use [`glide-vc`](https://github.com/sgotti/glide-vc)
after running `glide up -v` to remove unused files from /vendor.
### Dep (Not supported yet!)
[dep](https://github.com/golang/dep) is an up-and-coming dependency management
tool, which has the goal of being accepted as part of the standard go toolchain.
However, client-go does **NOT** work well with `dep` yet. To support `dep`, we
need to fix at least two issues:
1. publish native `Gopkg.toml` in client-go and other k8s.io repos, like `k8s.io/apimachinery`;
2. find a way to express transitive constraints (see https://github.com/golang/dep/issues/1124).
As a workaround, which may or may not be worthwhile, you can specify all
client-go dependencies manually as
[override](https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md#override)
in Gopkg.toml with the versions listed in [Godeps.json](./Godeps/Godeps.json),
and manually update them when you upgrade client-go version.
We are actively working on the two issues blocking using `dep`. For the
meantime, we recommend using `glide` or `godeps`.
You can now import and use the `k8s.io/client-go` APIs in your project.
The next time you `go build`, `go test`, or `go run` your project,
`k8s.io/client-go` and its dependencies will be downloaded (if needed),
and detailed dependency version info will be added to your `go.mod` file
(or you can also run `go mod tidy` to do this directly).

43
OWNERS
View File

@@ -1,44 +1,19 @@
# See the OWNERS docs at https://go.k8s.io/owners
approvers:
- caesarxuchao
- deads2k
- krousey
- lavalamp
- liggitt
- smarterclayton
- sttts
- liggitt
reviewers:
- thockin
- lavalamp
- smarterclayton
- wojtek-t
- deads2k
- yujuhong
- derekwaynecarr
- caesarxuchao
- vishh
- mikedanese
- deads2k
- lavalamp
- liggitt
- nikhiljindal
- gmarek
- erictune
- davidopp
- pmorie
- sttts
- dchen1107
- saad-ali
- zmerlynn
- luxas
- janetkuo
- justinsb
- roberthbailey
- ncdc
- tallclair
- yifan-gu
- eparis
- mwielgus
- timothysc
- feiskyer
- jlowdermilk
- soltysh
- piosz
- jsafrane
- sttts
- yliaog
labels:
- sig/api-machinery

119
README.md
View File

@@ -2,9 +2,10 @@
Go clients for talking to a [kubernetes](http://kubernetes.io/) cluster.
We currently recommend using the v6.0.0 tag. See [INSTALL.md](/INSTALL.md) for
detailed installation instructions. `go get k8s.io/client-go/...` works, but
will give you head and doesn't handle the dependencies well.
We recommend using the `v0.x.y` tags for Kubernetes releases >= `v1.17.0` and
`kubernetes-1.x.y` tags for Kubernetes releases < `v1.17.0`.
See [INSTALL.md](/INSTALL.md) for detailed installation instructions.
`go get k8s.io/client-go@master` works, but will fetch `master`, which may be less stable than a tagged release.
[![BuildStatus Widget]][BuildStatus Result]
[![GoReport Widget]][GoReport Status]
@@ -38,47 +39,37 @@ will give you head and doesn't handle the dependencies well.
* The `kubernetes` package contains the clientset to access Kubernetes API.
* The `discovery` package is used to discover APIs supported by a Kubernetes API server.
* The `dynamic` package contains a dynamic client that can perform generic operations on arbitrary Kubernetes API objects.
* The `plugin/pkg/client/auth` packages contain optional authentication plugins for obtaining credentials from external sources.
* The `transport` package is used to set up auth and start a connection.
* The `tools/cache` package is useful for writing controllers.
### Versioning
`client-go` follows [semver](http://semver.org/). We will not make
backwards-incompatible changes without incrementing the major version number. A
change is backwards-incompatible either if it *i)* changes the public interfaces
of `client-go`, or *ii)* makes `client-go` incompatible with otherwise supported
versions of Kubernetes clusters.
- For each `v1.x.y` Kubernetes release, the major version (first digit)
would remain `0`.
Changes that add features in a backwards-compatible way will result in bumping
the minor version (second digit) number.
Bugfixes will result in the patch version (third digit) changing. PRs that are
- Bugfixes will result in the patch version (third digit) changing. PRs that are
cherry-picked into an older Kubernetes release branch will result in an update
to the corresponding branch in `client-go`, with a corresponding new tag
changing the patch version.
A consequence of this is that `client-go` version numbers will be unrelated to
Kubernetes version numbers.
#### Branches and tags.
We will create a new branch and tag for each increment in the major version number or
minor version number. We will create only a new tag for each increment in the patch
We will create a new branch and tag for each increment in the minor version
number. We will create only a new tag for each increment in the patch
version number. See [semver](http://semver.org/) for definitions of major,
minor, and patch.
The master branch will track HEAD in the main Kubernetes repo and
accumulate changes. Consider HEAD to have the version `x.(y+1).0-alpha` or
`(x+1).0.0-alpha` (depending on whether it has accumulated a breaking change or
not), where `x` and `y` are the current major and minor versions.
The HEAD of the master branch in client-go will track the HEAD of the master
branch in the main Kubernetes repo.
#### Compatibility: your code <-> client-go
`client-go` follows [semver](http://semver.org/), so until the major version of
client-go gets increased, your code will compile and will continue to work with
explicitly supported versions of Kubernetes clusters. You must use a dependency
management system and pin a specific major version of `client-go` to get this
benefit, as HEAD follows the upstream Kubernetes repo.
The `v0.x.y` tags indicate that go APIs may change in incompatible ways in
different versions.
See [INSTALL.md](INSTALL.md) for guidelines on requiring a specific
version of client-go.
#### Compatibility: client-go <-> Kubernetes clusters
@@ -91,16 +82,12 @@ We will backport bugfixes--but not new features--into older versions of
#### Compatibility matrix
| | Kubernetes 1.4 | Kubernetes 1.5 | Kubernetes 1.6 | Kubernetes 1.7 | Kubernetes 1.8 | Kubernetes 1.9 |
|---------------------|----------------|----------------|----------------|----------------|----------------|----------------|
| client-go 1.4 | ✓ | - | - | - | - | - |
| client-go 1.5 | + | - | - | - | - | - |
| client-go 2.0 | +- | ✓ | +- | +- | +- | +- |
| client-go 3.0 | +- | +- | ✓ | - | +- | +- |
| client-go 4.0 | +- | +- | +- | ✓ | +- | +- |
| client-go 5.0 | +- | +- | +- | +- | ✓ | +- |
| client-go 6.0 | +- | +- | +- | +- | +- | ✓ |
| client-go HEAD | +- | +- | +- | +- | +- | + |
| | Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 |
|-------------------------------|-----------------|-----------------|-----------------|
| `kubernetes-1.15.0` | ✓ | +- | +- |
| `kubernetes-1.16.0` | +- | | +- |
| `kubernetes-1.17.0`/`v0.17.0` | +- | +- | ✓ |
| `HEAD` | +- | +- | +- |
Key:
@@ -121,13 +108,21 @@ between client-go versions.
| Branch | Canonical source code location | Maintenance status |
|----------------|--------------------------------------|-------------------------------|
| client-go 1.4 | Kubernetes main repo, 1.4 branch | = - |
| client-go 1.5 | Kubernetes main repo, 1.5 branch | = - |
| client-go 2.0 | Kubernetes main repo, 1.5 branch | = - |
| client-go 3.0 | Kubernetes main repo, 1.6 branch | = - |
| client-go 4.0 | Kubernetes main repo, 1.7 branch | |
| client-go 5.0 | Kubernetes main repo, 1.8 branch | |
| client-go 6.0 | Kubernetes main repo, 1.9 branch | |
| `release-1.4` | Kubernetes main repo, 1.4 branch | = - |
| `release-1.5` | Kubernetes main repo, 1.5 branch | = - |
| `release-2.0` | Kubernetes main repo, 1.5 branch | = - |
| `release-3.0` | Kubernetes main repo, 1.6 branch | = - |
| `release-4.0` | Kubernetes main repo, 1.7 branch | = - |
| `release-5.0` | Kubernetes main repo, 1.8 branch | = - |
| `release-6.0` | Kubernetes main repo, 1.9 branch | = - |
| `release-7.0` | Kubernetes main repo, 1.10 branch | = - |
| `release-8.0` | Kubernetes main repo, 1.11 branch | =- |
| `release-9.0` | Kubernetes main repo, 1.12 branch | =- |
| `release-10.0` | Kubernetes main repo, 1.13 branch | =- |
| `release-11.0` | Kubernetes main repo, 1.14 branch | ✓ |
| `release-12.0` | Kubernetes main repo, 1.15 branch | ✓ |
| `release-13.0` | Kubernetes main repo, 1.16 branch | ✓ |
| `release-14.0` | Kubernetes main repo, 1.17 branch | ✓ |
| client-go HEAD | Kubernetes main repo, master branch | ✓ |
Key:
@@ -152,16 +147,21 @@ existing users won't be broken.
### Kubernetes tags
As of October 2017, client-go is still a mirror of
This repository is still a mirror of
[k8s.io/kubernetes/staging/src/client-go](https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/client-go),
the code development is still done in the staging area. Since Kubernetes 1.8
release, when syncing the code from the staging area, we also sync the Kubernetes
version tags to client-go, prefixed with "kubernetes-". For example, if you check
out the `kubernetes-v1.8.0` tag in client-go, the code you get is exactly the
same as if you check out the `v1.8.0` tag in kubernetes, and change directory to
`staging/src/k8s.io/client-go`. The purpose is to let users quickly find matching
commits among published repos, like
[sample-apiserver](https://github.com/kubernetes/sample-apiserver),
the code development is still done in the staging area.
Since Kubernetes `v1.8.0`, when syncing the code from the staging area,
we also sync the Kubernetes version tags to client-go, prefixed with
`kubernetes-`. From Kubernetes `v1.17.0`, we also create matching semver
`v0.x.y` tags for each `v1.x.y` Kubernetes release.
For example, if you check out the `kubernetes-1.17.0` or the `v0.17.0` tag in
client-go, the code you get is exactly the same as if you check out the `v1.17.0`
tag in Kubernetes, and change directory to `staging/src/k8s.io/client-go`.
The purpose is to let users quickly find matching commits among published repos,
like [sample-apiserver](https://github.com/kubernetes/sample-apiserver),
[apiextension-apiserver](https://github.com/kubernetes/apiextensions-apiserver),
etc. The Kubernetes version tag does NOT claim any backwards compatibility
guarantees for client-go. Please check the [semantic versions](#versioning) if
@@ -169,10 +169,13 @@ you care about backwards compatibility.
### How to get it
You can use `go get k8s.io/client-go/...` to get client-go, but **you will get
the unstable master branch** and `client-go`'s vendored dependencies will not be
added to your `$GOPATH`. So we think most users will want to use a dependency
management system. See [INSTALL.md](/INSTALL.md) for detailed instructions.
Use go1.11+ and fetch the desired version using the `go get` command. For example:
```
go get k8s.io/client-go@v0.17.0
```
See [INSTALL.md](/INSTALL.md) for detailed instructions.
### How to use it
@@ -182,9 +185,7 @@ refer to the out-of-cluster [example](examples/out-of-cluster-client-configurati
### Dependency management
If your application depends on a package that client-go depends on, and you let the Go compiler find the dependency in `GOPATH`, you will end up with duplicated dependencies: one copy from the `GOPATH`, and one from the vendor folder of client-go. This will cause unexpected runtime error like flag redefinition, since the go compiler ends up importing both packages separately, even if they are exactly the same thing. If this happens, you can either
* run `godep restore` ([godep](https://github.com/tools/godep)) in the client-go/ folder, then remove the vendor folder of client-go. Then the packages in your GOPATH will be the only copy
* or run `godep save` in your application folder to flatten all dependencies.
For details on how to correctly use a dependency management for installing client-go, please see [INSTALL.md](INSTALL.md).
### Contributing code
Please send pull requests against the client packages in the Kubernetes main [repository](https://github.com/kubernetes/kubernetes). Changes in the staging area will be published to this repository every day.

17
SECURITY_CONTACTS Normal file
View File

@@ -0,0 +1,17 @@
# Defined below are the security contacts for this repo.
#
# They are the contact point for the Product Security Committee to reach out
# to for triaging and handling of incoming issues.
#
# The below names agree to abide by the
# [Embargo Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy)
# and will be removed and replaced if they violate that agreement.
#
# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE
# INSTRUCTIONS AT https://kubernetes.io/security/
cjcullen
joelsmith
liggitt
philips
tallclair

643
deprecated/clientset.go Normal file
View File

@@ -0,0 +1,643 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package deprecated
import (
"fmt"
admissionregistrationv1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1"
admissionregistrationv1beta1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1beta1"
appsv1 "k8s.io/client-go/deprecated/typed/apps/v1"
appsv1beta1 "k8s.io/client-go/deprecated/typed/apps/v1beta1"
appsv1beta2 "k8s.io/client-go/deprecated/typed/apps/v1beta2"
auditregistrationv1alpha1 "k8s.io/client-go/deprecated/typed/auditregistration/v1alpha1"
authenticationv1 "k8s.io/client-go/deprecated/typed/authentication/v1"
authenticationv1beta1 "k8s.io/client-go/deprecated/typed/authentication/v1beta1"
authorizationv1 "k8s.io/client-go/deprecated/typed/authorization/v1"
authorizationv1beta1 "k8s.io/client-go/deprecated/typed/authorization/v1beta1"
autoscalingv1 "k8s.io/client-go/deprecated/typed/autoscaling/v1"
autoscalingv2beta1 "k8s.io/client-go/deprecated/typed/autoscaling/v2beta1"
autoscalingv2beta2 "k8s.io/client-go/deprecated/typed/autoscaling/v2beta2"
batchv1 "k8s.io/client-go/deprecated/typed/batch/v1"
batchv1beta1 "k8s.io/client-go/deprecated/typed/batch/v1beta1"
batchv2alpha1 "k8s.io/client-go/deprecated/typed/batch/v2alpha1"
certificatesv1beta1 "k8s.io/client-go/deprecated/typed/certificates/v1beta1"
coordinationv1 "k8s.io/client-go/deprecated/typed/coordination/v1"
coordinationv1beta1 "k8s.io/client-go/deprecated/typed/coordination/v1beta1"
corev1 "k8s.io/client-go/deprecated/typed/core/v1"
discoveryv1alpha1 "k8s.io/client-go/deprecated/typed/discovery/v1alpha1"
discoveryv1beta1 "k8s.io/client-go/deprecated/typed/discovery/v1beta1"
eventsv1beta1 "k8s.io/client-go/deprecated/typed/events/v1beta1"
extensionsv1beta1 "k8s.io/client-go/deprecated/typed/extensions/v1beta1"
flowcontrolv1alpha1 "k8s.io/client-go/deprecated/typed/flowcontrol/v1alpha1"
networkingv1 "k8s.io/client-go/deprecated/typed/networking/v1"
networkingv1beta1 "k8s.io/client-go/deprecated/typed/networking/v1beta1"
nodev1alpha1 "k8s.io/client-go/deprecated/typed/node/v1alpha1"
nodev1beta1 "k8s.io/client-go/deprecated/typed/node/v1beta1"
policyv1beta1 "k8s.io/client-go/deprecated/typed/policy/v1beta1"
rbacv1 "k8s.io/client-go/deprecated/typed/rbac/v1"
rbacv1alpha1 "k8s.io/client-go/deprecated/typed/rbac/v1alpha1"
rbacv1beta1 "k8s.io/client-go/deprecated/typed/rbac/v1beta1"
schedulingv1 "k8s.io/client-go/deprecated/typed/scheduling/v1"
schedulingv1alpha1 "k8s.io/client-go/deprecated/typed/scheduling/v1alpha1"
schedulingv1beta1 "k8s.io/client-go/deprecated/typed/scheduling/v1beta1"
settingsv1alpha1 "k8s.io/client-go/deprecated/typed/settings/v1alpha1"
storagev1 "k8s.io/client-go/deprecated/typed/storage/v1"
storagev1alpha1 "k8s.io/client-go/deprecated/typed/storage/v1alpha1"
storagev1beta1 "k8s.io/client-go/deprecated/typed/storage/v1beta1"
discovery "k8s.io/client-go/discovery"
rest "k8s.io/client-go/rest"
flowcontrol "k8s.io/client-go/util/flowcontrol"
)
type Interface interface {
Discovery() discovery.DiscoveryInterface
AdmissionregistrationV1() admissionregistrationv1.AdmissionregistrationV1Interface
AdmissionregistrationV1beta1() admissionregistrationv1beta1.AdmissionregistrationV1beta1Interface
AppsV1() appsv1.AppsV1Interface
AppsV1beta1() appsv1beta1.AppsV1beta1Interface
AppsV1beta2() appsv1beta2.AppsV1beta2Interface
AuditregistrationV1alpha1() auditregistrationv1alpha1.AuditregistrationV1alpha1Interface
AuthenticationV1() authenticationv1.AuthenticationV1Interface
AuthenticationV1beta1() authenticationv1beta1.AuthenticationV1beta1Interface
AuthorizationV1() authorizationv1.AuthorizationV1Interface
AuthorizationV1beta1() authorizationv1beta1.AuthorizationV1beta1Interface
AutoscalingV1() autoscalingv1.AutoscalingV1Interface
AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface
AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface
BatchV1() batchv1.BatchV1Interface
BatchV1beta1() batchv1beta1.BatchV1beta1Interface
BatchV2alpha1() batchv2alpha1.BatchV2alpha1Interface
CertificatesV1beta1() certificatesv1beta1.CertificatesV1beta1Interface
CoordinationV1beta1() coordinationv1beta1.CoordinationV1beta1Interface
CoordinationV1() coordinationv1.CoordinationV1Interface
CoreV1() corev1.CoreV1Interface
DiscoveryV1alpha1() discoveryv1alpha1.DiscoveryV1alpha1Interface
DiscoveryV1beta1() discoveryv1beta1.DiscoveryV1beta1Interface
EventsV1beta1() eventsv1beta1.EventsV1beta1Interface
ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface
FlowcontrolV1alpha1() flowcontrolv1alpha1.FlowcontrolV1alpha1Interface
NetworkingV1() networkingv1.NetworkingV1Interface
NetworkingV1beta1() networkingv1beta1.NetworkingV1beta1Interface
NodeV1alpha1() nodev1alpha1.NodeV1alpha1Interface
NodeV1beta1() nodev1beta1.NodeV1beta1Interface
PolicyV1beta1() policyv1beta1.PolicyV1beta1Interface
RbacV1() rbacv1.RbacV1Interface
RbacV1beta1() rbacv1beta1.RbacV1beta1Interface
RbacV1alpha1() rbacv1alpha1.RbacV1alpha1Interface
SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1Interface
SchedulingV1beta1() schedulingv1beta1.SchedulingV1beta1Interface
SchedulingV1() schedulingv1.SchedulingV1Interface
SettingsV1alpha1() settingsv1alpha1.SettingsV1alpha1Interface
StorageV1beta1() storagev1beta1.StorageV1beta1Interface
StorageV1() storagev1.StorageV1Interface
StorageV1alpha1() storagev1alpha1.StorageV1alpha1Interface
}
// Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset.
type Clientset struct {
*discovery.DiscoveryClient
admissionregistrationV1 *admissionregistrationv1.AdmissionregistrationV1Client
admissionregistrationV1beta1 *admissionregistrationv1beta1.AdmissionregistrationV1beta1Client
appsV1 *appsv1.AppsV1Client
appsV1beta1 *appsv1beta1.AppsV1beta1Client
appsV1beta2 *appsv1beta2.AppsV1beta2Client
auditregistrationV1alpha1 *auditregistrationv1alpha1.AuditregistrationV1alpha1Client
authenticationV1 *authenticationv1.AuthenticationV1Client
authenticationV1beta1 *authenticationv1beta1.AuthenticationV1beta1Client
authorizationV1 *authorizationv1.AuthorizationV1Client
authorizationV1beta1 *authorizationv1beta1.AuthorizationV1beta1Client
autoscalingV1 *autoscalingv1.AutoscalingV1Client
autoscalingV2beta1 *autoscalingv2beta1.AutoscalingV2beta1Client
autoscalingV2beta2 *autoscalingv2beta2.AutoscalingV2beta2Client
batchV1 *batchv1.BatchV1Client
batchV1beta1 *batchv1beta1.BatchV1beta1Client
batchV2alpha1 *batchv2alpha1.BatchV2alpha1Client
certificatesV1beta1 *certificatesv1beta1.CertificatesV1beta1Client
coordinationV1beta1 *coordinationv1beta1.CoordinationV1beta1Client
coordinationV1 *coordinationv1.CoordinationV1Client
coreV1 *corev1.CoreV1Client
discoveryV1alpha1 *discoveryv1alpha1.DiscoveryV1alpha1Client
discoveryV1beta1 *discoveryv1beta1.DiscoveryV1beta1Client
eventsV1beta1 *eventsv1beta1.EventsV1beta1Client
extensionsV1beta1 *extensionsv1beta1.ExtensionsV1beta1Client
flowcontrolV1alpha1 *flowcontrolv1alpha1.FlowcontrolV1alpha1Client
networkingV1 *networkingv1.NetworkingV1Client
networkingV1beta1 *networkingv1beta1.NetworkingV1beta1Client
nodeV1alpha1 *nodev1alpha1.NodeV1alpha1Client
nodeV1beta1 *nodev1beta1.NodeV1beta1Client
policyV1beta1 *policyv1beta1.PolicyV1beta1Client
rbacV1 *rbacv1.RbacV1Client
rbacV1beta1 *rbacv1beta1.RbacV1beta1Client
rbacV1alpha1 *rbacv1alpha1.RbacV1alpha1Client
schedulingV1alpha1 *schedulingv1alpha1.SchedulingV1alpha1Client
schedulingV1beta1 *schedulingv1beta1.SchedulingV1beta1Client
schedulingV1 *schedulingv1.SchedulingV1Client
settingsV1alpha1 *settingsv1alpha1.SettingsV1alpha1Client
storageV1beta1 *storagev1beta1.StorageV1beta1Client
storageV1 *storagev1.StorageV1Client
storageV1alpha1 *storagev1alpha1.StorageV1alpha1Client
}
// AdmissionregistrationV1 retrieves the AdmissionregistrationV1Client
func (c *Clientset) AdmissionregistrationV1() admissionregistrationv1.AdmissionregistrationV1Interface {
return c.admissionregistrationV1
}
// AdmissionregistrationV1beta1 retrieves the AdmissionregistrationV1beta1Client
func (c *Clientset) AdmissionregistrationV1beta1() admissionregistrationv1beta1.AdmissionregistrationV1beta1Interface {
return c.admissionregistrationV1beta1
}
// AppsV1 retrieves the AppsV1Client
func (c *Clientset) AppsV1() appsv1.AppsV1Interface {
return c.appsV1
}
// AppsV1beta1 retrieves the AppsV1beta1Client
func (c *Clientset) AppsV1beta1() appsv1beta1.AppsV1beta1Interface {
return c.appsV1beta1
}
// AppsV1beta2 retrieves the AppsV1beta2Client
func (c *Clientset) AppsV1beta2() appsv1beta2.AppsV1beta2Interface {
return c.appsV1beta2
}
// AuditregistrationV1alpha1 retrieves the AuditregistrationV1alpha1Client
func (c *Clientset) AuditregistrationV1alpha1() auditregistrationv1alpha1.AuditregistrationV1alpha1Interface {
return c.auditregistrationV1alpha1
}
// AuthenticationV1 retrieves the AuthenticationV1Client
func (c *Clientset) AuthenticationV1() authenticationv1.AuthenticationV1Interface {
return c.authenticationV1
}
// AuthenticationV1beta1 retrieves the AuthenticationV1beta1Client
func (c *Clientset) AuthenticationV1beta1() authenticationv1beta1.AuthenticationV1beta1Interface {
return c.authenticationV1beta1
}
// AuthorizationV1 retrieves the AuthorizationV1Client
func (c *Clientset) AuthorizationV1() authorizationv1.AuthorizationV1Interface {
return c.authorizationV1
}
// AuthorizationV1beta1 retrieves the AuthorizationV1beta1Client
func (c *Clientset) AuthorizationV1beta1() authorizationv1beta1.AuthorizationV1beta1Interface {
return c.authorizationV1beta1
}
// AutoscalingV1 retrieves the AutoscalingV1Client
func (c *Clientset) AutoscalingV1() autoscalingv1.AutoscalingV1Interface {
return c.autoscalingV1
}
// AutoscalingV2beta1 retrieves the AutoscalingV2beta1Client
func (c *Clientset) AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface {
return c.autoscalingV2beta1
}
// AutoscalingV2beta2 retrieves the AutoscalingV2beta2Client
func (c *Clientset) AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface {
return c.autoscalingV2beta2
}
// BatchV1 retrieves the BatchV1Client
func (c *Clientset) BatchV1() batchv1.BatchV1Interface {
return c.batchV1
}
// BatchV1beta1 retrieves the BatchV1beta1Client
func (c *Clientset) BatchV1beta1() batchv1beta1.BatchV1beta1Interface {
return c.batchV1beta1
}
// BatchV2alpha1 retrieves the BatchV2alpha1Client
func (c *Clientset) BatchV2alpha1() batchv2alpha1.BatchV2alpha1Interface {
return c.batchV2alpha1
}
// CertificatesV1beta1 retrieves the CertificatesV1beta1Client
func (c *Clientset) CertificatesV1beta1() certificatesv1beta1.CertificatesV1beta1Interface {
return c.certificatesV1beta1
}
// CoordinationV1beta1 retrieves the CoordinationV1beta1Client
func (c *Clientset) CoordinationV1beta1() coordinationv1beta1.CoordinationV1beta1Interface {
return c.coordinationV1beta1
}
// CoordinationV1 retrieves the CoordinationV1Client
func (c *Clientset) CoordinationV1() coordinationv1.CoordinationV1Interface {
return c.coordinationV1
}
// CoreV1 retrieves the CoreV1Client
func (c *Clientset) CoreV1() corev1.CoreV1Interface {
return c.coreV1
}
// DiscoveryV1alpha1 retrieves the DiscoveryV1alpha1Client
func (c *Clientset) DiscoveryV1alpha1() discoveryv1alpha1.DiscoveryV1alpha1Interface {
return c.discoveryV1alpha1
}
// DiscoveryV1beta1 retrieves the DiscoveryV1beta1Client
func (c *Clientset) DiscoveryV1beta1() discoveryv1beta1.DiscoveryV1beta1Interface {
return c.discoveryV1beta1
}
// EventsV1beta1 retrieves the EventsV1beta1Client
func (c *Clientset) EventsV1beta1() eventsv1beta1.EventsV1beta1Interface {
return c.eventsV1beta1
}
// ExtensionsV1beta1 retrieves the ExtensionsV1beta1Client
func (c *Clientset) ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface {
return c.extensionsV1beta1
}
// FlowcontrolV1alpha1 retrieves the FlowcontrolV1alpha1Client
func (c *Clientset) FlowcontrolV1alpha1() flowcontrolv1alpha1.FlowcontrolV1alpha1Interface {
return c.flowcontrolV1alpha1
}
// NetworkingV1 retrieves the NetworkingV1Client
func (c *Clientset) NetworkingV1() networkingv1.NetworkingV1Interface {
return c.networkingV1
}
// NetworkingV1beta1 retrieves the NetworkingV1beta1Client
func (c *Clientset) NetworkingV1beta1() networkingv1beta1.NetworkingV1beta1Interface {
return c.networkingV1beta1
}
// NodeV1alpha1 retrieves the NodeV1alpha1Client
func (c *Clientset) NodeV1alpha1() nodev1alpha1.NodeV1alpha1Interface {
return c.nodeV1alpha1
}
// NodeV1beta1 retrieves the NodeV1beta1Client
func (c *Clientset) NodeV1beta1() nodev1beta1.NodeV1beta1Interface {
return c.nodeV1beta1
}
// PolicyV1beta1 retrieves the PolicyV1beta1Client
func (c *Clientset) PolicyV1beta1() policyv1beta1.PolicyV1beta1Interface {
return c.policyV1beta1
}
// RbacV1 retrieves the RbacV1Client
func (c *Clientset) RbacV1() rbacv1.RbacV1Interface {
return c.rbacV1
}
// RbacV1beta1 retrieves the RbacV1beta1Client
func (c *Clientset) RbacV1beta1() rbacv1beta1.RbacV1beta1Interface {
return c.rbacV1beta1
}
// RbacV1alpha1 retrieves the RbacV1alpha1Client
func (c *Clientset) RbacV1alpha1() rbacv1alpha1.RbacV1alpha1Interface {
return c.rbacV1alpha1
}
// SchedulingV1alpha1 retrieves the SchedulingV1alpha1Client
func (c *Clientset) SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1Interface {
return c.schedulingV1alpha1
}
// SchedulingV1beta1 retrieves the SchedulingV1beta1Client
func (c *Clientset) SchedulingV1beta1() schedulingv1beta1.SchedulingV1beta1Interface {
return c.schedulingV1beta1
}
// SchedulingV1 retrieves the SchedulingV1Client
func (c *Clientset) SchedulingV1() schedulingv1.SchedulingV1Interface {
return c.schedulingV1
}
// SettingsV1alpha1 retrieves the SettingsV1alpha1Client
func (c *Clientset) SettingsV1alpha1() settingsv1alpha1.SettingsV1alpha1Interface {
return c.settingsV1alpha1
}
// StorageV1beta1 retrieves the StorageV1beta1Client
func (c *Clientset) StorageV1beta1() storagev1beta1.StorageV1beta1Interface {
return c.storageV1beta1
}
// StorageV1 retrieves the StorageV1Client
func (c *Clientset) StorageV1() storagev1.StorageV1Interface {
return c.storageV1
}
// StorageV1alpha1 retrieves the StorageV1alpha1Client
func (c *Clientset) StorageV1alpha1() storagev1alpha1.StorageV1alpha1Interface {
return c.storageV1alpha1
}
// Discovery retrieves the DiscoveryClient
func (c *Clientset) Discovery() discovery.DiscoveryInterface {
if c == nil {
return nil
}
return c.DiscoveryClient
}
// NewForConfig creates a new Clientset for the given config.
// If config's RateLimiter is not set and QPS and Burst are acceptable,
// NewForConfig will generate a rate-limiter in configShallowCopy.
func NewForConfig(c *rest.Config) (*Clientset, error) {
configShallowCopy := *c
if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
if configShallowCopy.Burst <= 0 {
return nil, fmt.Errorf("burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0")
}
configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst)
}
var cs Clientset
var err error
cs.admissionregistrationV1, err = admissionregistrationv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.admissionregistrationV1beta1, err = admissionregistrationv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.appsV1, err = appsv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.appsV1beta1, err = appsv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.appsV1beta2, err = appsv1beta2.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.auditregistrationV1alpha1, err = auditregistrationv1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.authenticationV1, err = authenticationv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.authenticationV1beta1, err = authenticationv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.authorizationV1, err = authorizationv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.authorizationV1beta1, err = authorizationv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.autoscalingV1, err = autoscalingv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.autoscalingV2beta1, err = autoscalingv2beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.autoscalingV2beta2, err = autoscalingv2beta2.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.batchV1, err = batchv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.batchV1beta1, err = batchv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.batchV2alpha1, err = batchv2alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.certificatesV1beta1, err = certificatesv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.coordinationV1beta1, err = coordinationv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.coordinationV1, err = coordinationv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.coreV1, err = corev1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.discoveryV1alpha1, err = discoveryv1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.discoveryV1beta1, err = discoveryv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.eventsV1beta1, err = eventsv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.extensionsV1beta1, err = extensionsv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.flowcontrolV1alpha1, err = flowcontrolv1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.networkingV1, err = networkingv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.networkingV1beta1, err = networkingv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.nodeV1alpha1, err = nodev1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.nodeV1beta1, err = nodev1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.policyV1beta1, err = policyv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.rbacV1, err = rbacv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.rbacV1beta1, err = rbacv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.rbacV1alpha1, err = rbacv1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.schedulingV1alpha1, err = schedulingv1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.schedulingV1beta1, err = schedulingv1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.schedulingV1, err = schedulingv1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.settingsV1alpha1, err = settingsv1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.storageV1beta1, err = storagev1beta1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.storageV1, err = storagev1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.storageV1alpha1, err = storagev1alpha1.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
return &cs, nil
}
// NewForConfigOrDie creates a new Clientset for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *Clientset {
var cs Clientset
cs.admissionregistrationV1 = admissionregistrationv1.NewForConfigOrDie(c)
cs.admissionregistrationV1beta1 = admissionregistrationv1beta1.NewForConfigOrDie(c)
cs.appsV1 = appsv1.NewForConfigOrDie(c)
cs.appsV1beta1 = appsv1beta1.NewForConfigOrDie(c)
cs.appsV1beta2 = appsv1beta2.NewForConfigOrDie(c)
cs.auditregistrationV1alpha1 = auditregistrationv1alpha1.NewForConfigOrDie(c)
cs.authenticationV1 = authenticationv1.NewForConfigOrDie(c)
cs.authenticationV1beta1 = authenticationv1beta1.NewForConfigOrDie(c)
cs.authorizationV1 = authorizationv1.NewForConfigOrDie(c)
cs.authorizationV1beta1 = authorizationv1beta1.NewForConfigOrDie(c)
cs.autoscalingV1 = autoscalingv1.NewForConfigOrDie(c)
cs.autoscalingV2beta1 = autoscalingv2beta1.NewForConfigOrDie(c)
cs.autoscalingV2beta2 = autoscalingv2beta2.NewForConfigOrDie(c)
cs.batchV1 = batchv1.NewForConfigOrDie(c)
cs.batchV1beta1 = batchv1beta1.NewForConfigOrDie(c)
cs.batchV2alpha1 = batchv2alpha1.NewForConfigOrDie(c)
cs.certificatesV1beta1 = certificatesv1beta1.NewForConfigOrDie(c)
cs.coordinationV1beta1 = coordinationv1beta1.NewForConfigOrDie(c)
cs.coordinationV1 = coordinationv1.NewForConfigOrDie(c)
cs.coreV1 = corev1.NewForConfigOrDie(c)
cs.discoveryV1alpha1 = discoveryv1alpha1.NewForConfigOrDie(c)
cs.discoveryV1beta1 = discoveryv1beta1.NewForConfigOrDie(c)
cs.eventsV1beta1 = eventsv1beta1.NewForConfigOrDie(c)
cs.extensionsV1beta1 = extensionsv1beta1.NewForConfigOrDie(c)
cs.flowcontrolV1alpha1 = flowcontrolv1alpha1.NewForConfigOrDie(c)
cs.networkingV1 = networkingv1.NewForConfigOrDie(c)
cs.networkingV1beta1 = networkingv1beta1.NewForConfigOrDie(c)
cs.nodeV1alpha1 = nodev1alpha1.NewForConfigOrDie(c)
cs.nodeV1beta1 = nodev1beta1.NewForConfigOrDie(c)
cs.policyV1beta1 = policyv1beta1.NewForConfigOrDie(c)
cs.rbacV1 = rbacv1.NewForConfigOrDie(c)
cs.rbacV1beta1 = rbacv1beta1.NewForConfigOrDie(c)
cs.rbacV1alpha1 = rbacv1alpha1.NewForConfigOrDie(c)
cs.schedulingV1alpha1 = schedulingv1alpha1.NewForConfigOrDie(c)
cs.schedulingV1beta1 = schedulingv1beta1.NewForConfigOrDie(c)
cs.schedulingV1 = schedulingv1.NewForConfigOrDie(c)
cs.settingsV1alpha1 = settingsv1alpha1.NewForConfigOrDie(c)
cs.storageV1beta1 = storagev1beta1.NewForConfigOrDie(c)
cs.storageV1 = storagev1.NewForConfigOrDie(c)
cs.storageV1alpha1 = storagev1alpha1.NewForConfigOrDie(c)
cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
return &cs
}
// New creates a new Clientset for the given RESTClient.
func New(c rest.Interface) *Clientset {
var cs Clientset
cs.admissionregistrationV1 = admissionregistrationv1.New(c)
cs.admissionregistrationV1beta1 = admissionregistrationv1beta1.New(c)
cs.appsV1 = appsv1.New(c)
cs.appsV1beta1 = appsv1beta1.New(c)
cs.appsV1beta2 = appsv1beta2.New(c)
cs.auditregistrationV1alpha1 = auditregistrationv1alpha1.New(c)
cs.authenticationV1 = authenticationv1.New(c)
cs.authenticationV1beta1 = authenticationv1beta1.New(c)
cs.authorizationV1 = authorizationv1.New(c)
cs.authorizationV1beta1 = authorizationv1beta1.New(c)
cs.autoscalingV1 = autoscalingv1.New(c)
cs.autoscalingV2beta1 = autoscalingv2beta1.New(c)
cs.autoscalingV2beta2 = autoscalingv2beta2.New(c)
cs.batchV1 = batchv1.New(c)
cs.batchV1beta1 = batchv1beta1.New(c)
cs.batchV2alpha1 = batchv2alpha1.New(c)
cs.certificatesV1beta1 = certificatesv1beta1.New(c)
cs.coordinationV1beta1 = coordinationv1beta1.New(c)
cs.coordinationV1 = coordinationv1.New(c)
cs.coreV1 = corev1.New(c)
cs.discoveryV1alpha1 = discoveryv1alpha1.New(c)
cs.discoveryV1beta1 = discoveryv1beta1.New(c)
cs.eventsV1beta1 = eventsv1beta1.New(c)
cs.extensionsV1beta1 = extensionsv1beta1.New(c)
cs.flowcontrolV1alpha1 = flowcontrolv1alpha1.New(c)
cs.networkingV1 = networkingv1.New(c)
cs.networkingV1beta1 = networkingv1beta1.New(c)
cs.nodeV1alpha1 = nodev1alpha1.New(c)
cs.nodeV1beta1 = nodev1beta1.New(c)
cs.policyV1beta1 = policyv1beta1.New(c)
cs.rbacV1 = rbacv1.New(c)
cs.rbacV1beta1 = rbacv1beta1.New(c)
cs.rbacV1alpha1 = rbacv1alpha1.New(c)
cs.schedulingV1alpha1 = schedulingv1alpha1.New(c)
cs.schedulingV1beta1 = schedulingv1beta1.New(c)
cs.schedulingV1 = schedulingv1.New(c)
cs.settingsV1alpha1 = settingsv1alpha1.New(c)
cs.storageV1beta1 = storagev1beta1.New(c)
cs.storageV1 = storagev1.New(c)
cs.storageV1alpha1 = storagev1alpha1.New(c)
cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
return &cs
}

20
deprecated/doc.go Normal file
View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated clientset.
package deprecated

View File

@@ -0,0 +1,355 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
clientset "k8s.io/client-go/deprecated"
admissionregistrationv1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1"
fakeadmissionregistrationv1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1/fake"
admissionregistrationv1beta1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1beta1"
fakeadmissionregistrationv1beta1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1beta1/fake"
appsv1 "k8s.io/client-go/deprecated/typed/apps/v1"
fakeappsv1 "k8s.io/client-go/deprecated/typed/apps/v1/fake"
appsv1beta1 "k8s.io/client-go/deprecated/typed/apps/v1beta1"
fakeappsv1beta1 "k8s.io/client-go/deprecated/typed/apps/v1beta1/fake"
appsv1beta2 "k8s.io/client-go/deprecated/typed/apps/v1beta2"
fakeappsv1beta2 "k8s.io/client-go/deprecated/typed/apps/v1beta2/fake"
auditregistrationv1alpha1 "k8s.io/client-go/deprecated/typed/auditregistration/v1alpha1"
fakeauditregistrationv1alpha1 "k8s.io/client-go/deprecated/typed/auditregistration/v1alpha1/fake"
authenticationv1 "k8s.io/client-go/deprecated/typed/authentication/v1"
fakeauthenticationv1 "k8s.io/client-go/deprecated/typed/authentication/v1/fake"
authenticationv1beta1 "k8s.io/client-go/deprecated/typed/authentication/v1beta1"
fakeauthenticationv1beta1 "k8s.io/client-go/deprecated/typed/authentication/v1beta1/fake"
authorizationv1 "k8s.io/client-go/deprecated/typed/authorization/v1"
fakeauthorizationv1 "k8s.io/client-go/deprecated/typed/authorization/v1/fake"
authorizationv1beta1 "k8s.io/client-go/deprecated/typed/authorization/v1beta1"
fakeauthorizationv1beta1 "k8s.io/client-go/deprecated/typed/authorization/v1beta1/fake"
autoscalingv1 "k8s.io/client-go/deprecated/typed/autoscaling/v1"
fakeautoscalingv1 "k8s.io/client-go/deprecated/typed/autoscaling/v1/fake"
autoscalingv2beta1 "k8s.io/client-go/deprecated/typed/autoscaling/v2beta1"
fakeautoscalingv2beta1 "k8s.io/client-go/deprecated/typed/autoscaling/v2beta1/fake"
autoscalingv2beta2 "k8s.io/client-go/deprecated/typed/autoscaling/v2beta2"
fakeautoscalingv2beta2 "k8s.io/client-go/deprecated/typed/autoscaling/v2beta2/fake"
batchv1 "k8s.io/client-go/deprecated/typed/batch/v1"
fakebatchv1 "k8s.io/client-go/deprecated/typed/batch/v1/fake"
batchv1beta1 "k8s.io/client-go/deprecated/typed/batch/v1beta1"
fakebatchv1beta1 "k8s.io/client-go/deprecated/typed/batch/v1beta1/fake"
batchv2alpha1 "k8s.io/client-go/deprecated/typed/batch/v2alpha1"
fakebatchv2alpha1 "k8s.io/client-go/deprecated/typed/batch/v2alpha1/fake"
certificatesv1beta1 "k8s.io/client-go/deprecated/typed/certificates/v1beta1"
fakecertificatesv1beta1 "k8s.io/client-go/deprecated/typed/certificates/v1beta1/fake"
coordinationv1 "k8s.io/client-go/deprecated/typed/coordination/v1"
fakecoordinationv1 "k8s.io/client-go/deprecated/typed/coordination/v1/fake"
coordinationv1beta1 "k8s.io/client-go/deprecated/typed/coordination/v1beta1"
fakecoordinationv1beta1 "k8s.io/client-go/deprecated/typed/coordination/v1beta1/fake"
corev1 "k8s.io/client-go/deprecated/typed/core/v1"
fakecorev1 "k8s.io/client-go/deprecated/typed/core/v1/fake"
discoveryv1alpha1 "k8s.io/client-go/deprecated/typed/discovery/v1alpha1"
fakediscoveryv1alpha1 "k8s.io/client-go/deprecated/typed/discovery/v1alpha1/fake"
discoveryv1beta1 "k8s.io/client-go/deprecated/typed/discovery/v1beta1"
fakediscoveryv1beta1 "k8s.io/client-go/deprecated/typed/discovery/v1beta1/fake"
eventsv1beta1 "k8s.io/client-go/deprecated/typed/events/v1beta1"
fakeeventsv1beta1 "k8s.io/client-go/deprecated/typed/events/v1beta1/fake"
extensionsv1beta1 "k8s.io/client-go/deprecated/typed/extensions/v1beta1"
fakeextensionsv1beta1 "k8s.io/client-go/deprecated/typed/extensions/v1beta1/fake"
flowcontrolv1alpha1 "k8s.io/client-go/deprecated/typed/flowcontrol/v1alpha1"
fakeflowcontrolv1alpha1 "k8s.io/client-go/deprecated/typed/flowcontrol/v1alpha1/fake"
networkingv1 "k8s.io/client-go/deprecated/typed/networking/v1"
fakenetworkingv1 "k8s.io/client-go/deprecated/typed/networking/v1/fake"
networkingv1beta1 "k8s.io/client-go/deprecated/typed/networking/v1beta1"
fakenetworkingv1beta1 "k8s.io/client-go/deprecated/typed/networking/v1beta1/fake"
nodev1alpha1 "k8s.io/client-go/deprecated/typed/node/v1alpha1"
fakenodev1alpha1 "k8s.io/client-go/deprecated/typed/node/v1alpha1/fake"
nodev1beta1 "k8s.io/client-go/deprecated/typed/node/v1beta1"
fakenodev1beta1 "k8s.io/client-go/deprecated/typed/node/v1beta1/fake"
policyv1beta1 "k8s.io/client-go/deprecated/typed/policy/v1beta1"
fakepolicyv1beta1 "k8s.io/client-go/deprecated/typed/policy/v1beta1/fake"
rbacv1 "k8s.io/client-go/deprecated/typed/rbac/v1"
fakerbacv1 "k8s.io/client-go/deprecated/typed/rbac/v1/fake"
rbacv1alpha1 "k8s.io/client-go/deprecated/typed/rbac/v1alpha1"
fakerbacv1alpha1 "k8s.io/client-go/deprecated/typed/rbac/v1alpha1/fake"
rbacv1beta1 "k8s.io/client-go/deprecated/typed/rbac/v1beta1"
fakerbacv1beta1 "k8s.io/client-go/deprecated/typed/rbac/v1beta1/fake"
schedulingv1 "k8s.io/client-go/deprecated/typed/scheduling/v1"
fakeschedulingv1 "k8s.io/client-go/deprecated/typed/scheduling/v1/fake"
schedulingv1alpha1 "k8s.io/client-go/deprecated/typed/scheduling/v1alpha1"
fakeschedulingv1alpha1 "k8s.io/client-go/deprecated/typed/scheduling/v1alpha1/fake"
schedulingv1beta1 "k8s.io/client-go/deprecated/typed/scheduling/v1beta1"
fakeschedulingv1beta1 "k8s.io/client-go/deprecated/typed/scheduling/v1beta1/fake"
settingsv1alpha1 "k8s.io/client-go/deprecated/typed/settings/v1alpha1"
fakesettingsv1alpha1 "k8s.io/client-go/deprecated/typed/settings/v1alpha1/fake"
storagev1 "k8s.io/client-go/deprecated/typed/storage/v1"
fakestoragev1 "k8s.io/client-go/deprecated/typed/storage/v1/fake"
storagev1alpha1 "k8s.io/client-go/deprecated/typed/storage/v1alpha1"
fakestoragev1alpha1 "k8s.io/client-go/deprecated/typed/storage/v1alpha1/fake"
storagev1beta1 "k8s.io/client-go/deprecated/typed/storage/v1beta1"
fakestoragev1beta1 "k8s.io/client-go/deprecated/typed/storage/v1beta1/fake"
"k8s.io/client-go/discovery"
fakediscovery "k8s.io/client-go/discovery/fake"
"k8s.io/client-go/testing"
)
// NewSimpleClientset returns a clientset that will respond with the provided objects.
// It's backed by a very simple object tracker that processes creates, updates and deletions as-is,
// without applying any validations and/or defaults. It shouldn't be considered a replacement
// for a real clientset and is mostly useful in simple unit tests.
func NewSimpleClientset(objects ...runtime.Object) *Clientset {
o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder())
for _, obj := range objects {
if err := o.Add(obj); err != nil {
panic(err)
}
}
cs := &Clientset{tracker: o}
cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake}
cs.AddReactor("*", "*", testing.ObjectReaction(o))
cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) {
gvr := action.GetResource()
ns := action.GetNamespace()
watch, err := o.Watch(gvr, ns)
if err != nil {
return false, nil, err
}
return true, watch, nil
})
return cs
}
// Clientset implements clientset.Interface. Meant to be embedded into a
// struct to get a default implementation. This makes faking out just the method
// you want to test easier.
type Clientset struct {
testing.Fake
discovery *fakediscovery.FakeDiscovery
tracker testing.ObjectTracker
}
func (c *Clientset) Discovery() discovery.DiscoveryInterface {
return c.discovery
}
func (c *Clientset) Tracker() testing.ObjectTracker {
return c.tracker
}
var _ clientset.Interface = &Clientset{}
// AdmissionregistrationV1 retrieves the AdmissionregistrationV1Client
func (c *Clientset) AdmissionregistrationV1() admissionregistrationv1.AdmissionregistrationV1Interface {
return &fakeadmissionregistrationv1.FakeAdmissionregistrationV1{Fake: &c.Fake}
}
// AdmissionregistrationV1beta1 retrieves the AdmissionregistrationV1beta1Client
func (c *Clientset) AdmissionregistrationV1beta1() admissionregistrationv1beta1.AdmissionregistrationV1beta1Interface {
return &fakeadmissionregistrationv1beta1.FakeAdmissionregistrationV1beta1{Fake: &c.Fake}
}
// AppsV1 retrieves the AppsV1Client
func (c *Clientset) AppsV1() appsv1.AppsV1Interface {
return &fakeappsv1.FakeAppsV1{Fake: &c.Fake}
}
// AppsV1beta1 retrieves the AppsV1beta1Client
func (c *Clientset) AppsV1beta1() appsv1beta1.AppsV1beta1Interface {
return &fakeappsv1beta1.FakeAppsV1beta1{Fake: &c.Fake}
}
// AppsV1beta2 retrieves the AppsV1beta2Client
func (c *Clientset) AppsV1beta2() appsv1beta2.AppsV1beta2Interface {
return &fakeappsv1beta2.FakeAppsV1beta2{Fake: &c.Fake}
}
// AuditregistrationV1alpha1 retrieves the AuditregistrationV1alpha1Client
func (c *Clientset) AuditregistrationV1alpha1() auditregistrationv1alpha1.AuditregistrationV1alpha1Interface {
return &fakeauditregistrationv1alpha1.FakeAuditregistrationV1alpha1{Fake: &c.Fake}
}
// AuthenticationV1 retrieves the AuthenticationV1Client
func (c *Clientset) AuthenticationV1() authenticationv1.AuthenticationV1Interface {
return &fakeauthenticationv1.FakeAuthenticationV1{Fake: &c.Fake}
}
// AuthenticationV1beta1 retrieves the AuthenticationV1beta1Client
func (c *Clientset) AuthenticationV1beta1() authenticationv1beta1.AuthenticationV1beta1Interface {
return &fakeauthenticationv1beta1.FakeAuthenticationV1beta1{Fake: &c.Fake}
}
// AuthorizationV1 retrieves the AuthorizationV1Client
func (c *Clientset) AuthorizationV1() authorizationv1.AuthorizationV1Interface {
return &fakeauthorizationv1.FakeAuthorizationV1{Fake: &c.Fake}
}
// AuthorizationV1beta1 retrieves the AuthorizationV1beta1Client
func (c *Clientset) AuthorizationV1beta1() authorizationv1beta1.AuthorizationV1beta1Interface {
return &fakeauthorizationv1beta1.FakeAuthorizationV1beta1{Fake: &c.Fake}
}
// AutoscalingV1 retrieves the AutoscalingV1Client
func (c *Clientset) AutoscalingV1() autoscalingv1.AutoscalingV1Interface {
return &fakeautoscalingv1.FakeAutoscalingV1{Fake: &c.Fake}
}
// AutoscalingV2beta1 retrieves the AutoscalingV2beta1Client
func (c *Clientset) AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface {
return &fakeautoscalingv2beta1.FakeAutoscalingV2beta1{Fake: &c.Fake}
}
// AutoscalingV2beta2 retrieves the AutoscalingV2beta2Client
func (c *Clientset) AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface {
return &fakeautoscalingv2beta2.FakeAutoscalingV2beta2{Fake: &c.Fake}
}
// BatchV1 retrieves the BatchV1Client
func (c *Clientset) BatchV1() batchv1.BatchV1Interface {
return &fakebatchv1.FakeBatchV1{Fake: &c.Fake}
}
// BatchV1beta1 retrieves the BatchV1beta1Client
func (c *Clientset) BatchV1beta1() batchv1beta1.BatchV1beta1Interface {
return &fakebatchv1beta1.FakeBatchV1beta1{Fake: &c.Fake}
}
// BatchV2alpha1 retrieves the BatchV2alpha1Client
func (c *Clientset) BatchV2alpha1() batchv2alpha1.BatchV2alpha1Interface {
return &fakebatchv2alpha1.FakeBatchV2alpha1{Fake: &c.Fake}
}
// CertificatesV1beta1 retrieves the CertificatesV1beta1Client
func (c *Clientset) CertificatesV1beta1() certificatesv1beta1.CertificatesV1beta1Interface {
return &fakecertificatesv1beta1.FakeCertificatesV1beta1{Fake: &c.Fake}
}
// CoordinationV1beta1 retrieves the CoordinationV1beta1Client
func (c *Clientset) CoordinationV1beta1() coordinationv1beta1.CoordinationV1beta1Interface {
return &fakecoordinationv1beta1.FakeCoordinationV1beta1{Fake: &c.Fake}
}
// CoordinationV1 retrieves the CoordinationV1Client
func (c *Clientset) CoordinationV1() coordinationv1.CoordinationV1Interface {
return &fakecoordinationv1.FakeCoordinationV1{Fake: &c.Fake}
}
// CoreV1 retrieves the CoreV1Client
func (c *Clientset) CoreV1() corev1.CoreV1Interface {
return &fakecorev1.FakeCoreV1{Fake: &c.Fake}
}
// DiscoveryV1alpha1 retrieves the DiscoveryV1alpha1Client
func (c *Clientset) DiscoveryV1alpha1() discoveryv1alpha1.DiscoveryV1alpha1Interface {
return &fakediscoveryv1alpha1.FakeDiscoveryV1alpha1{Fake: &c.Fake}
}
// DiscoveryV1beta1 retrieves the DiscoveryV1beta1Client
func (c *Clientset) DiscoveryV1beta1() discoveryv1beta1.DiscoveryV1beta1Interface {
return &fakediscoveryv1beta1.FakeDiscoveryV1beta1{Fake: &c.Fake}
}
// EventsV1beta1 retrieves the EventsV1beta1Client
func (c *Clientset) EventsV1beta1() eventsv1beta1.EventsV1beta1Interface {
return &fakeeventsv1beta1.FakeEventsV1beta1{Fake: &c.Fake}
}
// ExtensionsV1beta1 retrieves the ExtensionsV1beta1Client
func (c *Clientset) ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface {
return &fakeextensionsv1beta1.FakeExtensionsV1beta1{Fake: &c.Fake}
}
// FlowcontrolV1alpha1 retrieves the FlowcontrolV1alpha1Client
func (c *Clientset) FlowcontrolV1alpha1() flowcontrolv1alpha1.FlowcontrolV1alpha1Interface {
return &fakeflowcontrolv1alpha1.FakeFlowcontrolV1alpha1{Fake: &c.Fake}
}
// NetworkingV1 retrieves the NetworkingV1Client
func (c *Clientset) NetworkingV1() networkingv1.NetworkingV1Interface {
return &fakenetworkingv1.FakeNetworkingV1{Fake: &c.Fake}
}
// NetworkingV1beta1 retrieves the NetworkingV1beta1Client
func (c *Clientset) NetworkingV1beta1() networkingv1beta1.NetworkingV1beta1Interface {
return &fakenetworkingv1beta1.FakeNetworkingV1beta1{Fake: &c.Fake}
}
// NodeV1alpha1 retrieves the NodeV1alpha1Client
func (c *Clientset) NodeV1alpha1() nodev1alpha1.NodeV1alpha1Interface {
return &fakenodev1alpha1.FakeNodeV1alpha1{Fake: &c.Fake}
}
// NodeV1beta1 retrieves the NodeV1beta1Client
func (c *Clientset) NodeV1beta1() nodev1beta1.NodeV1beta1Interface {
return &fakenodev1beta1.FakeNodeV1beta1{Fake: &c.Fake}
}
// PolicyV1beta1 retrieves the PolicyV1beta1Client
func (c *Clientset) PolicyV1beta1() policyv1beta1.PolicyV1beta1Interface {
return &fakepolicyv1beta1.FakePolicyV1beta1{Fake: &c.Fake}
}
// RbacV1 retrieves the RbacV1Client
func (c *Clientset) RbacV1() rbacv1.RbacV1Interface {
return &fakerbacv1.FakeRbacV1{Fake: &c.Fake}
}
// RbacV1beta1 retrieves the RbacV1beta1Client
func (c *Clientset) RbacV1beta1() rbacv1beta1.RbacV1beta1Interface {
return &fakerbacv1beta1.FakeRbacV1beta1{Fake: &c.Fake}
}
// RbacV1alpha1 retrieves the RbacV1alpha1Client
func (c *Clientset) RbacV1alpha1() rbacv1alpha1.RbacV1alpha1Interface {
return &fakerbacv1alpha1.FakeRbacV1alpha1{Fake: &c.Fake}
}
// SchedulingV1alpha1 retrieves the SchedulingV1alpha1Client
func (c *Clientset) SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1Interface {
return &fakeschedulingv1alpha1.FakeSchedulingV1alpha1{Fake: &c.Fake}
}
// SchedulingV1beta1 retrieves the SchedulingV1beta1Client
func (c *Clientset) SchedulingV1beta1() schedulingv1beta1.SchedulingV1beta1Interface {
return &fakeschedulingv1beta1.FakeSchedulingV1beta1{Fake: &c.Fake}
}
// SchedulingV1 retrieves the SchedulingV1Client
func (c *Clientset) SchedulingV1() schedulingv1.SchedulingV1Interface {
return &fakeschedulingv1.FakeSchedulingV1{Fake: &c.Fake}
}
// SettingsV1alpha1 retrieves the SettingsV1alpha1Client
func (c *Clientset) SettingsV1alpha1() settingsv1alpha1.SettingsV1alpha1Interface {
return &fakesettingsv1alpha1.FakeSettingsV1alpha1{Fake: &c.Fake}
}
// StorageV1beta1 retrieves the StorageV1beta1Client
func (c *Clientset) StorageV1beta1() storagev1beta1.StorageV1beta1Interface {
return &fakestoragev1beta1.FakeStorageV1beta1{Fake: &c.Fake}
}
// StorageV1 retrieves the StorageV1Client
func (c *Clientset) StorageV1() storagev1.StorageV1Interface {
return &fakestoragev1.FakeStorageV1{Fake: &c.Fake}
}
// StorageV1alpha1 retrieves the StorageV1alpha1Client
func (c *Clientset) StorageV1alpha1() storagev1alpha1.StorageV1alpha1Interface {
return &fakestoragev1alpha1.FakeStorageV1alpha1{Fake: &c.Fake}
}

20
deprecated/fake/doc.go Normal file
View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated fake clientset.
package fake

134
deprecated/fake/register.go Normal file
View File

@@ -0,0 +1,134 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
appsv1 "k8s.io/api/apps/v1"
appsv1beta1 "k8s.io/api/apps/v1beta1"
appsv1beta2 "k8s.io/api/apps/v1beta2"
auditregistrationv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
authenticationv1 "k8s.io/api/authentication/v1"
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
authorizationv1 "k8s.io/api/authorization/v1"
authorizationv1beta1 "k8s.io/api/authorization/v1beta1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1"
autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1"
batchv2alpha1 "k8s.io/api/batch/v2alpha1"
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
coordinationv1 "k8s.io/api/coordination/v1"
coordinationv1beta1 "k8s.io/api/coordination/v1beta1"
corev1 "k8s.io/api/core/v1"
discoveryv1alpha1 "k8s.io/api/discovery/v1alpha1"
discoveryv1beta1 "k8s.io/api/discovery/v1beta1"
eventsv1beta1 "k8s.io/api/events/v1beta1"
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
flowcontrolv1alpha1 "k8s.io/api/flowcontrol/v1alpha1"
networkingv1 "k8s.io/api/networking/v1"
networkingv1beta1 "k8s.io/api/networking/v1beta1"
nodev1alpha1 "k8s.io/api/node/v1alpha1"
nodev1beta1 "k8s.io/api/node/v1beta1"
policyv1beta1 "k8s.io/api/policy/v1beta1"
rbacv1 "k8s.io/api/rbac/v1"
rbacv1alpha1 "k8s.io/api/rbac/v1alpha1"
rbacv1beta1 "k8s.io/api/rbac/v1beta1"
schedulingv1 "k8s.io/api/scheduling/v1"
schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1"
schedulingv1beta1 "k8s.io/api/scheduling/v1beta1"
settingsv1alpha1 "k8s.io/api/settings/v1alpha1"
storagev1 "k8s.io/api/storage/v1"
storagev1alpha1 "k8s.io/api/storage/v1alpha1"
storagev1beta1 "k8s.io/api/storage/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
)
var scheme = runtime.NewScheme()
var codecs = serializer.NewCodecFactory(scheme)
var parameterCodec = runtime.NewParameterCodec(scheme)
var localSchemeBuilder = runtime.SchemeBuilder{
admissionregistrationv1.AddToScheme,
admissionregistrationv1beta1.AddToScheme,
appsv1.AddToScheme,
appsv1beta1.AddToScheme,
appsv1beta2.AddToScheme,
auditregistrationv1alpha1.AddToScheme,
authenticationv1.AddToScheme,
authenticationv1beta1.AddToScheme,
authorizationv1.AddToScheme,
authorizationv1beta1.AddToScheme,
autoscalingv1.AddToScheme,
autoscalingv2beta1.AddToScheme,
autoscalingv2beta2.AddToScheme,
batchv1.AddToScheme,
batchv1beta1.AddToScheme,
batchv2alpha1.AddToScheme,
certificatesv1beta1.AddToScheme,
coordinationv1beta1.AddToScheme,
coordinationv1.AddToScheme,
corev1.AddToScheme,
discoveryv1alpha1.AddToScheme,
discoveryv1beta1.AddToScheme,
eventsv1beta1.AddToScheme,
extensionsv1beta1.AddToScheme,
flowcontrolv1alpha1.AddToScheme,
networkingv1.AddToScheme,
networkingv1beta1.AddToScheme,
nodev1alpha1.AddToScheme,
nodev1beta1.AddToScheme,
policyv1beta1.AddToScheme,
rbacv1.AddToScheme,
rbacv1beta1.AddToScheme,
rbacv1alpha1.AddToScheme,
schedulingv1alpha1.AddToScheme,
schedulingv1beta1.AddToScheme,
schedulingv1.AddToScheme,
settingsv1alpha1.AddToScheme,
storagev1beta1.AddToScheme,
storagev1.AddToScheme,
storagev1alpha1.AddToScheme,
}
// AddToScheme adds all types of this clientset into the given scheme. This allows composition
// of clientsets, like in:
//
// import (
// "k8s.io/client-go/deprecated"
// clientsetscheme "k8s.io/client-go/deprecated/scheme"
// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
// )
//
// kclientset, _ := kubernetes.NewForConfig(c)
// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
// correctly.
var AddToScheme = localSchemeBuilder.AddToScheme
func init() {
v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"})
utilruntime.Must(AddToScheme(scheme))
}

19
deprecated/import.go Normal file
View File

@@ -0,0 +1,19 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// This file exists to enforce this clientset's vanity import path.
package deprecated // import "k8s.io/client-go/deprecated"

20
deprecated/scheme/doc.go Normal file
View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package contains the scheme of the automatically generated clientset.
package scheme

View File

@@ -0,0 +1,134 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package scheme
import (
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
appsv1 "k8s.io/api/apps/v1"
appsv1beta1 "k8s.io/api/apps/v1beta1"
appsv1beta2 "k8s.io/api/apps/v1beta2"
auditregistrationv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
authenticationv1 "k8s.io/api/authentication/v1"
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
authorizationv1 "k8s.io/api/authorization/v1"
authorizationv1beta1 "k8s.io/api/authorization/v1beta1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1"
autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1"
batchv2alpha1 "k8s.io/api/batch/v2alpha1"
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
coordinationv1 "k8s.io/api/coordination/v1"
coordinationv1beta1 "k8s.io/api/coordination/v1beta1"
corev1 "k8s.io/api/core/v1"
discoveryv1alpha1 "k8s.io/api/discovery/v1alpha1"
discoveryv1beta1 "k8s.io/api/discovery/v1beta1"
eventsv1beta1 "k8s.io/api/events/v1beta1"
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
flowcontrolv1alpha1 "k8s.io/api/flowcontrol/v1alpha1"
networkingv1 "k8s.io/api/networking/v1"
networkingv1beta1 "k8s.io/api/networking/v1beta1"
nodev1alpha1 "k8s.io/api/node/v1alpha1"
nodev1beta1 "k8s.io/api/node/v1beta1"
policyv1beta1 "k8s.io/api/policy/v1beta1"
rbacv1 "k8s.io/api/rbac/v1"
rbacv1alpha1 "k8s.io/api/rbac/v1alpha1"
rbacv1beta1 "k8s.io/api/rbac/v1beta1"
schedulingv1 "k8s.io/api/scheduling/v1"
schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1"
schedulingv1beta1 "k8s.io/api/scheduling/v1beta1"
settingsv1alpha1 "k8s.io/api/settings/v1alpha1"
storagev1 "k8s.io/api/storage/v1"
storagev1alpha1 "k8s.io/api/storage/v1alpha1"
storagev1beta1 "k8s.io/api/storage/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
)
var Scheme = runtime.NewScheme()
var Codecs = serializer.NewCodecFactory(Scheme)
var ParameterCodec = runtime.NewParameterCodec(Scheme)
var localSchemeBuilder = runtime.SchemeBuilder{
admissionregistrationv1.AddToScheme,
admissionregistrationv1beta1.AddToScheme,
appsv1.AddToScheme,
appsv1beta1.AddToScheme,
appsv1beta2.AddToScheme,
auditregistrationv1alpha1.AddToScheme,
authenticationv1.AddToScheme,
authenticationv1beta1.AddToScheme,
authorizationv1.AddToScheme,
authorizationv1beta1.AddToScheme,
autoscalingv1.AddToScheme,
autoscalingv2beta1.AddToScheme,
autoscalingv2beta2.AddToScheme,
batchv1.AddToScheme,
batchv1beta1.AddToScheme,
batchv2alpha1.AddToScheme,
certificatesv1beta1.AddToScheme,
coordinationv1beta1.AddToScheme,
coordinationv1.AddToScheme,
corev1.AddToScheme,
discoveryv1alpha1.AddToScheme,
discoveryv1beta1.AddToScheme,
eventsv1beta1.AddToScheme,
extensionsv1beta1.AddToScheme,
flowcontrolv1alpha1.AddToScheme,
networkingv1.AddToScheme,
networkingv1beta1.AddToScheme,
nodev1alpha1.AddToScheme,
nodev1beta1.AddToScheme,
policyv1beta1.AddToScheme,
rbacv1.AddToScheme,
rbacv1beta1.AddToScheme,
rbacv1alpha1.AddToScheme,
schedulingv1alpha1.AddToScheme,
schedulingv1beta1.AddToScheme,
schedulingv1.AddToScheme,
settingsv1alpha1.AddToScheme,
storagev1beta1.AddToScheme,
storagev1.AddToScheme,
storagev1alpha1.AddToScheme,
}
// AddToScheme adds all types of this clientset into the given scheme. This allows composition
// of clientsets, like in:
//
// import (
// "k8s.io/client-go/deprecated"
// clientsetscheme "k8s.io/client-go/deprecated/scheme"
// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
// )
//
// kclientset, _ := kubernetes.NewForConfig(c)
// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
// correctly.
var AddToScheme = localSchemeBuilder.AddToScheme
func init() {
v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
utilruntime.Must(AddToScheme(Scheme))
}

View File

@@ -0,0 +1,94 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
v1 "k8s.io/api/admissionregistration/v1"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AdmissionregistrationV1Interface interface {
RESTClient() rest.Interface
MutatingWebhookConfigurationsGetter
ValidatingWebhookConfigurationsGetter
}
// AdmissionregistrationV1Client is used to interact with features provided by the admissionregistration.k8s.io group.
type AdmissionregistrationV1Client struct {
restClient rest.Interface
}
func (c *AdmissionregistrationV1Client) MutatingWebhookConfigurations() MutatingWebhookConfigurationInterface {
return newMutatingWebhookConfigurations(c)
}
func (c *AdmissionregistrationV1Client) ValidatingWebhookConfigurations() ValidatingWebhookConfigurationInterface {
return newValidatingWebhookConfigurations(c)
}
// NewForConfig creates a new AdmissionregistrationV1Client for the given config.
func NewForConfig(c *rest.Config) (*AdmissionregistrationV1Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AdmissionregistrationV1Client{client}, nil
}
// NewForConfigOrDie creates a new AdmissionregistrationV1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AdmissionregistrationV1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AdmissionregistrationV1Client for the given RESTClient.
func New(c rest.Interface) *AdmissionregistrationV1Client {
return &AdmissionregistrationV1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AdmissionregistrationV1Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 The Kubernetes Authors.
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,5 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,44 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAdmissionregistrationV1 struct {
*testing.Fake
}
func (c *FakeAdmissionregistrationV1) MutatingWebhookConfigurations() v1.MutatingWebhookConfigurationInterface {
return &FakeMutatingWebhookConfigurations{c}
}
func (c *FakeAdmissionregistrationV1) ValidatingWebhookConfigurations() v1.ValidatingWebhookConfigurationInterface {
return &FakeValidatingWebhookConfigurations{c}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAdmissionregistrationV1) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,120 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeMutatingWebhookConfigurations implements MutatingWebhookConfigurationInterface
type FakeMutatingWebhookConfigurations struct {
Fake *FakeAdmissionregistrationV1
}
var mutatingwebhookconfigurationsResource = schema.GroupVersionResource{Group: "admissionregistration.k8s.io", Version: "v1", Resource: "mutatingwebhookconfigurations"}
var mutatingwebhookconfigurationsKind = schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "MutatingWebhookConfiguration"}
// Get takes name of the mutatingWebhookConfiguration, and returns the corresponding mutatingWebhookConfiguration object, and an error if there is any.
func (c *FakeMutatingWebhookConfigurations) Get(name string, options v1.GetOptions) (result *admissionregistrationv1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootGetAction(mutatingwebhookconfigurationsResource, name), &admissionregistrationv1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.MutatingWebhookConfiguration), err
}
// List takes label and field selectors, and returns the list of MutatingWebhookConfigurations that match those selectors.
func (c *FakeMutatingWebhookConfigurations) List(opts v1.ListOptions) (result *admissionregistrationv1.MutatingWebhookConfigurationList, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootListAction(mutatingwebhookconfigurationsResource, mutatingwebhookconfigurationsKind, opts), &admissionregistrationv1.MutatingWebhookConfigurationList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &admissionregistrationv1.MutatingWebhookConfigurationList{ListMeta: obj.(*admissionregistrationv1.MutatingWebhookConfigurationList).ListMeta}
for _, item := range obj.(*admissionregistrationv1.MutatingWebhookConfigurationList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested mutatingWebhookConfigurations.
func (c *FakeMutatingWebhookConfigurations) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewRootWatchAction(mutatingwebhookconfigurationsResource, opts))
}
// Create takes the representation of a mutatingWebhookConfiguration and creates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *FakeMutatingWebhookConfigurations) Create(mutatingWebhookConfiguration *admissionregistrationv1.MutatingWebhookConfiguration) (result *admissionregistrationv1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootCreateAction(mutatingwebhookconfigurationsResource, mutatingWebhookConfiguration), &admissionregistrationv1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.MutatingWebhookConfiguration), err
}
// Update takes the representation of a mutatingWebhookConfiguration and updates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *FakeMutatingWebhookConfigurations) Update(mutatingWebhookConfiguration *admissionregistrationv1.MutatingWebhookConfiguration) (result *admissionregistrationv1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootUpdateAction(mutatingwebhookconfigurationsResource, mutatingWebhookConfiguration), &admissionregistrationv1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.MutatingWebhookConfiguration), err
}
// Delete takes name of the mutatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *FakeMutatingWebhookConfigurations) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewRootDeleteAction(mutatingwebhookconfigurationsResource, name), &admissionregistrationv1.MutatingWebhookConfiguration{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeMutatingWebhookConfigurations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewRootDeleteCollectionAction(mutatingwebhookconfigurationsResource, listOptions)
_, err := c.Fake.Invokes(action, &admissionregistrationv1.MutatingWebhookConfigurationList{})
return err
}
// Patch applies the patch and returns the patched mutatingWebhookConfiguration.
func (c *FakeMutatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *admissionregistrationv1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootPatchSubresourceAction(mutatingwebhookconfigurationsResource, name, pt, data, subresources...), &admissionregistrationv1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.MutatingWebhookConfiguration), err
}

View File

@@ -0,0 +1,120 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeValidatingWebhookConfigurations implements ValidatingWebhookConfigurationInterface
type FakeValidatingWebhookConfigurations struct {
Fake *FakeAdmissionregistrationV1
}
var validatingwebhookconfigurationsResource = schema.GroupVersionResource{Group: "admissionregistration.k8s.io", Version: "v1", Resource: "validatingwebhookconfigurations"}
var validatingwebhookconfigurationsKind = schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "ValidatingWebhookConfiguration"}
// Get takes name of the validatingWebhookConfiguration, and returns the corresponding validatingWebhookConfiguration object, and an error if there is any.
func (c *FakeValidatingWebhookConfigurations) Get(name string, options v1.GetOptions) (result *admissionregistrationv1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootGetAction(validatingwebhookconfigurationsResource, name), &admissionregistrationv1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.ValidatingWebhookConfiguration), err
}
// List takes label and field selectors, and returns the list of ValidatingWebhookConfigurations that match those selectors.
func (c *FakeValidatingWebhookConfigurations) List(opts v1.ListOptions) (result *admissionregistrationv1.ValidatingWebhookConfigurationList, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootListAction(validatingwebhookconfigurationsResource, validatingwebhookconfigurationsKind, opts), &admissionregistrationv1.ValidatingWebhookConfigurationList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &admissionregistrationv1.ValidatingWebhookConfigurationList{ListMeta: obj.(*admissionregistrationv1.ValidatingWebhookConfigurationList).ListMeta}
for _, item := range obj.(*admissionregistrationv1.ValidatingWebhookConfigurationList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested validatingWebhookConfigurations.
func (c *FakeValidatingWebhookConfigurations) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewRootWatchAction(validatingwebhookconfigurationsResource, opts))
}
// Create takes the representation of a validatingWebhookConfiguration and creates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *FakeValidatingWebhookConfigurations) Create(validatingWebhookConfiguration *admissionregistrationv1.ValidatingWebhookConfiguration) (result *admissionregistrationv1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootCreateAction(validatingwebhookconfigurationsResource, validatingWebhookConfiguration), &admissionregistrationv1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.ValidatingWebhookConfiguration), err
}
// Update takes the representation of a validatingWebhookConfiguration and updates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *FakeValidatingWebhookConfigurations) Update(validatingWebhookConfiguration *admissionregistrationv1.ValidatingWebhookConfiguration) (result *admissionregistrationv1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootUpdateAction(validatingwebhookconfigurationsResource, validatingWebhookConfiguration), &admissionregistrationv1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.ValidatingWebhookConfiguration), err
}
// Delete takes name of the validatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *FakeValidatingWebhookConfigurations) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewRootDeleteAction(validatingwebhookconfigurationsResource, name), &admissionregistrationv1.ValidatingWebhookConfiguration{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeValidatingWebhookConfigurations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewRootDeleteCollectionAction(validatingwebhookconfigurationsResource, listOptions)
_, err := c.Fake.Invokes(action, &admissionregistrationv1.ValidatingWebhookConfigurationList{})
return err
}
// Patch applies the patch and returns the patched validatingWebhookConfiguration.
func (c *FakeValidatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *admissionregistrationv1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootPatchSubresourceAction(validatingwebhookconfigurationsResource, name, pt, data, subresources...), &admissionregistrationv1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*admissionregistrationv1.ValidatingWebhookConfiguration), err
}

View File

@@ -0,0 +1,23 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
type MutatingWebhookConfigurationExpansion interface{}
type ValidatingWebhookConfigurationExpansion interface{}

View File

@@ -0,0 +1,165 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
"context"
"time"
v1 "k8s.io/api/admissionregistration/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// MutatingWebhookConfigurationsGetter has a method to return a MutatingWebhookConfigurationInterface.
// A group's client should implement this interface.
type MutatingWebhookConfigurationsGetter interface {
MutatingWebhookConfigurations() MutatingWebhookConfigurationInterface
}
// MutatingWebhookConfigurationInterface has methods to work with MutatingWebhookConfiguration resources.
type MutatingWebhookConfigurationInterface interface {
Create(*v1.MutatingWebhookConfiguration) (*v1.MutatingWebhookConfiguration, error)
Update(*v1.MutatingWebhookConfiguration) (*v1.MutatingWebhookConfiguration, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
Get(name string, options metav1.GetOptions) (*v1.MutatingWebhookConfiguration, error)
List(opts metav1.ListOptions) (*v1.MutatingWebhookConfigurationList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.MutatingWebhookConfiguration, err error)
MutatingWebhookConfigurationExpansion
}
// mutatingWebhookConfigurations implements MutatingWebhookConfigurationInterface
type mutatingWebhookConfigurations struct {
client rest.Interface
}
// newMutatingWebhookConfigurations returns a MutatingWebhookConfigurations
func newMutatingWebhookConfigurations(c *AdmissionregistrationV1Client) *mutatingWebhookConfigurations {
return &mutatingWebhookConfigurations{
client: c.RESTClient(),
}
}
// Get takes name of the mutatingWebhookConfiguration, and returns the corresponding mutatingWebhookConfiguration object, and an error if there is any.
func (c *mutatingWebhookConfigurations) Get(name string, options metav1.GetOptions) (result *v1.MutatingWebhookConfiguration, err error) {
result = &v1.MutatingWebhookConfiguration{}
err = c.client.Get().
Resource("mutatingwebhookconfigurations").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of MutatingWebhookConfigurations that match those selectors.
func (c *mutatingWebhookConfigurations) List(opts metav1.ListOptions) (result *v1.MutatingWebhookConfigurationList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1.MutatingWebhookConfigurationList{}
err = c.client.Get().
Resource("mutatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested mutatingWebhookConfigurations.
func (c *mutatingWebhookConfigurations) Watch(opts metav1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Resource("mutatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a mutatingWebhookConfiguration and creates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *mutatingWebhookConfigurations) Create(mutatingWebhookConfiguration *v1.MutatingWebhookConfiguration) (result *v1.MutatingWebhookConfiguration, err error) {
result = &v1.MutatingWebhookConfiguration{}
err = c.client.Post().
Resource("mutatingwebhookconfigurations").
Body(mutatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a mutatingWebhookConfiguration and updates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *mutatingWebhookConfigurations) Update(mutatingWebhookConfiguration *v1.MutatingWebhookConfiguration) (result *v1.MutatingWebhookConfiguration, err error) {
result = &v1.MutatingWebhookConfiguration{}
err = c.client.Put().
Resource("mutatingwebhookconfigurations").
Name(mutatingWebhookConfiguration.Name).
Body(mutatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the mutatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *mutatingWebhookConfigurations) Delete(name string, options *metav1.DeleteOptions) error {
return c.client.Delete().
Resource("mutatingwebhookconfigurations").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *mutatingWebhookConfigurations) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Resource("mutatingwebhookconfigurations").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched mutatingWebhookConfiguration.
func (c *mutatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.MutatingWebhookConfiguration, err error) {
result = &v1.MutatingWebhookConfiguration{}
err = c.client.Patch(pt).
Resource("mutatingwebhookconfigurations").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,165 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
"context"
"time"
v1 "k8s.io/api/admissionregistration/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// ValidatingWebhookConfigurationsGetter has a method to return a ValidatingWebhookConfigurationInterface.
// A group's client should implement this interface.
type ValidatingWebhookConfigurationsGetter interface {
ValidatingWebhookConfigurations() ValidatingWebhookConfigurationInterface
}
// ValidatingWebhookConfigurationInterface has methods to work with ValidatingWebhookConfiguration resources.
type ValidatingWebhookConfigurationInterface interface {
Create(*v1.ValidatingWebhookConfiguration) (*v1.ValidatingWebhookConfiguration, error)
Update(*v1.ValidatingWebhookConfiguration) (*v1.ValidatingWebhookConfiguration, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
Get(name string, options metav1.GetOptions) (*v1.ValidatingWebhookConfiguration, error)
List(opts metav1.ListOptions) (*v1.ValidatingWebhookConfigurationList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ValidatingWebhookConfiguration, err error)
ValidatingWebhookConfigurationExpansion
}
// validatingWebhookConfigurations implements ValidatingWebhookConfigurationInterface
type validatingWebhookConfigurations struct {
client rest.Interface
}
// newValidatingWebhookConfigurations returns a ValidatingWebhookConfigurations
func newValidatingWebhookConfigurations(c *AdmissionregistrationV1Client) *validatingWebhookConfigurations {
return &validatingWebhookConfigurations{
client: c.RESTClient(),
}
}
// Get takes name of the validatingWebhookConfiguration, and returns the corresponding validatingWebhookConfiguration object, and an error if there is any.
func (c *validatingWebhookConfigurations) Get(name string, options metav1.GetOptions) (result *v1.ValidatingWebhookConfiguration, err error) {
result = &v1.ValidatingWebhookConfiguration{}
err = c.client.Get().
Resource("validatingwebhookconfigurations").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of ValidatingWebhookConfigurations that match those selectors.
func (c *validatingWebhookConfigurations) List(opts metav1.ListOptions) (result *v1.ValidatingWebhookConfigurationList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1.ValidatingWebhookConfigurationList{}
err = c.client.Get().
Resource("validatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested validatingWebhookConfigurations.
func (c *validatingWebhookConfigurations) Watch(opts metav1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Resource("validatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a validatingWebhookConfiguration and creates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *validatingWebhookConfigurations) Create(validatingWebhookConfiguration *v1.ValidatingWebhookConfiguration) (result *v1.ValidatingWebhookConfiguration, err error) {
result = &v1.ValidatingWebhookConfiguration{}
err = c.client.Post().
Resource("validatingwebhookconfigurations").
Body(validatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a validatingWebhookConfiguration and updates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *validatingWebhookConfigurations) Update(validatingWebhookConfiguration *v1.ValidatingWebhookConfiguration) (result *v1.ValidatingWebhookConfiguration, err error) {
result = &v1.ValidatingWebhookConfiguration{}
err = c.client.Put().
Resource("validatingwebhookconfigurations").
Name(validatingWebhookConfiguration.Name).
Body(validatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the validatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *validatingWebhookConfigurations) Delete(name string, options *metav1.DeleteOptions) error {
return c.client.Delete().
Resource("validatingwebhookconfigurations").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *validatingWebhookConfigurations) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Resource("validatingwebhookconfigurations").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched validatingWebhookConfiguration.
func (c *validatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ValidatingWebhookConfiguration, err error) {
result = &v1.ValidatingWebhookConfiguration{}
err = c.client.Patch(pt).
Resource("validatingwebhookconfigurations").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,94 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
v1beta1 "k8s.io/api/admissionregistration/v1beta1"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AdmissionregistrationV1beta1Interface interface {
RESTClient() rest.Interface
MutatingWebhookConfigurationsGetter
ValidatingWebhookConfigurationsGetter
}
// AdmissionregistrationV1beta1Client is used to interact with features provided by the admissionregistration.k8s.io group.
type AdmissionregistrationV1beta1Client struct {
restClient rest.Interface
}
func (c *AdmissionregistrationV1beta1Client) MutatingWebhookConfigurations() MutatingWebhookConfigurationInterface {
return newMutatingWebhookConfigurations(c)
}
func (c *AdmissionregistrationV1beta1Client) ValidatingWebhookConfigurations() ValidatingWebhookConfigurationInterface {
return newValidatingWebhookConfigurations(c)
}
// NewForConfig creates a new AdmissionregistrationV1beta1Client for the given config.
func NewForConfig(c *rest.Config) (*AdmissionregistrationV1beta1Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AdmissionregistrationV1beta1Client{client}, nil
}
// NewForConfigOrDie creates a new AdmissionregistrationV1beta1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AdmissionregistrationV1beta1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AdmissionregistrationV1beta1Client for the given RESTClient.
func New(c rest.Interface) *AdmissionregistrationV1beta1Client {
return &AdmissionregistrationV1beta1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1beta1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AdmissionregistrationV1beta1Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1beta1

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,44 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/client-go/deprecated/typed/admissionregistration/v1beta1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAdmissionregistrationV1beta1 struct {
*testing.Fake
}
func (c *FakeAdmissionregistrationV1beta1) MutatingWebhookConfigurations() v1beta1.MutatingWebhookConfigurationInterface {
return &FakeMutatingWebhookConfigurations{c}
}
func (c *FakeAdmissionregistrationV1beta1) ValidatingWebhookConfigurations() v1beta1.ValidatingWebhookConfigurationInterface {
return &FakeValidatingWebhookConfigurations{c}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAdmissionregistrationV1beta1) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,120 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/api/admissionregistration/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeMutatingWebhookConfigurations implements MutatingWebhookConfigurationInterface
type FakeMutatingWebhookConfigurations struct {
Fake *FakeAdmissionregistrationV1beta1
}
var mutatingwebhookconfigurationsResource = schema.GroupVersionResource{Group: "admissionregistration.k8s.io", Version: "v1beta1", Resource: "mutatingwebhookconfigurations"}
var mutatingwebhookconfigurationsKind = schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1beta1", Kind: "MutatingWebhookConfiguration"}
// Get takes name of the mutatingWebhookConfiguration, and returns the corresponding mutatingWebhookConfiguration object, and an error if there is any.
func (c *FakeMutatingWebhookConfigurations) Get(name string, options v1.GetOptions) (result *v1beta1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootGetAction(mutatingwebhookconfigurationsResource, name), &v1beta1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.MutatingWebhookConfiguration), err
}
// List takes label and field selectors, and returns the list of MutatingWebhookConfigurations that match those selectors.
func (c *FakeMutatingWebhookConfigurations) List(opts v1.ListOptions) (result *v1beta1.MutatingWebhookConfigurationList, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootListAction(mutatingwebhookconfigurationsResource, mutatingwebhookconfigurationsKind, opts), &v1beta1.MutatingWebhookConfigurationList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta1.MutatingWebhookConfigurationList{ListMeta: obj.(*v1beta1.MutatingWebhookConfigurationList).ListMeta}
for _, item := range obj.(*v1beta1.MutatingWebhookConfigurationList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested mutatingWebhookConfigurations.
func (c *FakeMutatingWebhookConfigurations) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewRootWatchAction(mutatingwebhookconfigurationsResource, opts))
}
// Create takes the representation of a mutatingWebhookConfiguration and creates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *FakeMutatingWebhookConfigurations) Create(mutatingWebhookConfiguration *v1beta1.MutatingWebhookConfiguration) (result *v1beta1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootCreateAction(mutatingwebhookconfigurationsResource, mutatingWebhookConfiguration), &v1beta1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.MutatingWebhookConfiguration), err
}
// Update takes the representation of a mutatingWebhookConfiguration and updates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *FakeMutatingWebhookConfigurations) Update(mutatingWebhookConfiguration *v1beta1.MutatingWebhookConfiguration) (result *v1beta1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootUpdateAction(mutatingwebhookconfigurationsResource, mutatingWebhookConfiguration), &v1beta1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.MutatingWebhookConfiguration), err
}
// Delete takes name of the mutatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *FakeMutatingWebhookConfigurations) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewRootDeleteAction(mutatingwebhookconfigurationsResource, name), &v1beta1.MutatingWebhookConfiguration{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeMutatingWebhookConfigurations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewRootDeleteCollectionAction(mutatingwebhookconfigurationsResource, listOptions)
_, err := c.Fake.Invokes(action, &v1beta1.MutatingWebhookConfigurationList{})
return err
}
// Patch applies the patch and returns the patched mutatingWebhookConfiguration.
func (c *FakeMutatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.MutatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootPatchSubresourceAction(mutatingwebhookconfigurationsResource, name, pt, data, subresources...), &v1beta1.MutatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.MutatingWebhookConfiguration), err
}

View File

@@ -0,0 +1,120 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/api/admissionregistration/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeValidatingWebhookConfigurations implements ValidatingWebhookConfigurationInterface
type FakeValidatingWebhookConfigurations struct {
Fake *FakeAdmissionregistrationV1beta1
}
var validatingwebhookconfigurationsResource = schema.GroupVersionResource{Group: "admissionregistration.k8s.io", Version: "v1beta1", Resource: "validatingwebhookconfigurations"}
var validatingwebhookconfigurationsKind = schema.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1beta1", Kind: "ValidatingWebhookConfiguration"}
// Get takes name of the validatingWebhookConfiguration, and returns the corresponding validatingWebhookConfiguration object, and an error if there is any.
func (c *FakeValidatingWebhookConfigurations) Get(name string, options v1.GetOptions) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootGetAction(validatingwebhookconfigurationsResource, name), &v1beta1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ValidatingWebhookConfiguration), err
}
// List takes label and field selectors, and returns the list of ValidatingWebhookConfigurations that match those selectors.
func (c *FakeValidatingWebhookConfigurations) List(opts v1.ListOptions) (result *v1beta1.ValidatingWebhookConfigurationList, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootListAction(validatingwebhookconfigurationsResource, validatingwebhookconfigurationsKind, opts), &v1beta1.ValidatingWebhookConfigurationList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta1.ValidatingWebhookConfigurationList{ListMeta: obj.(*v1beta1.ValidatingWebhookConfigurationList).ListMeta}
for _, item := range obj.(*v1beta1.ValidatingWebhookConfigurationList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested validatingWebhookConfigurations.
func (c *FakeValidatingWebhookConfigurations) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewRootWatchAction(validatingwebhookconfigurationsResource, opts))
}
// Create takes the representation of a validatingWebhookConfiguration and creates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *FakeValidatingWebhookConfigurations) Create(validatingWebhookConfiguration *v1beta1.ValidatingWebhookConfiguration) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootCreateAction(validatingwebhookconfigurationsResource, validatingWebhookConfiguration), &v1beta1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ValidatingWebhookConfiguration), err
}
// Update takes the representation of a validatingWebhookConfiguration and updates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *FakeValidatingWebhookConfigurations) Update(validatingWebhookConfiguration *v1beta1.ValidatingWebhookConfiguration) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootUpdateAction(validatingwebhookconfigurationsResource, validatingWebhookConfiguration), &v1beta1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ValidatingWebhookConfiguration), err
}
// Delete takes name of the validatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *FakeValidatingWebhookConfigurations) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewRootDeleteAction(validatingwebhookconfigurationsResource, name), &v1beta1.ValidatingWebhookConfiguration{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeValidatingWebhookConfigurations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewRootDeleteCollectionAction(validatingwebhookconfigurationsResource, listOptions)
_, err := c.Fake.Invokes(action, &v1beta1.ValidatingWebhookConfigurationList{})
return err
}
// Patch applies the patch and returns the patched validatingWebhookConfiguration.
func (c *FakeValidatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootPatchSubresourceAction(validatingwebhookconfigurationsResource, name, pt, data, subresources...), &v1beta1.ValidatingWebhookConfiguration{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ValidatingWebhookConfiguration), err
}

View File

@@ -0,0 +1,23 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
type MutatingWebhookConfigurationExpansion interface{}
type ValidatingWebhookConfigurationExpansion interface{}

View File

@@ -0,0 +1,165 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
"context"
"time"
v1beta1 "k8s.io/api/admissionregistration/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// MutatingWebhookConfigurationsGetter has a method to return a MutatingWebhookConfigurationInterface.
// A group's client should implement this interface.
type MutatingWebhookConfigurationsGetter interface {
MutatingWebhookConfigurations() MutatingWebhookConfigurationInterface
}
// MutatingWebhookConfigurationInterface has methods to work with MutatingWebhookConfiguration resources.
type MutatingWebhookConfigurationInterface interface {
Create(*v1beta1.MutatingWebhookConfiguration) (*v1beta1.MutatingWebhookConfiguration, error)
Update(*v1beta1.MutatingWebhookConfiguration) (*v1beta1.MutatingWebhookConfiguration, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta1.MutatingWebhookConfiguration, error)
List(opts v1.ListOptions) (*v1beta1.MutatingWebhookConfigurationList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.MutatingWebhookConfiguration, err error)
MutatingWebhookConfigurationExpansion
}
// mutatingWebhookConfigurations implements MutatingWebhookConfigurationInterface
type mutatingWebhookConfigurations struct {
client rest.Interface
}
// newMutatingWebhookConfigurations returns a MutatingWebhookConfigurations
func newMutatingWebhookConfigurations(c *AdmissionregistrationV1beta1Client) *mutatingWebhookConfigurations {
return &mutatingWebhookConfigurations{
client: c.RESTClient(),
}
}
// Get takes name of the mutatingWebhookConfiguration, and returns the corresponding mutatingWebhookConfiguration object, and an error if there is any.
func (c *mutatingWebhookConfigurations) Get(name string, options v1.GetOptions) (result *v1beta1.MutatingWebhookConfiguration, err error) {
result = &v1beta1.MutatingWebhookConfiguration{}
err = c.client.Get().
Resource("mutatingwebhookconfigurations").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of MutatingWebhookConfigurations that match those selectors.
func (c *mutatingWebhookConfigurations) List(opts v1.ListOptions) (result *v1beta1.MutatingWebhookConfigurationList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta1.MutatingWebhookConfigurationList{}
err = c.client.Get().
Resource("mutatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested mutatingWebhookConfigurations.
func (c *mutatingWebhookConfigurations) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Resource("mutatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a mutatingWebhookConfiguration and creates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *mutatingWebhookConfigurations) Create(mutatingWebhookConfiguration *v1beta1.MutatingWebhookConfiguration) (result *v1beta1.MutatingWebhookConfiguration, err error) {
result = &v1beta1.MutatingWebhookConfiguration{}
err = c.client.Post().
Resource("mutatingwebhookconfigurations").
Body(mutatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a mutatingWebhookConfiguration and updates it. Returns the server's representation of the mutatingWebhookConfiguration, and an error, if there is any.
func (c *mutatingWebhookConfigurations) Update(mutatingWebhookConfiguration *v1beta1.MutatingWebhookConfiguration) (result *v1beta1.MutatingWebhookConfiguration, err error) {
result = &v1beta1.MutatingWebhookConfiguration{}
err = c.client.Put().
Resource("mutatingwebhookconfigurations").
Name(mutatingWebhookConfiguration.Name).
Body(mutatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the mutatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *mutatingWebhookConfigurations) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Resource("mutatingwebhookconfigurations").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *mutatingWebhookConfigurations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Resource("mutatingwebhookconfigurations").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched mutatingWebhookConfiguration.
func (c *mutatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.MutatingWebhookConfiguration, err error) {
result = &v1beta1.MutatingWebhookConfiguration{}
err = c.client.Patch(pt).
Resource("mutatingwebhookconfigurations").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,165 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
"context"
"time"
v1beta1 "k8s.io/api/admissionregistration/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// ValidatingWebhookConfigurationsGetter has a method to return a ValidatingWebhookConfigurationInterface.
// A group's client should implement this interface.
type ValidatingWebhookConfigurationsGetter interface {
ValidatingWebhookConfigurations() ValidatingWebhookConfigurationInterface
}
// ValidatingWebhookConfigurationInterface has methods to work with ValidatingWebhookConfiguration resources.
type ValidatingWebhookConfigurationInterface interface {
Create(*v1beta1.ValidatingWebhookConfiguration) (*v1beta1.ValidatingWebhookConfiguration, error)
Update(*v1beta1.ValidatingWebhookConfiguration) (*v1beta1.ValidatingWebhookConfiguration, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta1.ValidatingWebhookConfiguration, error)
List(opts v1.ListOptions) (*v1beta1.ValidatingWebhookConfigurationList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ValidatingWebhookConfiguration, err error)
ValidatingWebhookConfigurationExpansion
}
// validatingWebhookConfigurations implements ValidatingWebhookConfigurationInterface
type validatingWebhookConfigurations struct {
client rest.Interface
}
// newValidatingWebhookConfigurations returns a ValidatingWebhookConfigurations
func newValidatingWebhookConfigurations(c *AdmissionregistrationV1beta1Client) *validatingWebhookConfigurations {
return &validatingWebhookConfigurations{
client: c.RESTClient(),
}
}
// Get takes name of the validatingWebhookConfiguration, and returns the corresponding validatingWebhookConfiguration object, and an error if there is any.
func (c *validatingWebhookConfigurations) Get(name string, options v1.GetOptions) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
result = &v1beta1.ValidatingWebhookConfiguration{}
err = c.client.Get().
Resource("validatingwebhookconfigurations").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of ValidatingWebhookConfigurations that match those selectors.
func (c *validatingWebhookConfigurations) List(opts v1.ListOptions) (result *v1beta1.ValidatingWebhookConfigurationList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta1.ValidatingWebhookConfigurationList{}
err = c.client.Get().
Resource("validatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested validatingWebhookConfigurations.
func (c *validatingWebhookConfigurations) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Resource("validatingwebhookconfigurations").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a validatingWebhookConfiguration and creates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *validatingWebhookConfigurations) Create(validatingWebhookConfiguration *v1beta1.ValidatingWebhookConfiguration) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
result = &v1beta1.ValidatingWebhookConfiguration{}
err = c.client.Post().
Resource("validatingwebhookconfigurations").
Body(validatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a validatingWebhookConfiguration and updates it. Returns the server's representation of the validatingWebhookConfiguration, and an error, if there is any.
func (c *validatingWebhookConfigurations) Update(validatingWebhookConfiguration *v1beta1.ValidatingWebhookConfiguration) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
result = &v1beta1.ValidatingWebhookConfiguration{}
err = c.client.Put().
Resource("validatingwebhookconfigurations").
Name(validatingWebhookConfiguration.Name).
Body(validatingWebhookConfiguration).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the validatingWebhookConfiguration and deletes it. Returns an error if one occurs.
func (c *validatingWebhookConfigurations) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Resource("validatingwebhookconfigurations").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *validatingWebhookConfigurations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Resource("validatingwebhookconfigurations").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched validatingWebhookConfiguration.
func (c *validatingWebhookConfigurations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ValidatingWebhookConfiguration, err error) {
result = &v1beta1.ValidatingWebhookConfiguration{}
err = c.client.Patch(pt).
Resource("validatingwebhookconfigurations").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,109 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
v1 "k8s.io/api/apps/v1"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AppsV1Interface interface {
RESTClient() rest.Interface
ControllerRevisionsGetter
DaemonSetsGetter
DeploymentsGetter
ReplicaSetsGetter
StatefulSetsGetter
}
// AppsV1Client is used to interact with features provided by the apps group.
type AppsV1Client struct {
restClient rest.Interface
}
func (c *AppsV1Client) ControllerRevisions(namespace string) ControllerRevisionInterface {
return newControllerRevisions(c, namespace)
}
func (c *AppsV1Client) DaemonSets(namespace string) DaemonSetInterface {
return newDaemonSets(c, namespace)
}
func (c *AppsV1Client) Deployments(namespace string) DeploymentInterface {
return newDeployments(c, namespace)
}
func (c *AppsV1Client) ReplicaSets(namespace string) ReplicaSetInterface {
return newReplicaSets(c, namespace)
}
func (c *AppsV1Client) StatefulSets(namespace string) StatefulSetInterface {
return newStatefulSets(c, namespace)
}
// NewForConfig creates a new AppsV1Client for the given config.
func NewForConfig(c *rest.Config) (*AppsV1Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AppsV1Client{client}, nil
}
// NewForConfigOrDie creates a new AppsV1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AppsV1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AppsV1Client for the given RESTClient.
func New(c rest.Interface) *AppsV1Client {
return &AppsV1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AppsV1Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,175 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
"context"
"time"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// ControllerRevisionsGetter has a method to return a ControllerRevisionInterface.
// A group's client should implement this interface.
type ControllerRevisionsGetter interface {
ControllerRevisions(namespace string) ControllerRevisionInterface
}
// ControllerRevisionInterface has methods to work with ControllerRevision resources.
type ControllerRevisionInterface interface {
Create(*v1.ControllerRevision) (*v1.ControllerRevision, error)
Update(*v1.ControllerRevision) (*v1.ControllerRevision, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
Get(name string, options metav1.GetOptions) (*v1.ControllerRevision, error)
List(opts metav1.ListOptions) (*v1.ControllerRevisionList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ControllerRevision, err error)
ControllerRevisionExpansion
}
// controllerRevisions implements ControllerRevisionInterface
type controllerRevisions struct {
client rest.Interface
ns string
}
// newControllerRevisions returns a ControllerRevisions
func newControllerRevisions(c *AppsV1Client, namespace string) *controllerRevisions {
return &controllerRevisions{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *controllerRevisions) Get(name string, options metav1.GetOptions) (result *v1.ControllerRevision, err error) {
result = &v1.ControllerRevision{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *controllerRevisions) List(opts metav1.ListOptions) (result *v1.ControllerRevisionList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1.ControllerRevisionList{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *controllerRevisions) Watch(opts metav1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Create(controllerRevision *v1.ControllerRevision) (result *v1.ControllerRevision, err error) {
result = &v1.ControllerRevision{}
err = c.client.Post().
Namespace(c.ns).
Resource("controllerrevisions").
Body(controllerRevision).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Update(controllerRevision *v1.ControllerRevision) (result *v1.ControllerRevision, err error) {
result = &v1.ControllerRevision{}
err = c.client.Put().
Namespace(c.ns).
Resource("controllerrevisions").
Name(controllerRevision.Name).
Body(controllerRevision).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *controllerRevisions) Delete(name string, options *metav1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *controllerRevisions) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *controllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ControllerRevision, err error) {
result = &v1.ControllerRevision{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("controllerrevisions").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,192 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
"context"
"time"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// DaemonSetsGetter has a method to return a DaemonSetInterface.
// A group's client should implement this interface.
type DaemonSetsGetter interface {
DaemonSets(namespace string) DaemonSetInterface
}
// DaemonSetInterface has methods to work with DaemonSet resources.
type DaemonSetInterface interface {
Create(*v1.DaemonSet) (*v1.DaemonSet, error)
Update(*v1.DaemonSet) (*v1.DaemonSet, error)
UpdateStatus(*v1.DaemonSet) (*v1.DaemonSet, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
Get(name string, options metav1.GetOptions) (*v1.DaemonSet, error)
List(opts metav1.ListOptions) (*v1.DaemonSetList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.DaemonSet, err error)
DaemonSetExpansion
}
// daemonSets implements DaemonSetInterface
type daemonSets struct {
client rest.Interface
ns string
}
// newDaemonSets returns a DaemonSets
func newDaemonSets(c *AppsV1Client, namespace string) *daemonSets {
return &daemonSets{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the daemonSet, and returns the corresponding daemonSet object, and an error if there is any.
func (c *daemonSets) Get(name string, options metav1.GetOptions) (result *v1.DaemonSet, err error) {
result = &v1.DaemonSet{}
err = c.client.Get().
Namespace(c.ns).
Resource("daemonsets").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of DaemonSets that match those selectors.
func (c *daemonSets) List(opts metav1.ListOptions) (result *v1.DaemonSetList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1.DaemonSetList{}
err = c.client.Get().
Namespace(c.ns).
Resource("daemonsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested daemonSets.
func (c *daemonSets) Watch(opts metav1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("daemonsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a daemonSet and creates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *daemonSets) Create(daemonSet *v1.DaemonSet) (result *v1.DaemonSet, err error) {
result = &v1.DaemonSet{}
err = c.client.Post().
Namespace(c.ns).
Resource("daemonsets").
Body(daemonSet).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a daemonSet and updates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *daemonSets) Update(daemonSet *v1.DaemonSet) (result *v1.DaemonSet, err error) {
result = &v1.DaemonSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("daemonsets").
Name(daemonSet.Name).
Body(daemonSet).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *daemonSets) UpdateStatus(daemonSet *v1.DaemonSet) (result *v1.DaemonSet, err error) {
result = &v1.DaemonSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("daemonsets").
Name(daemonSet.Name).
SubResource("status").
Body(daemonSet).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the daemonSet and deletes it. Returns an error if one occurs.
func (c *daemonSets) Delete(name string, options *metav1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("daemonsets").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *daemonSets) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("daemonsets").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched daemonSet.
func (c *daemonSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.DaemonSet, err error) {
result = &v1.DaemonSet{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("daemonsets").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,224 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
"context"
"time"
v1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// DeploymentsGetter has a method to return a DeploymentInterface.
// A group's client should implement this interface.
type DeploymentsGetter interface {
Deployments(namespace string) DeploymentInterface
}
// DeploymentInterface has methods to work with Deployment resources.
type DeploymentInterface interface {
Create(*v1.Deployment) (*v1.Deployment, error)
Update(*v1.Deployment) (*v1.Deployment, error)
UpdateStatus(*v1.Deployment) (*v1.Deployment, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
Get(name string, options metav1.GetOptions) (*v1.Deployment, error)
List(opts metav1.ListOptions) (*v1.DeploymentList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Deployment, err error)
GetScale(deploymentName string, options metav1.GetOptions) (*autoscalingv1.Scale, error)
UpdateScale(deploymentName string, scale *autoscalingv1.Scale) (*autoscalingv1.Scale, error)
DeploymentExpansion
}
// deployments implements DeploymentInterface
type deployments struct {
client rest.Interface
ns string
}
// newDeployments returns a Deployments
func newDeployments(c *AppsV1Client, namespace string) *deployments {
return &deployments{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any.
func (c *deployments) Get(name string, options metav1.GetOptions) (result *v1.Deployment, err error) {
result = &v1.Deployment{}
err = c.client.Get().
Namespace(c.ns).
Resource("deployments").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of Deployments that match those selectors.
func (c *deployments) List(opts metav1.ListOptions) (result *v1.DeploymentList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1.DeploymentList{}
err = c.client.Get().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested deployments.
func (c *deployments) Watch(opts metav1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *deployments) Create(deployment *v1.Deployment) (result *v1.Deployment, err error) {
result = &v1.Deployment{}
err = c.client.Post().
Namespace(c.ns).
Resource("deployments").
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a deployment and updates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *deployments) Update(deployment *v1.Deployment) (result *v1.Deployment, err error) {
result = &v1.Deployment{}
err = c.client.Put().
Namespace(c.ns).
Resource("deployments").
Name(deployment.Name).
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *deployments) UpdateStatus(deployment *v1.Deployment) (result *v1.Deployment, err error) {
result = &v1.Deployment{}
err = c.client.Put().
Namespace(c.ns).
Resource("deployments").
Name(deployment.Name).
SubResource("status").
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the deployment and deletes it. Returns an error if one occurs.
func (c *deployments) Delete(name string, options *metav1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("deployments").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *deployments) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched deployment.
func (c *deployments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Deployment, err error) {
result = &v1.Deployment{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("deployments").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}
// GetScale takes name of the deployment, and returns the corresponding autoscalingv1.Scale object, and an error if there is any.
func (c *deployments) GetScale(deploymentName string, options metav1.GetOptions) (result *autoscalingv1.Scale, err error) {
result = &autoscalingv1.Scale{}
err = c.client.Get().
Namespace(c.ns).
Resource("deployments").
Name(deploymentName).
SubResource("scale").
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// UpdateScale takes the top resource name and the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *deployments) UpdateScale(deploymentName string, scale *autoscalingv1.Scale) (result *autoscalingv1.Scale, err error) {
result = &autoscalingv1.Scale{}
err = c.client.Put().
Namespace(c.ns).
Resource("deployments").
Name(deploymentName).
SubResource("scale").
Body(scale).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,56 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1 "k8s.io/client-go/deprecated/typed/apps/v1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAppsV1 struct {
*testing.Fake
}
func (c *FakeAppsV1) ControllerRevisions(namespace string) v1.ControllerRevisionInterface {
return &FakeControllerRevisions{c, namespace}
}
func (c *FakeAppsV1) DaemonSets(namespace string) v1.DaemonSetInterface {
return &FakeDaemonSets{c, namespace}
}
func (c *FakeAppsV1) Deployments(namespace string) v1.DeploymentInterface {
return &FakeDeployments{c, namespace}
}
func (c *FakeAppsV1) ReplicaSets(namespace string) v1.ReplicaSetInterface {
return &FakeReplicaSets{c, namespace}
}
func (c *FakeAppsV1) StatefulSets(namespace string) v1.StatefulSetInterface {
return &FakeStatefulSets{c, namespace}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAppsV1) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,128 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeControllerRevisions implements ControllerRevisionInterface
type FakeControllerRevisions struct {
Fake *FakeAppsV1
ns string
}
var controllerrevisionsResource = schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "controllerrevisions"}
var controllerrevisionsKind = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "ControllerRevision"}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *FakeControllerRevisions) Get(name string, options v1.GetOptions) (result *appsv1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(controllerrevisionsResource, c.ns, name), &appsv1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ControllerRevision), err
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *FakeControllerRevisions) List(opts v1.ListOptions) (result *appsv1.ControllerRevisionList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(controllerrevisionsResource, controllerrevisionsKind, c.ns, opts), &appsv1.ControllerRevisionList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &appsv1.ControllerRevisionList{ListMeta: obj.(*appsv1.ControllerRevisionList).ListMeta}
for _, item := range obj.(*appsv1.ControllerRevisionList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *FakeControllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(controllerrevisionsResource, c.ns, opts))
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *FakeControllerRevisions) Create(controllerRevision *appsv1.ControllerRevision) (result *appsv1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(controllerrevisionsResource, c.ns, controllerRevision), &appsv1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ControllerRevision), err
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *FakeControllerRevisions) Update(controllerRevision *appsv1.ControllerRevision) (result *appsv1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(controllerrevisionsResource, c.ns, controllerRevision), &appsv1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ControllerRevision), err
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *FakeControllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(controllerrevisionsResource, c.ns, name), &appsv1.ControllerRevision{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeControllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(controllerrevisionsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &appsv1.ControllerRevisionList{})
return err
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *FakeControllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *appsv1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(controllerrevisionsResource, c.ns, name, pt, data, subresources...), &appsv1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ControllerRevision), err
}

View File

@@ -0,0 +1,140 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeDaemonSets implements DaemonSetInterface
type FakeDaemonSets struct {
Fake *FakeAppsV1
ns string
}
var daemonsetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "daemonsets"}
var daemonsetsKind = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "DaemonSet"}
// Get takes name of the daemonSet, and returns the corresponding daemonSet object, and an error if there is any.
func (c *FakeDaemonSets) Get(name string, options v1.GetOptions) (result *appsv1.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(daemonsetsResource, c.ns, name), &appsv1.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.DaemonSet), err
}
// List takes label and field selectors, and returns the list of DaemonSets that match those selectors.
func (c *FakeDaemonSets) List(opts v1.ListOptions) (result *appsv1.DaemonSetList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(daemonsetsResource, daemonsetsKind, c.ns, opts), &appsv1.DaemonSetList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &appsv1.DaemonSetList{ListMeta: obj.(*appsv1.DaemonSetList).ListMeta}
for _, item := range obj.(*appsv1.DaemonSetList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested daemonSets.
func (c *FakeDaemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(daemonsetsResource, c.ns, opts))
}
// Create takes the representation of a daemonSet and creates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *FakeDaemonSets) Create(daemonSet *appsv1.DaemonSet) (result *appsv1.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(daemonsetsResource, c.ns, daemonSet), &appsv1.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.DaemonSet), err
}
// Update takes the representation of a daemonSet and updates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *FakeDaemonSets) Update(daemonSet *appsv1.DaemonSet) (result *appsv1.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(daemonsetsResource, c.ns, daemonSet), &appsv1.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.DaemonSet), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeDaemonSets) UpdateStatus(daemonSet *appsv1.DaemonSet) (*appsv1.DaemonSet, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(daemonsetsResource, "status", c.ns, daemonSet), &appsv1.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.DaemonSet), err
}
// Delete takes name of the daemonSet and deletes it. Returns an error if one occurs.
func (c *FakeDaemonSets) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(daemonsetsResource, c.ns, name), &appsv1.DaemonSet{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeDaemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(daemonsetsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &appsv1.DaemonSetList{})
return err
}
// Patch applies the patch and returns the patched daemonSet.
func (c *FakeDaemonSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *appsv1.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(daemonsetsResource, c.ns, name, pt, data, subresources...), &appsv1.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.DaemonSet), err
}

View File

@@ -0,0 +1,163 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
appsv1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeDeployments implements DeploymentInterface
type FakeDeployments struct {
Fake *FakeAppsV1
ns string
}
var deploymentsResource = schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "deployments"}
var deploymentsKind = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
// Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any.
func (c *FakeDeployments) Get(name string, options v1.GetOptions) (result *appsv1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(deploymentsResource, c.ns, name), &appsv1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.Deployment), err
}
// List takes label and field selectors, and returns the list of Deployments that match those selectors.
func (c *FakeDeployments) List(opts v1.ListOptions) (result *appsv1.DeploymentList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(deploymentsResource, deploymentsKind, c.ns, opts), &appsv1.DeploymentList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &appsv1.DeploymentList{ListMeta: obj.(*appsv1.DeploymentList).ListMeta}
for _, item := range obj.(*appsv1.DeploymentList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested deployments.
func (c *FakeDeployments) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(deploymentsResource, c.ns, opts))
}
// Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *FakeDeployments) Create(deployment *appsv1.Deployment) (result *appsv1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(deploymentsResource, c.ns, deployment), &appsv1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.Deployment), err
}
// Update takes the representation of a deployment and updates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *FakeDeployments) Update(deployment *appsv1.Deployment) (result *appsv1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(deploymentsResource, c.ns, deployment), &appsv1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.Deployment), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeDeployments) UpdateStatus(deployment *appsv1.Deployment) (*appsv1.Deployment, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(deploymentsResource, "status", c.ns, deployment), &appsv1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.Deployment), err
}
// Delete takes name of the deployment and deletes it. Returns an error if one occurs.
func (c *FakeDeployments) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(deploymentsResource, c.ns, name), &appsv1.Deployment{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeDeployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(deploymentsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &appsv1.DeploymentList{})
return err
}
// Patch applies the patch and returns the patched deployment.
func (c *FakeDeployments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *appsv1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(deploymentsResource, c.ns, name, pt, data, subresources...), &appsv1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.Deployment), err
}
// GetScale takes name of the deployment, and returns the corresponding scale object, and an error if there is any.
func (c *FakeDeployments) GetScale(deploymentName string, options v1.GetOptions) (result *autoscalingv1.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetSubresourceAction(deploymentsResource, c.ns, "scale", deploymentName), &autoscalingv1.Scale{})
if obj == nil {
return nil, err
}
return obj.(*autoscalingv1.Scale), err
}
// UpdateScale takes the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *FakeDeployments) UpdateScale(deploymentName string, scale *autoscalingv1.Scale) (result *autoscalingv1.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(deploymentsResource, "scale", c.ns, scale), &autoscalingv1.Scale{})
if obj == nil {
return nil, err
}
return obj.(*autoscalingv1.Scale), err
}

View File

@@ -0,0 +1,163 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
appsv1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeReplicaSets implements ReplicaSetInterface
type FakeReplicaSets struct {
Fake *FakeAppsV1
ns string
}
var replicasetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "replicasets"}
var replicasetsKind = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "ReplicaSet"}
// Get takes name of the replicaSet, and returns the corresponding replicaSet object, and an error if there is any.
func (c *FakeReplicaSets) Get(name string, options v1.GetOptions) (result *appsv1.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(replicasetsResource, c.ns, name), &appsv1.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ReplicaSet), err
}
// List takes label and field selectors, and returns the list of ReplicaSets that match those selectors.
func (c *FakeReplicaSets) List(opts v1.ListOptions) (result *appsv1.ReplicaSetList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(replicasetsResource, replicasetsKind, c.ns, opts), &appsv1.ReplicaSetList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &appsv1.ReplicaSetList{ListMeta: obj.(*appsv1.ReplicaSetList).ListMeta}
for _, item := range obj.(*appsv1.ReplicaSetList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested replicaSets.
func (c *FakeReplicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(replicasetsResource, c.ns, opts))
}
// Create takes the representation of a replicaSet and creates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *FakeReplicaSets) Create(replicaSet *appsv1.ReplicaSet) (result *appsv1.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(replicasetsResource, c.ns, replicaSet), &appsv1.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ReplicaSet), err
}
// Update takes the representation of a replicaSet and updates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *FakeReplicaSets) Update(replicaSet *appsv1.ReplicaSet) (result *appsv1.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(replicasetsResource, c.ns, replicaSet), &appsv1.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ReplicaSet), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeReplicaSets) UpdateStatus(replicaSet *appsv1.ReplicaSet) (*appsv1.ReplicaSet, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(replicasetsResource, "status", c.ns, replicaSet), &appsv1.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ReplicaSet), err
}
// Delete takes name of the replicaSet and deletes it. Returns an error if one occurs.
func (c *FakeReplicaSets) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(replicasetsResource, c.ns, name), &appsv1.ReplicaSet{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeReplicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(replicasetsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &appsv1.ReplicaSetList{})
return err
}
// Patch applies the patch and returns the patched replicaSet.
func (c *FakeReplicaSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *appsv1.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(replicasetsResource, c.ns, name, pt, data, subresources...), &appsv1.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.ReplicaSet), err
}
// GetScale takes name of the replicaSet, and returns the corresponding scale object, and an error if there is any.
func (c *FakeReplicaSets) GetScale(replicaSetName string, options v1.GetOptions) (result *autoscalingv1.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetSubresourceAction(replicasetsResource, c.ns, "scale", replicaSetName), &autoscalingv1.Scale{})
if obj == nil {
return nil, err
}
return obj.(*autoscalingv1.Scale), err
}
// UpdateScale takes the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *FakeReplicaSets) UpdateScale(replicaSetName string, scale *autoscalingv1.Scale) (result *autoscalingv1.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(replicasetsResource, "scale", c.ns, scale), &autoscalingv1.Scale{})
if obj == nil {
return nil, err
}
return obj.(*autoscalingv1.Scale), err
}

View File

@@ -0,0 +1,163 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
appsv1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeStatefulSets implements StatefulSetInterface
type FakeStatefulSets struct {
Fake *FakeAppsV1
ns string
}
var statefulsetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "statefulsets"}
var statefulsetsKind = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "StatefulSet"}
// Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any.
func (c *FakeStatefulSets) Get(name string, options v1.GetOptions) (result *appsv1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(statefulsetsResource, c.ns, name), &appsv1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.StatefulSet), err
}
// List takes label and field selectors, and returns the list of StatefulSets that match those selectors.
func (c *FakeStatefulSets) List(opts v1.ListOptions) (result *appsv1.StatefulSetList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(statefulsetsResource, statefulsetsKind, c.ns, opts), &appsv1.StatefulSetList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &appsv1.StatefulSetList{ListMeta: obj.(*appsv1.StatefulSetList).ListMeta}
for _, item := range obj.(*appsv1.StatefulSetList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested statefulSets.
func (c *FakeStatefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(statefulsetsResource, c.ns, opts))
}
// Create takes the representation of a statefulSet and creates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *FakeStatefulSets) Create(statefulSet *appsv1.StatefulSet) (result *appsv1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(statefulsetsResource, c.ns, statefulSet), &appsv1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.StatefulSet), err
}
// Update takes the representation of a statefulSet and updates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *FakeStatefulSets) Update(statefulSet *appsv1.StatefulSet) (result *appsv1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(statefulsetsResource, c.ns, statefulSet), &appsv1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.StatefulSet), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeStatefulSets) UpdateStatus(statefulSet *appsv1.StatefulSet) (*appsv1.StatefulSet, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(statefulsetsResource, "status", c.ns, statefulSet), &appsv1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.StatefulSet), err
}
// Delete takes name of the statefulSet and deletes it. Returns an error if one occurs.
func (c *FakeStatefulSets) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(statefulsetsResource, c.ns, name), &appsv1.StatefulSet{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeStatefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(statefulsetsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &appsv1.StatefulSetList{})
return err
}
// Patch applies the patch and returns the patched statefulSet.
func (c *FakeStatefulSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *appsv1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(statefulsetsResource, c.ns, name, pt, data, subresources...), &appsv1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*appsv1.StatefulSet), err
}
// GetScale takes name of the statefulSet, and returns the corresponding scale object, and an error if there is any.
func (c *FakeStatefulSets) GetScale(statefulSetName string, options v1.GetOptions) (result *autoscalingv1.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetSubresourceAction(statefulsetsResource, c.ns, "scale", statefulSetName), &autoscalingv1.Scale{})
if obj == nil {
return nil, err
}
return obj.(*autoscalingv1.Scale), err
}
// UpdateScale takes the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *FakeStatefulSets) UpdateScale(statefulSetName string, scale *autoscalingv1.Scale) (result *autoscalingv1.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(statefulsetsResource, "scale", c.ns, scale), &autoscalingv1.Scale{})
if obj == nil {
return nil, err
}
return obj.(*autoscalingv1.Scale), err
}

View File

@@ -0,0 +1,29 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
type ControllerRevisionExpansion interface{}
type DaemonSetExpansion interface{}
type DeploymentExpansion interface{}
type ReplicaSetExpansion interface{}
type StatefulSetExpansion interface{}

View File

@@ -0,0 +1,224 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
"context"
"time"
v1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// ReplicaSetsGetter has a method to return a ReplicaSetInterface.
// A group's client should implement this interface.
type ReplicaSetsGetter interface {
ReplicaSets(namespace string) ReplicaSetInterface
}
// ReplicaSetInterface has methods to work with ReplicaSet resources.
type ReplicaSetInterface interface {
Create(*v1.ReplicaSet) (*v1.ReplicaSet, error)
Update(*v1.ReplicaSet) (*v1.ReplicaSet, error)
UpdateStatus(*v1.ReplicaSet) (*v1.ReplicaSet, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
Get(name string, options metav1.GetOptions) (*v1.ReplicaSet, error)
List(opts metav1.ListOptions) (*v1.ReplicaSetList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ReplicaSet, err error)
GetScale(replicaSetName string, options metav1.GetOptions) (*autoscalingv1.Scale, error)
UpdateScale(replicaSetName string, scale *autoscalingv1.Scale) (*autoscalingv1.Scale, error)
ReplicaSetExpansion
}
// replicaSets implements ReplicaSetInterface
type replicaSets struct {
client rest.Interface
ns string
}
// newReplicaSets returns a ReplicaSets
func newReplicaSets(c *AppsV1Client, namespace string) *replicaSets {
return &replicaSets{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the replicaSet, and returns the corresponding replicaSet object, and an error if there is any.
func (c *replicaSets) Get(name string, options metav1.GetOptions) (result *v1.ReplicaSet, err error) {
result = &v1.ReplicaSet{}
err = c.client.Get().
Namespace(c.ns).
Resource("replicasets").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of ReplicaSets that match those selectors.
func (c *replicaSets) List(opts metav1.ListOptions) (result *v1.ReplicaSetList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1.ReplicaSetList{}
err = c.client.Get().
Namespace(c.ns).
Resource("replicasets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested replicaSets.
func (c *replicaSets) Watch(opts metav1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("replicasets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a replicaSet and creates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *replicaSets) Create(replicaSet *v1.ReplicaSet) (result *v1.ReplicaSet, err error) {
result = &v1.ReplicaSet{}
err = c.client.Post().
Namespace(c.ns).
Resource("replicasets").
Body(replicaSet).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a replicaSet and updates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *replicaSets) Update(replicaSet *v1.ReplicaSet) (result *v1.ReplicaSet, err error) {
result = &v1.ReplicaSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("replicasets").
Name(replicaSet.Name).
Body(replicaSet).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *replicaSets) UpdateStatus(replicaSet *v1.ReplicaSet) (result *v1.ReplicaSet, err error) {
result = &v1.ReplicaSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("replicasets").
Name(replicaSet.Name).
SubResource("status").
Body(replicaSet).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the replicaSet and deletes it. Returns an error if one occurs.
func (c *replicaSets) Delete(name string, options *metav1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("replicasets").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *replicaSets) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("replicasets").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched replicaSet.
func (c *replicaSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ReplicaSet, err error) {
result = &v1.ReplicaSet{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("replicasets").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}
// GetScale takes name of the replicaSet, and returns the corresponding autoscalingv1.Scale object, and an error if there is any.
func (c *replicaSets) GetScale(replicaSetName string, options metav1.GetOptions) (result *autoscalingv1.Scale, err error) {
result = &autoscalingv1.Scale{}
err = c.client.Get().
Namespace(c.ns).
Resource("replicasets").
Name(replicaSetName).
SubResource("scale").
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// UpdateScale takes the top resource name and the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *replicaSets) UpdateScale(replicaSetName string, scale *autoscalingv1.Scale) (result *autoscalingv1.Scale, err error) {
result = &autoscalingv1.Scale{}
err = c.client.Put().
Namespace(c.ns).
Resource("replicasets").
Name(replicaSetName).
SubResource("scale").
Body(scale).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,224 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
"context"
"time"
v1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// StatefulSetsGetter has a method to return a StatefulSetInterface.
// A group's client should implement this interface.
type StatefulSetsGetter interface {
StatefulSets(namespace string) StatefulSetInterface
}
// StatefulSetInterface has methods to work with StatefulSet resources.
type StatefulSetInterface interface {
Create(*v1.StatefulSet) (*v1.StatefulSet, error)
Update(*v1.StatefulSet) (*v1.StatefulSet, error)
UpdateStatus(*v1.StatefulSet) (*v1.StatefulSet, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
Get(name string, options metav1.GetOptions) (*v1.StatefulSet, error)
List(opts metav1.ListOptions) (*v1.StatefulSetList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.StatefulSet, err error)
GetScale(statefulSetName string, options metav1.GetOptions) (*autoscalingv1.Scale, error)
UpdateScale(statefulSetName string, scale *autoscalingv1.Scale) (*autoscalingv1.Scale, error)
StatefulSetExpansion
}
// statefulSets implements StatefulSetInterface
type statefulSets struct {
client rest.Interface
ns string
}
// newStatefulSets returns a StatefulSets
func newStatefulSets(c *AppsV1Client, namespace string) *statefulSets {
return &statefulSets{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any.
func (c *statefulSets) Get(name string, options metav1.GetOptions) (result *v1.StatefulSet, err error) {
result = &v1.StatefulSet{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of StatefulSets that match those selectors.
func (c *statefulSets) List(opts metav1.ListOptions) (result *v1.StatefulSetList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1.StatefulSetList{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested statefulSets.
func (c *statefulSets) Watch(opts metav1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a statefulSet and creates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *statefulSets) Create(statefulSet *v1.StatefulSet) (result *v1.StatefulSet, err error) {
result = &v1.StatefulSet{}
err = c.client.Post().
Namespace(c.ns).
Resource("statefulsets").
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a statefulSet and updates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *statefulSets) Update(statefulSet *v1.StatefulSet) (result *v1.StatefulSet, err error) {
result = &v1.StatefulSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSet.Name).
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *statefulSets) UpdateStatus(statefulSet *v1.StatefulSet) (result *v1.StatefulSet, err error) {
result = &v1.StatefulSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSet.Name).
SubResource("status").
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the statefulSet and deletes it. Returns an error if one occurs.
func (c *statefulSets) Delete(name string, options *metav1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("statefulsets").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *statefulSets) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched statefulSet.
func (c *statefulSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.StatefulSet, err error) {
result = &v1.StatefulSet{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("statefulsets").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}
// GetScale takes name of the statefulSet, and returns the corresponding autoscalingv1.Scale object, and an error if there is any.
func (c *statefulSets) GetScale(statefulSetName string, options metav1.GetOptions) (result *autoscalingv1.Scale, err error) {
result = &autoscalingv1.Scale{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSetName).
SubResource("scale").
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// UpdateScale takes the top resource name and the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *statefulSets) UpdateScale(statefulSetName string, scale *autoscalingv1.Scale) (result *autoscalingv1.Scale, err error) {
result = &autoscalingv1.Scale{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSetName).
SubResource("scale").
Body(scale).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,99 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
v1beta1 "k8s.io/api/apps/v1beta1"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AppsV1beta1Interface interface {
RESTClient() rest.Interface
ControllerRevisionsGetter
DeploymentsGetter
StatefulSetsGetter
}
// AppsV1beta1Client is used to interact with features provided by the apps group.
type AppsV1beta1Client struct {
restClient rest.Interface
}
func (c *AppsV1beta1Client) ControllerRevisions(namespace string) ControllerRevisionInterface {
return newControllerRevisions(c, namespace)
}
func (c *AppsV1beta1Client) Deployments(namespace string) DeploymentInterface {
return newDeployments(c, namespace)
}
func (c *AppsV1beta1Client) StatefulSets(namespace string) StatefulSetInterface {
return newStatefulSets(c, namespace)
}
// NewForConfig creates a new AppsV1beta1Client for the given config.
func NewForConfig(c *rest.Config) (*AppsV1beta1Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AppsV1beta1Client{client}, nil
}
// NewForConfigOrDie creates a new AppsV1beta1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AppsV1beta1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AppsV1beta1Client for the given RESTClient.
func New(c rest.Interface) *AppsV1beta1Client {
return &AppsV1beta1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1beta1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AppsV1beta1Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,175 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
"context"
"time"
v1beta1 "k8s.io/api/apps/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// ControllerRevisionsGetter has a method to return a ControllerRevisionInterface.
// A group's client should implement this interface.
type ControllerRevisionsGetter interface {
ControllerRevisions(namespace string) ControllerRevisionInterface
}
// ControllerRevisionInterface has methods to work with ControllerRevision resources.
type ControllerRevisionInterface interface {
Create(*v1beta1.ControllerRevision) (*v1beta1.ControllerRevision, error)
Update(*v1beta1.ControllerRevision) (*v1beta1.ControllerRevision, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta1.ControllerRevision, error)
List(opts v1.ListOptions) (*v1beta1.ControllerRevisionList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error)
ControllerRevisionExpansion
}
// controllerRevisions implements ControllerRevisionInterface
type controllerRevisions struct {
client rest.Interface
ns string
}
// newControllerRevisions returns a ControllerRevisions
func newControllerRevisions(c *AppsV1beta1Client, namespace string) *controllerRevisions {
return &controllerRevisions{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *controllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *controllerRevisions) List(opts v1.ListOptions) (result *v1beta1.ControllerRevisionList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta1.ControllerRevisionList{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *controllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Create(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Post().
Namespace(c.ns).
Resource("controllerrevisions").
Body(controllerRevision).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Update(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Put().
Namespace(c.ns).
Resource("controllerrevisions").
Name(controllerRevision.Name).
Body(controllerRevision).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *controllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *controllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *controllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("controllerrevisions").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,192 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
"context"
"time"
v1beta1 "k8s.io/api/apps/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// DeploymentsGetter has a method to return a DeploymentInterface.
// A group's client should implement this interface.
type DeploymentsGetter interface {
Deployments(namespace string) DeploymentInterface
}
// DeploymentInterface has methods to work with Deployment resources.
type DeploymentInterface interface {
Create(*v1beta1.Deployment) (*v1beta1.Deployment, error)
Update(*v1beta1.Deployment) (*v1beta1.Deployment, error)
UpdateStatus(*v1beta1.Deployment) (*v1beta1.Deployment, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta1.Deployment, error)
List(opts v1.ListOptions) (*v1beta1.DeploymentList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Deployment, err error)
DeploymentExpansion
}
// deployments implements DeploymentInterface
type deployments struct {
client rest.Interface
ns string
}
// newDeployments returns a Deployments
func newDeployments(c *AppsV1beta1Client, namespace string) *deployments {
return &deployments{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any.
func (c *deployments) Get(name string, options v1.GetOptions) (result *v1beta1.Deployment, err error) {
result = &v1beta1.Deployment{}
err = c.client.Get().
Namespace(c.ns).
Resource("deployments").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of Deployments that match those selectors.
func (c *deployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta1.DeploymentList{}
err = c.client.Get().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested deployments.
func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *deployments) Create(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) {
result = &v1beta1.Deployment{}
err = c.client.Post().
Namespace(c.ns).
Resource("deployments").
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a deployment and updates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *deployments) Update(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) {
result = &v1beta1.Deployment{}
err = c.client.Put().
Namespace(c.ns).
Resource("deployments").
Name(deployment.Name).
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *deployments) UpdateStatus(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) {
result = &v1beta1.Deployment{}
err = c.client.Put().
Namespace(c.ns).
Resource("deployments").
Name(deployment.Name).
SubResource("status").
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the deployment and deletes it. Returns an error if one occurs.
func (c *deployments) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("deployments").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched deployment.
func (c *deployments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Deployment, err error) {
result = &v1beta1.Deployment{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("deployments").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1beta1

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,48 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/client-go/deprecated/typed/apps/v1beta1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAppsV1beta1 struct {
*testing.Fake
}
func (c *FakeAppsV1beta1) ControllerRevisions(namespace string) v1beta1.ControllerRevisionInterface {
return &FakeControllerRevisions{c, namespace}
}
func (c *FakeAppsV1beta1) Deployments(namespace string) v1beta1.DeploymentInterface {
return &FakeDeployments{c, namespace}
}
func (c *FakeAppsV1beta1) StatefulSets(namespace string) v1beta1.StatefulSetInterface {
return &FakeStatefulSets{c, namespace}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAppsV1beta1) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,128 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/api/apps/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeControllerRevisions implements ControllerRevisionInterface
type FakeControllerRevisions struct {
Fake *FakeAppsV1beta1
ns string
}
var controllerrevisionsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "controllerrevisions"}
var controllerrevisionsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta1", Kind: "ControllerRevision"}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *FakeControllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(controllerrevisionsResource, c.ns, name), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *FakeControllerRevisions) List(opts v1.ListOptions) (result *v1beta1.ControllerRevisionList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(controllerrevisionsResource, controllerrevisionsKind, c.ns, opts), &v1beta1.ControllerRevisionList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta1.ControllerRevisionList{ListMeta: obj.(*v1beta1.ControllerRevisionList).ListMeta}
for _, item := range obj.(*v1beta1.ControllerRevisionList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *FakeControllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(controllerrevisionsResource, c.ns, opts))
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *FakeControllerRevisions) Create(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *FakeControllerRevisions) Update(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *FakeControllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(controllerrevisionsResource, c.ns, name), &v1beta1.ControllerRevision{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeControllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(controllerrevisionsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta1.ControllerRevisionList{})
return err
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *FakeControllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(controllerrevisionsResource, c.ns, name, pt, data, subresources...), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}

View File

@@ -0,0 +1,140 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/api/apps/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeDeployments implements DeploymentInterface
type FakeDeployments struct {
Fake *FakeAppsV1beta1
ns string
}
var deploymentsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "deployments"}
var deploymentsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta1", Kind: "Deployment"}
// Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any.
func (c *FakeDeployments) Get(name string, options v1.GetOptions) (result *v1beta1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(deploymentsResource, c.ns, name), &v1beta1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.Deployment), err
}
// List takes label and field selectors, and returns the list of Deployments that match those selectors.
func (c *FakeDeployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(deploymentsResource, deploymentsKind, c.ns, opts), &v1beta1.DeploymentList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta1.DeploymentList{ListMeta: obj.(*v1beta1.DeploymentList).ListMeta}
for _, item := range obj.(*v1beta1.DeploymentList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested deployments.
func (c *FakeDeployments) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(deploymentsResource, c.ns, opts))
}
// Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *FakeDeployments) Create(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(deploymentsResource, c.ns, deployment), &v1beta1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.Deployment), err
}
// Update takes the representation of a deployment and updates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *FakeDeployments) Update(deployment *v1beta1.Deployment) (result *v1beta1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(deploymentsResource, c.ns, deployment), &v1beta1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.Deployment), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeDeployments) UpdateStatus(deployment *v1beta1.Deployment) (*v1beta1.Deployment, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(deploymentsResource, "status", c.ns, deployment), &v1beta1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.Deployment), err
}
// Delete takes name of the deployment and deletes it. Returns an error if one occurs.
func (c *FakeDeployments) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(deploymentsResource, c.ns, name), &v1beta1.Deployment{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeDeployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(deploymentsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta1.DeploymentList{})
return err
}
// Patch applies the patch and returns the patched deployment.
func (c *FakeDeployments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(deploymentsResource, c.ns, name, pt, data, subresources...), &v1beta1.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.Deployment), err
}

View File

@@ -0,0 +1,140 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/api/apps/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeStatefulSets implements StatefulSetInterface
type FakeStatefulSets struct {
Fake *FakeAppsV1beta1
ns string
}
var statefulsetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "statefulsets"}
var statefulsetsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta1", Kind: "StatefulSet"}
// Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any.
func (c *FakeStatefulSets) Get(name string, options v1.GetOptions) (result *v1beta1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(statefulsetsResource, c.ns, name), &v1beta1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.StatefulSet), err
}
// List takes label and field selectors, and returns the list of StatefulSets that match those selectors.
func (c *FakeStatefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(statefulsetsResource, statefulsetsKind, c.ns, opts), &v1beta1.StatefulSetList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta1.StatefulSetList{ListMeta: obj.(*v1beta1.StatefulSetList).ListMeta}
for _, item := range obj.(*v1beta1.StatefulSetList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested statefulSets.
func (c *FakeStatefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(statefulsetsResource, c.ns, opts))
}
// Create takes the representation of a statefulSet and creates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *FakeStatefulSets) Create(statefulSet *v1beta1.StatefulSet) (result *v1beta1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(statefulsetsResource, c.ns, statefulSet), &v1beta1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.StatefulSet), err
}
// Update takes the representation of a statefulSet and updates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *FakeStatefulSets) Update(statefulSet *v1beta1.StatefulSet) (result *v1beta1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(statefulsetsResource, c.ns, statefulSet), &v1beta1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.StatefulSet), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeStatefulSets) UpdateStatus(statefulSet *v1beta1.StatefulSet) (*v1beta1.StatefulSet, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(statefulsetsResource, "status", c.ns, statefulSet), &v1beta1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.StatefulSet), err
}
// Delete takes name of the statefulSet and deletes it. Returns an error if one occurs.
func (c *FakeStatefulSets) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(statefulsetsResource, c.ns, name), &v1beta1.StatefulSet{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeStatefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(statefulsetsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta1.StatefulSetList{})
return err
}
// Patch applies the patch and returns the patched statefulSet.
func (c *FakeStatefulSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(statefulsetsResource, c.ns, name, pt, data, subresources...), &v1beta1.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.StatefulSet), err
}

View File

@@ -0,0 +1,25 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
type ControllerRevisionExpansion interface{}
type DeploymentExpansion interface{}
type StatefulSetExpansion interface{}

View File

@@ -0,0 +1,192 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
"context"
"time"
v1beta1 "k8s.io/api/apps/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// StatefulSetsGetter has a method to return a StatefulSetInterface.
// A group's client should implement this interface.
type StatefulSetsGetter interface {
StatefulSets(namespace string) StatefulSetInterface
}
// StatefulSetInterface has methods to work with StatefulSet resources.
type StatefulSetInterface interface {
Create(*v1beta1.StatefulSet) (*v1beta1.StatefulSet, error)
Update(*v1beta1.StatefulSet) (*v1beta1.StatefulSet, error)
UpdateStatus(*v1beta1.StatefulSet) (*v1beta1.StatefulSet, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta1.StatefulSet, error)
List(opts v1.ListOptions) (*v1beta1.StatefulSetList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StatefulSet, err error)
StatefulSetExpansion
}
// statefulSets implements StatefulSetInterface
type statefulSets struct {
client rest.Interface
ns string
}
// newStatefulSets returns a StatefulSets
func newStatefulSets(c *AppsV1beta1Client, namespace string) *statefulSets {
return &statefulSets{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any.
func (c *statefulSets) Get(name string, options v1.GetOptions) (result *v1beta1.StatefulSet, err error) {
result = &v1beta1.StatefulSet{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of StatefulSets that match those selectors.
func (c *statefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta1.StatefulSetList{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested statefulSets.
func (c *statefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a statefulSet and creates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *statefulSets) Create(statefulSet *v1beta1.StatefulSet) (result *v1beta1.StatefulSet, err error) {
result = &v1beta1.StatefulSet{}
err = c.client.Post().
Namespace(c.ns).
Resource("statefulsets").
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a statefulSet and updates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *statefulSets) Update(statefulSet *v1beta1.StatefulSet) (result *v1beta1.StatefulSet, err error) {
result = &v1beta1.StatefulSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSet.Name).
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *statefulSets) UpdateStatus(statefulSet *v1beta1.StatefulSet) (result *v1beta1.StatefulSet, err error) {
result = &v1beta1.StatefulSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSet.Name).
SubResource("status").
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the statefulSet and deletes it. Returns an error if one occurs.
func (c *statefulSets) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("statefulsets").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched statefulSet.
func (c *statefulSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StatefulSet, err error) {
result = &v1beta1.StatefulSet{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("statefulsets").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,109 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta2
import (
v1beta2 "k8s.io/api/apps/v1beta2"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AppsV1beta2Interface interface {
RESTClient() rest.Interface
ControllerRevisionsGetter
DaemonSetsGetter
DeploymentsGetter
ReplicaSetsGetter
StatefulSetsGetter
}
// AppsV1beta2Client is used to interact with features provided by the apps group.
type AppsV1beta2Client struct {
restClient rest.Interface
}
func (c *AppsV1beta2Client) ControllerRevisions(namespace string) ControllerRevisionInterface {
return newControllerRevisions(c, namespace)
}
func (c *AppsV1beta2Client) DaemonSets(namespace string) DaemonSetInterface {
return newDaemonSets(c, namespace)
}
func (c *AppsV1beta2Client) Deployments(namespace string) DeploymentInterface {
return newDeployments(c, namespace)
}
func (c *AppsV1beta2Client) ReplicaSets(namespace string) ReplicaSetInterface {
return newReplicaSets(c, namespace)
}
func (c *AppsV1beta2Client) StatefulSets(namespace string) StatefulSetInterface {
return newStatefulSets(c, namespace)
}
// NewForConfig creates a new AppsV1beta2Client for the given config.
func NewForConfig(c *rest.Config) (*AppsV1beta2Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AppsV1beta2Client{client}, nil
}
// NewForConfigOrDie creates a new AppsV1beta2Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AppsV1beta2Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AppsV1beta2Client for the given RESTClient.
func New(c rest.Interface) *AppsV1beta2Client {
return &AppsV1beta2Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1beta2.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AppsV1beta2Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,175 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta2
import (
"context"
"time"
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// ControllerRevisionsGetter has a method to return a ControllerRevisionInterface.
// A group's client should implement this interface.
type ControllerRevisionsGetter interface {
ControllerRevisions(namespace string) ControllerRevisionInterface
}
// ControllerRevisionInterface has methods to work with ControllerRevision resources.
type ControllerRevisionInterface interface {
Create(*v1beta2.ControllerRevision) (*v1beta2.ControllerRevision, error)
Update(*v1beta2.ControllerRevision) (*v1beta2.ControllerRevision, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta2.ControllerRevision, error)
List(opts v1.ListOptions) (*v1beta2.ControllerRevisionList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.ControllerRevision, err error)
ControllerRevisionExpansion
}
// controllerRevisions implements ControllerRevisionInterface
type controllerRevisions struct {
client rest.Interface
ns string
}
// newControllerRevisions returns a ControllerRevisions
func newControllerRevisions(c *AppsV1beta2Client, namespace string) *controllerRevisions {
return &controllerRevisions{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *controllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta2.ControllerRevision, err error) {
result = &v1beta2.ControllerRevision{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *controllerRevisions) List(opts v1.ListOptions) (result *v1beta2.ControllerRevisionList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta2.ControllerRevisionList{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *controllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Create(controllerRevision *v1beta2.ControllerRevision) (result *v1beta2.ControllerRevision, err error) {
result = &v1beta2.ControllerRevision{}
err = c.client.Post().
Namespace(c.ns).
Resource("controllerrevisions").
Body(controllerRevision).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Update(controllerRevision *v1beta2.ControllerRevision) (result *v1beta2.ControllerRevision, err error) {
result = &v1beta2.ControllerRevision{}
err = c.client.Put().
Namespace(c.ns).
Resource("controllerrevisions").
Name(controllerRevision.Name).
Body(controllerRevision).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *controllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *controllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *controllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.ControllerRevision, err error) {
result = &v1beta2.ControllerRevision{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("controllerrevisions").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,192 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta2
import (
"context"
"time"
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// DaemonSetsGetter has a method to return a DaemonSetInterface.
// A group's client should implement this interface.
type DaemonSetsGetter interface {
DaemonSets(namespace string) DaemonSetInterface
}
// DaemonSetInterface has methods to work with DaemonSet resources.
type DaemonSetInterface interface {
Create(*v1beta2.DaemonSet) (*v1beta2.DaemonSet, error)
Update(*v1beta2.DaemonSet) (*v1beta2.DaemonSet, error)
UpdateStatus(*v1beta2.DaemonSet) (*v1beta2.DaemonSet, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta2.DaemonSet, error)
List(opts v1.ListOptions) (*v1beta2.DaemonSetList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.DaemonSet, err error)
DaemonSetExpansion
}
// daemonSets implements DaemonSetInterface
type daemonSets struct {
client rest.Interface
ns string
}
// newDaemonSets returns a DaemonSets
func newDaemonSets(c *AppsV1beta2Client, namespace string) *daemonSets {
return &daemonSets{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the daemonSet, and returns the corresponding daemonSet object, and an error if there is any.
func (c *daemonSets) Get(name string, options v1.GetOptions) (result *v1beta2.DaemonSet, err error) {
result = &v1beta2.DaemonSet{}
err = c.client.Get().
Namespace(c.ns).
Resource("daemonsets").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of DaemonSets that match those selectors.
func (c *daemonSets) List(opts v1.ListOptions) (result *v1beta2.DaemonSetList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta2.DaemonSetList{}
err = c.client.Get().
Namespace(c.ns).
Resource("daemonsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested daemonSets.
func (c *daemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("daemonsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a daemonSet and creates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *daemonSets) Create(daemonSet *v1beta2.DaemonSet) (result *v1beta2.DaemonSet, err error) {
result = &v1beta2.DaemonSet{}
err = c.client.Post().
Namespace(c.ns).
Resource("daemonsets").
Body(daemonSet).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a daemonSet and updates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *daemonSets) Update(daemonSet *v1beta2.DaemonSet) (result *v1beta2.DaemonSet, err error) {
result = &v1beta2.DaemonSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("daemonsets").
Name(daemonSet.Name).
Body(daemonSet).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *daemonSets) UpdateStatus(daemonSet *v1beta2.DaemonSet) (result *v1beta2.DaemonSet, err error) {
result = &v1beta2.DaemonSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("daemonsets").
Name(daemonSet.Name).
SubResource("status").
Body(daemonSet).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the daemonSet and deletes it. Returns an error if one occurs.
func (c *daemonSets) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("daemonsets").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("daemonsets").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched daemonSet.
func (c *daemonSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.DaemonSet, err error) {
result = &v1beta2.DaemonSet{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("daemonsets").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,192 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta2
import (
"context"
"time"
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// DeploymentsGetter has a method to return a DeploymentInterface.
// A group's client should implement this interface.
type DeploymentsGetter interface {
Deployments(namespace string) DeploymentInterface
}
// DeploymentInterface has methods to work with Deployment resources.
type DeploymentInterface interface {
Create(*v1beta2.Deployment) (*v1beta2.Deployment, error)
Update(*v1beta2.Deployment) (*v1beta2.Deployment, error)
UpdateStatus(*v1beta2.Deployment) (*v1beta2.Deployment, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta2.Deployment, error)
List(opts v1.ListOptions) (*v1beta2.DeploymentList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.Deployment, err error)
DeploymentExpansion
}
// deployments implements DeploymentInterface
type deployments struct {
client rest.Interface
ns string
}
// newDeployments returns a Deployments
func newDeployments(c *AppsV1beta2Client, namespace string) *deployments {
return &deployments{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any.
func (c *deployments) Get(name string, options v1.GetOptions) (result *v1beta2.Deployment, err error) {
result = &v1beta2.Deployment{}
err = c.client.Get().
Namespace(c.ns).
Resource("deployments").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of Deployments that match those selectors.
func (c *deployments) List(opts v1.ListOptions) (result *v1beta2.DeploymentList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta2.DeploymentList{}
err = c.client.Get().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested deployments.
func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *deployments) Create(deployment *v1beta2.Deployment) (result *v1beta2.Deployment, err error) {
result = &v1beta2.Deployment{}
err = c.client.Post().
Namespace(c.ns).
Resource("deployments").
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a deployment and updates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *deployments) Update(deployment *v1beta2.Deployment) (result *v1beta2.Deployment, err error) {
result = &v1beta2.Deployment{}
err = c.client.Put().
Namespace(c.ns).
Resource("deployments").
Name(deployment.Name).
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *deployments) UpdateStatus(deployment *v1beta2.Deployment) (result *v1beta2.Deployment, err error) {
result = &v1beta2.Deployment{}
err = c.client.Put().
Namespace(c.ns).
Resource("deployments").
Name(deployment.Name).
SubResource("status").
Body(deployment).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the deployment and deletes it. Returns an error if one occurs.
func (c *deployments) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("deployments").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("deployments").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched deployment.
func (c *deployments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.Deployment, err error) {
result = &v1beta2.Deployment{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("deployments").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1beta2

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,56 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta2 "k8s.io/client-go/deprecated/typed/apps/v1beta2"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAppsV1beta2 struct {
*testing.Fake
}
func (c *FakeAppsV1beta2) ControllerRevisions(namespace string) v1beta2.ControllerRevisionInterface {
return &FakeControllerRevisions{c, namespace}
}
func (c *FakeAppsV1beta2) DaemonSets(namespace string) v1beta2.DaemonSetInterface {
return &FakeDaemonSets{c, namespace}
}
func (c *FakeAppsV1beta2) Deployments(namespace string) v1beta2.DeploymentInterface {
return &FakeDeployments{c, namespace}
}
func (c *FakeAppsV1beta2) ReplicaSets(namespace string) v1beta2.ReplicaSetInterface {
return &FakeReplicaSets{c, namespace}
}
func (c *FakeAppsV1beta2) StatefulSets(namespace string) v1beta2.StatefulSetInterface {
return &FakeStatefulSets{c, namespace}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAppsV1beta2) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,128 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeControllerRevisions implements ControllerRevisionInterface
type FakeControllerRevisions struct {
Fake *FakeAppsV1beta2
ns string
}
var controllerrevisionsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta2", Resource: "controllerrevisions"}
var controllerrevisionsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "ControllerRevision"}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *FakeControllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta2.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(controllerrevisionsResource, c.ns, name), &v1beta2.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ControllerRevision), err
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *FakeControllerRevisions) List(opts v1.ListOptions) (result *v1beta2.ControllerRevisionList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(controllerrevisionsResource, controllerrevisionsKind, c.ns, opts), &v1beta2.ControllerRevisionList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta2.ControllerRevisionList{ListMeta: obj.(*v1beta2.ControllerRevisionList).ListMeta}
for _, item := range obj.(*v1beta2.ControllerRevisionList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *FakeControllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(controllerrevisionsResource, c.ns, opts))
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *FakeControllerRevisions) Create(controllerRevision *v1beta2.ControllerRevision) (result *v1beta2.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta2.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ControllerRevision), err
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *FakeControllerRevisions) Update(controllerRevision *v1beta2.ControllerRevision) (result *v1beta2.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta2.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ControllerRevision), err
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *FakeControllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(controllerrevisionsResource, c.ns, name), &v1beta2.ControllerRevision{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeControllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(controllerrevisionsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta2.ControllerRevisionList{})
return err
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *FakeControllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(controllerrevisionsResource, c.ns, name, pt, data, subresources...), &v1beta2.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ControllerRevision), err
}

View File

@@ -0,0 +1,140 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeDaemonSets implements DaemonSetInterface
type FakeDaemonSets struct {
Fake *FakeAppsV1beta2
ns string
}
var daemonsetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta2", Resource: "daemonsets"}
var daemonsetsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "DaemonSet"}
// Get takes name of the daemonSet, and returns the corresponding daemonSet object, and an error if there is any.
func (c *FakeDaemonSets) Get(name string, options v1.GetOptions) (result *v1beta2.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(daemonsetsResource, c.ns, name), &v1beta2.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.DaemonSet), err
}
// List takes label and field selectors, and returns the list of DaemonSets that match those selectors.
func (c *FakeDaemonSets) List(opts v1.ListOptions) (result *v1beta2.DaemonSetList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(daemonsetsResource, daemonsetsKind, c.ns, opts), &v1beta2.DaemonSetList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta2.DaemonSetList{ListMeta: obj.(*v1beta2.DaemonSetList).ListMeta}
for _, item := range obj.(*v1beta2.DaemonSetList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested daemonSets.
func (c *FakeDaemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(daemonsetsResource, c.ns, opts))
}
// Create takes the representation of a daemonSet and creates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *FakeDaemonSets) Create(daemonSet *v1beta2.DaemonSet) (result *v1beta2.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(daemonsetsResource, c.ns, daemonSet), &v1beta2.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.DaemonSet), err
}
// Update takes the representation of a daemonSet and updates it. Returns the server's representation of the daemonSet, and an error, if there is any.
func (c *FakeDaemonSets) Update(daemonSet *v1beta2.DaemonSet) (result *v1beta2.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(daemonsetsResource, c.ns, daemonSet), &v1beta2.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.DaemonSet), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeDaemonSets) UpdateStatus(daemonSet *v1beta2.DaemonSet) (*v1beta2.DaemonSet, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(daemonsetsResource, "status", c.ns, daemonSet), &v1beta2.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.DaemonSet), err
}
// Delete takes name of the daemonSet and deletes it. Returns an error if one occurs.
func (c *FakeDaemonSets) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(daemonsetsResource, c.ns, name), &v1beta2.DaemonSet{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeDaemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(daemonsetsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta2.DaemonSetList{})
return err
}
// Patch applies the patch and returns the patched daemonSet.
func (c *FakeDaemonSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.DaemonSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(daemonsetsResource, c.ns, name, pt, data, subresources...), &v1beta2.DaemonSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.DaemonSet), err
}

View File

@@ -0,0 +1,140 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeDeployments implements DeploymentInterface
type FakeDeployments struct {
Fake *FakeAppsV1beta2
ns string
}
var deploymentsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta2", Resource: "deployments"}
var deploymentsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "Deployment"}
// Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any.
func (c *FakeDeployments) Get(name string, options v1.GetOptions) (result *v1beta2.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(deploymentsResource, c.ns, name), &v1beta2.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.Deployment), err
}
// List takes label and field selectors, and returns the list of Deployments that match those selectors.
func (c *FakeDeployments) List(opts v1.ListOptions) (result *v1beta2.DeploymentList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(deploymentsResource, deploymentsKind, c.ns, opts), &v1beta2.DeploymentList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta2.DeploymentList{ListMeta: obj.(*v1beta2.DeploymentList).ListMeta}
for _, item := range obj.(*v1beta2.DeploymentList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested deployments.
func (c *FakeDeployments) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(deploymentsResource, c.ns, opts))
}
// Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *FakeDeployments) Create(deployment *v1beta2.Deployment) (result *v1beta2.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(deploymentsResource, c.ns, deployment), &v1beta2.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.Deployment), err
}
// Update takes the representation of a deployment and updates it. Returns the server's representation of the deployment, and an error, if there is any.
func (c *FakeDeployments) Update(deployment *v1beta2.Deployment) (result *v1beta2.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(deploymentsResource, c.ns, deployment), &v1beta2.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.Deployment), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeDeployments) UpdateStatus(deployment *v1beta2.Deployment) (*v1beta2.Deployment, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(deploymentsResource, "status", c.ns, deployment), &v1beta2.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.Deployment), err
}
// Delete takes name of the deployment and deletes it. Returns an error if one occurs.
func (c *FakeDeployments) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(deploymentsResource, c.ns, name), &v1beta2.Deployment{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeDeployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(deploymentsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta2.DeploymentList{})
return err
}
// Patch applies the patch and returns the patched deployment.
func (c *FakeDeployments) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.Deployment, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(deploymentsResource, c.ns, name, pt, data, subresources...), &v1beta2.Deployment{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.Deployment), err
}

View File

@@ -0,0 +1,140 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeReplicaSets implements ReplicaSetInterface
type FakeReplicaSets struct {
Fake *FakeAppsV1beta2
ns string
}
var replicasetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta2", Resource: "replicasets"}
var replicasetsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "ReplicaSet"}
// Get takes name of the replicaSet, and returns the corresponding replicaSet object, and an error if there is any.
func (c *FakeReplicaSets) Get(name string, options v1.GetOptions) (result *v1beta2.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(replicasetsResource, c.ns, name), &v1beta2.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ReplicaSet), err
}
// List takes label and field selectors, and returns the list of ReplicaSets that match those selectors.
func (c *FakeReplicaSets) List(opts v1.ListOptions) (result *v1beta2.ReplicaSetList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(replicasetsResource, replicasetsKind, c.ns, opts), &v1beta2.ReplicaSetList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta2.ReplicaSetList{ListMeta: obj.(*v1beta2.ReplicaSetList).ListMeta}
for _, item := range obj.(*v1beta2.ReplicaSetList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested replicaSets.
func (c *FakeReplicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(replicasetsResource, c.ns, opts))
}
// Create takes the representation of a replicaSet and creates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *FakeReplicaSets) Create(replicaSet *v1beta2.ReplicaSet) (result *v1beta2.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(replicasetsResource, c.ns, replicaSet), &v1beta2.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ReplicaSet), err
}
// Update takes the representation of a replicaSet and updates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *FakeReplicaSets) Update(replicaSet *v1beta2.ReplicaSet) (result *v1beta2.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(replicasetsResource, c.ns, replicaSet), &v1beta2.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ReplicaSet), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeReplicaSets) UpdateStatus(replicaSet *v1beta2.ReplicaSet) (*v1beta2.ReplicaSet, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(replicasetsResource, "status", c.ns, replicaSet), &v1beta2.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ReplicaSet), err
}
// Delete takes name of the replicaSet and deletes it. Returns an error if one occurs.
func (c *FakeReplicaSets) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(replicasetsResource, c.ns, name), &v1beta2.ReplicaSet{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeReplicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(replicasetsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta2.ReplicaSetList{})
return err
}
// Patch applies the patch and returns the patched replicaSet.
func (c *FakeReplicaSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.ReplicaSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(replicasetsResource, c.ns, name, pt, data, subresources...), &v1beta2.ReplicaSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.ReplicaSet), err
}

View File

@@ -0,0 +1,162 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeStatefulSets implements StatefulSetInterface
type FakeStatefulSets struct {
Fake *FakeAppsV1beta2
ns string
}
var statefulsetsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta2", Resource: "statefulsets"}
var statefulsetsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "StatefulSet"}
// Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any.
func (c *FakeStatefulSets) Get(name string, options v1.GetOptions) (result *v1beta2.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(statefulsetsResource, c.ns, name), &v1beta2.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.StatefulSet), err
}
// List takes label and field selectors, and returns the list of StatefulSets that match those selectors.
func (c *FakeStatefulSets) List(opts v1.ListOptions) (result *v1beta2.StatefulSetList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(statefulsetsResource, statefulsetsKind, c.ns, opts), &v1beta2.StatefulSetList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta2.StatefulSetList{ListMeta: obj.(*v1beta2.StatefulSetList).ListMeta}
for _, item := range obj.(*v1beta2.StatefulSetList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested statefulSets.
func (c *FakeStatefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(statefulsetsResource, c.ns, opts))
}
// Create takes the representation of a statefulSet and creates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *FakeStatefulSets) Create(statefulSet *v1beta2.StatefulSet) (result *v1beta2.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(statefulsetsResource, c.ns, statefulSet), &v1beta2.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.StatefulSet), err
}
// Update takes the representation of a statefulSet and updates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *FakeStatefulSets) Update(statefulSet *v1beta2.StatefulSet) (result *v1beta2.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(statefulsetsResource, c.ns, statefulSet), &v1beta2.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.StatefulSet), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeStatefulSets) UpdateStatus(statefulSet *v1beta2.StatefulSet) (*v1beta2.StatefulSet, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(statefulsetsResource, "status", c.ns, statefulSet), &v1beta2.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.StatefulSet), err
}
// Delete takes name of the statefulSet and deletes it. Returns an error if one occurs.
func (c *FakeStatefulSets) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(statefulsetsResource, c.ns, name), &v1beta2.StatefulSet{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeStatefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(statefulsetsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta2.StatefulSetList{})
return err
}
// Patch applies the patch and returns the patched statefulSet.
func (c *FakeStatefulSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.StatefulSet, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(statefulsetsResource, c.ns, name, pt, data, subresources...), &v1beta2.StatefulSet{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.StatefulSet), err
}
// GetScale takes name of the statefulSet, and returns the corresponding scale object, and an error if there is any.
func (c *FakeStatefulSets) GetScale(statefulSetName string, options v1.GetOptions) (result *v1beta2.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetSubresourceAction(statefulsetsResource, c.ns, "scale", statefulSetName), &v1beta2.Scale{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.Scale), err
}
// UpdateScale takes the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *FakeStatefulSets) UpdateScale(statefulSetName string, scale *v1beta2.Scale) (result *v1beta2.Scale, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(statefulsetsResource, "scale", c.ns, scale), &v1beta2.Scale{})
if obj == nil {
return nil, err
}
return obj.(*v1beta2.Scale), err
}

View File

@@ -0,0 +1,29 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta2
type ControllerRevisionExpansion interface{}
type DaemonSetExpansion interface{}
type DeploymentExpansion interface{}
type ReplicaSetExpansion interface{}
type StatefulSetExpansion interface{}

View File

@@ -0,0 +1,192 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta2
import (
"context"
"time"
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// ReplicaSetsGetter has a method to return a ReplicaSetInterface.
// A group's client should implement this interface.
type ReplicaSetsGetter interface {
ReplicaSets(namespace string) ReplicaSetInterface
}
// ReplicaSetInterface has methods to work with ReplicaSet resources.
type ReplicaSetInterface interface {
Create(*v1beta2.ReplicaSet) (*v1beta2.ReplicaSet, error)
Update(*v1beta2.ReplicaSet) (*v1beta2.ReplicaSet, error)
UpdateStatus(*v1beta2.ReplicaSet) (*v1beta2.ReplicaSet, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta2.ReplicaSet, error)
List(opts v1.ListOptions) (*v1beta2.ReplicaSetList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.ReplicaSet, err error)
ReplicaSetExpansion
}
// replicaSets implements ReplicaSetInterface
type replicaSets struct {
client rest.Interface
ns string
}
// newReplicaSets returns a ReplicaSets
func newReplicaSets(c *AppsV1beta2Client, namespace string) *replicaSets {
return &replicaSets{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the replicaSet, and returns the corresponding replicaSet object, and an error if there is any.
func (c *replicaSets) Get(name string, options v1.GetOptions) (result *v1beta2.ReplicaSet, err error) {
result = &v1beta2.ReplicaSet{}
err = c.client.Get().
Namespace(c.ns).
Resource("replicasets").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of ReplicaSets that match those selectors.
func (c *replicaSets) List(opts v1.ListOptions) (result *v1beta2.ReplicaSetList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta2.ReplicaSetList{}
err = c.client.Get().
Namespace(c.ns).
Resource("replicasets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested replicaSets.
func (c *replicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("replicasets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a replicaSet and creates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *replicaSets) Create(replicaSet *v1beta2.ReplicaSet) (result *v1beta2.ReplicaSet, err error) {
result = &v1beta2.ReplicaSet{}
err = c.client.Post().
Namespace(c.ns).
Resource("replicasets").
Body(replicaSet).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a replicaSet and updates it. Returns the server's representation of the replicaSet, and an error, if there is any.
func (c *replicaSets) Update(replicaSet *v1beta2.ReplicaSet) (result *v1beta2.ReplicaSet, err error) {
result = &v1beta2.ReplicaSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("replicasets").
Name(replicaSet.Name).
Body(replicaSet).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *replicaSets) UpdateStatus(replicaSet *v1beta2.ReplicaSet) (result *v1beta2.ReplicaSet, err error) {
result = &v1beta2.ReplicaSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("replicasets").
Name(replicaSet.Name).
SubResource("status").
Body(replicaSet).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the replicaSet and deletes it. Returns an error if one occurs.
func (c *replicaSets) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("replicasets").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("replicasets").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched replicaSet.
func (c *replicaSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.ReplicaSet, err error) {
result = &v1beta2.ReplicaSet{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("replicasets").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,223 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta2
import (
"context"
"time"
v1beta2 "k8s.io/api/apps/v1beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// StatefulSetsGetter has a method to return a StatefulSetInterface.
// A group's client should implement this interface.
type StatefulSetsGetter interface {
StatefulSets(namespace string) StatefulSetInterface
}
// StatefulSetInterface has methods to work with StatefulSet resources.
type StatefulSetInterface interface {
Create(*v1beta2.StatefulSet) (*v1beta2.StatefulSet, error)
Update(*v1beta2.StatefulSet) (*v1beta2.StatefulSet, error)
UpdateStatus(*v1beta2.StatefulSet) (*v1beta2.StatefulSet, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta2.StatefulSet, error)
List(opts v1.ListOptions) (*v1beta2.StatefulSetList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.StatefulSet, err error)
GetScale(statefulSetName string, options v1.GetOptions) (*v1beta2.Scale, error)
UpdateScale(statefulSetName string, scale *v1beta2.Scale) (*v1beta2.Scale, error)
StatefulSetExpansion
}
// statefulSets implements StatefulSetInterface
type statefulSets struct {
client rest.Interface
ns string
}
// newStatefulSets returns a StatefulSets
func newStatefulSets(c *AppsV1beta2Client, namespace string) *statefulSets {
return &statefulSets{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any.
func (c *statefulSets) Get(name string, options v1.GetOptions) (result *v1beta2.StatefulSet, err error) {
result = &v1beta2.StatefulSet{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of StatefulSets that match those selectors.
func (c *statefulSets) List(opts v1.ListOptions) (result *v1beta2.StatefulSetList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1beta2.StatefulSetList{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested statefulSets.
func (c *statefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a statefulSet and creates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *statefulSets) Create(statefulSet *v1beta2.StatefulSet) (result *v1beta2.StatefulSet, err error) {
result = &v1beta2.StatefulSet{}
err = c.client.Post().
Namespace(c.ns).
Resource("statefulsets").
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a statefulSet and updates it. Returns the server's representation of the statefulSet, and an error, if there is any.
func (c *statefulSets) Update(statefulSet *v1beta2.StatefulSet) (result *v1beta2.StatefulSet, err error) {
result = &v1beta2.StatefulSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSet.Name).
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *statefulSets) UpdateStatus(statefulSet *v1beta2.StatefulSet) (result *v1beta2.StatefulSet, err error) {
result = &v1beta2.StatefulSet{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSet.Name).
SubResource("status").
Body(statefulSet).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the statefulSet and deletes it. Returns an error if one occurs.
func (c *statefulSets) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("statefulsets").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("statefulsets").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched statefulSet.
func (c *statefulSets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta2.StatefulSet, err error) {
result = &v1beta2.StatefulSet{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("statefulsets").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}
// GetScale takes name of the statefulSet, and returns the corresponding v1beta2.Scale object, and an error if there is any.
func (c *statefulSets) GetScale(statefulSetName string, options v1.GetOptions) (result *v1beta2.Scale, err error) {
result = &v1beta2.Scale{}
err = c.client.Get().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSetName).
SubResource("scale").
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// UpdateScale takes the top resource name and the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any.
func (c *statefulSets) UpdateScale(statefulSetName string, scale *v1beta2.Scale) (result *v1beta2.Scale, err error) {
result = &v1beta2.Scale{}
err = c.client.Put().
Namespace(c.ns).
Resource("statefulsets").
Name(statefulSetName).
SubResource("scale").
Body(scale).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -0,0 +1,89 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1alpha1
import (
v1alpha1 "k8s.io/api/auditregistration/v1alpha1"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AuditregistrationV1alpha1Interface interface {
RESTClient() rest.Interface
AuditSinksGetter
}
// AuditregistrationV1alpha1Client is used to interact with features provided by the auditregistration.k8s.io group.
type AuditregistrationV1alpha1Client struct {
restClient rest.Interface
}
func (c *AuditregistrationV1alpha1Client) AuditSinks() AuditSinkInterface {
return newAuditSinks(c)
}
// NewForConfig creates a new AuditregistrationV1alpha1Client for the given config.
func NewForConfig(c *rest.Config) (*AuditregistrationV1alpha1Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AuditregistrationV1alpha1Client{client}, nil
}
// NewForConfigOrDie creates a new AuditregistrationV1alpha1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AuditregistrationV1alpha1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AuditregistrationV1alpha1Client for the given RESTClient.
func New(c rest.Interface) *AuditregistrationV1alpha1Client {
return &AuditregistrationV1alpha1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AuditregistrationV1alpha1Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,165 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1alpha1
import (
"context"
"time"
v1alpha1 "k8s.io/api/auditregistration/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
// AuditSinksGetter has a method to return a AuditSinkInterface.
// A group's client should implement this interface.
type AuditSinksGetter interface {
AuditSinks() AuditSinkInterface
}
// AuditSinkInterface has methods to work with AuditSink resources.
type AuditSinkInterface interface {
Create(*v1alpha1.AuditSink) (*v1alpha1.AuditSink, error)
Update(*v1alpha1.AuditSink) (*v1alpha1.AuditSink, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1alpha1.AuditSink, error)
List(opts v1.ListOptions) (*v1alpha1.AuditSinkList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AuditSink, err error)
AuditSinkExpansion
}
// auditSinks implements AuditSinkInterface
type auditSinks struct {
client rest.Interface
}
// newAuditSinks returns a AuditSinks
func newAuditSinks(c *AuditregistrationV1alpha1Client) *auditSinks {
return &auditSinks{
client: c.RESTClient(),
}
}
// Get takes name of the auditSink, and returns the corresponding auditSink object, and an error if there is any.
func (c *auditSinks) Get(name string, options v1.GetOptions) (result *v1alpha1.AuditSink, err error) {
result = &v1alpha1.AuditSink{}
err = c.client.Get().
Resource("auditsinks").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do(context.TODO()).
Into(result)
return
}
// List takes label and field selectors, and returns the list of AuditSinks that match those selectors.
func (c *auditSinks) List(opts v1.ListOptions) (result *v1alpha1.AuditSinkList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
result = &v1alpha1.AuditSinkList{}
err = c.client.Get().
Resource("auditsinks").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do(context.TODO()).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested auditSinks.
func (c *auditSinks) Watch(opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
}
opts.Watch = true
return c.client.Get().
Resource("auditsinks").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch(context.TODO())
}
// Create takes the representation of a auditSink and creates it. Returns the server's representation of the auditSink, and an error, if there is any.
func (c *auditSinks) Create(auditSink *v1alpha1.AuditSink) (result *v1alpha1.AuditSink, err error) {
result = &v1alpha1.AuditSink{}
err = c.client.Post().
Resource("auditsinks").
Body(auditSink).
Do(context.TODO()).
Into(result)
return
}
// Update takes the representation of a auditSink and updates it. Returns the server's representation of the auditSink, and an error, if there is any.
func (c *auditSinks) Update(auditSink *v1alpha1.AuditSink) (result *v1alpha1.AuditSink, err error) {
result = &v1alpha1.AuditSink{}
err = c.client.Put().
Resource("auditsinks").
Name(auditSink.Name).
Body(auditSink).
Do(context.TODO()).
Into(result)
return
}
// Delete takes name of the auditSink and deletes it. Returns an error if one occurs.
func (c *auditSinks) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Resource("auditsinks").
Name(name).
Body(options).
Do(context.TODO()).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *auditSinks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Resource("auditsinks").
VersionedParams(&listOptions, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do(context.TODO()).
Error()
}
// Patch applies the patch and returns the patched auditSink.
func (c *auditSinks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AuditSink, err error) {
result = &v1alpha1.AuditSink{}
err = c.client.Patch(pt).
Resource("auditsinks").
SubResource(subresources...).
Name(name).
Body(data).
Do(context.TODO()).
Into(result)
return
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 The Kubernetes Authors.
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,5 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1alpha1

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,40 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1alpha1 "k8s.io/client-go/deprecated/typed/auditregistration/v1alpha1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAuditregistrationV1alpha1 struct {
*testing.Fake
}
func (c *FakeAuditregistrationV1alpha1) AuditSinks() v1alpha1.AuditSinkInterface {
return &FakeAuditSinks{c}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAuditregistrationV1alpha1) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,120 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1alpha1 "k8s.io/api/auditregistration/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeAuditSinks implements AuditSinkInterface
type FakeAuditSinks struct {
Fake *FakeAuditregistrationV1alpha1
}
var auditsinksResource = schema.GroupVersionResource{Group: "auditregistration.k8s.io", Version: "v1alpha1", Resource: "auditsinks"}
var auditsinksKind = schema.GroupVersionKind{Group: "auditregistration.k8s.io", Version: "v1alpha1", Kind: "AuditSink"}
// Get takes name of the auditSink, and returns the corresponding auditSink object, and an error if there is any.
func (c *FakeAuditSinks) Get(name string, options v1.GetOptions) (result *v1alpha1.AuditSink, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootGetAction(auditsinksResource, name), &v1alpha1.AuditSink{})
if obj == nil {
return nil, err
}
return obj.(*v1alpha1.AuditSink), err
}
// List takes label and field selectors, and returns the list of AuditSinks that match those selectors.
func (c *FakeAuditSinks) List(opts v1.ListOptions) (result *v1alpha1.AuditSinkList, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootListAction(auditsinksResource, auditsinksKind, opts), &v1alpha1.AuditSinkList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1alpha1.AuditSinkList{ListMeta: obj.(*v1alpha1.AuditSinkList).ListMeta}
for _, item := range obj.(*v1alpha1.AuditSinkList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested auditSinks.
func (c *FakeAuditSinks) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewRootWatchAction(auditsinksResource, opts))
}
// Create takes the representation of a auditSink and creates it. Returns the server's representation of the auditSink, and an error, if there is any.
func (c *FakeAuditSinks) Create(auditSink *v1alpha1.AuditSink) (result *v1alpha1.AuditSink, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootCreateAction(auditsinksResource, auditSink), &v1alpha1.AuditSink{})
if obj == nil {
return nil, err
}
return obj.(*v1alpha1.AuditSink), err
}
// Update takes the representation of a auditSink and updates it. Returns the server's representation of the auditSink, and an error, if there is any.
func (c *FakeAuditSinks) Update(auditSink *v1alpha1.AuditSink) (result *v1alpha1.AuditSink, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootUpdateAction(auditsinksResource, auditSink), &v1alpha1.AuditSink{})
if obj == nil {
return nil, err
}
return obj.(*v1alpha1.AuditSink), err
}
// Delete takes name of the auditSink and deletes it. Returns an error if one occurs.
func (c *FakeAuditSinks) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewRootDeleteAction(auditsinksResource, name), &v1alpha1.AuditSink{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeAuditSinks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewRootDeleteCollectionAction(auditsinksResource, listOptions)
_, err := c.Fake.Invokes(action, &v1alpha1.AuditSinkList{})
return err
}
// Patch applies the patch and returns the patched auditSink.
func (c *FakeAuditSinks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AuditSink, err error) {
obj, err := c.Fake.
Invokes(testing.NewRootPatchSubresourceAction(auditsinksResource, name, pt, data, subresources...), &v1alpha1.AuditSink{})
if obj == nil {
return nil, err
}
return obj.(*v1alpha1.AuditSink), err
}

View File

@@ -0,0 +1,21 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1alpha1
type AuditSinkExpansion interface{}

View File

@@ -0,0 +1,9 @@
# See the OWNERS docs at https://go.k8s.io/owners
approvers:
- sig-auth-authenticators-approvers
reviewers:
- sig-auth-authenticators-reviewers
labels:
- sig/auth

View File

@@ -0,0 +1,89 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
v1 "k8s.io/api/authentication/v1"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AuthenticationV1Interface interface {
RESTClient() rest.Interface
TokenReviewsGetter
}
// AuthenticationV1Client is used to interact with features provided by the authentication.k8s.io group.
type AuthenticationV1Client struct {
restClient rest.Interface
}
func (c *AuthenticationV1Client) TokenReviews() TokenReviewInterface {
return newTokenReviews(c)
}
// NewForConfig creates a new AuthenticationV1Client for the given config.
func NewForConfig(c *rest.Config) (*AuthenticationV1Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AuthenticationV1Client{client}, nil
}
// NewForConfigOrDie creates a new AuthenticationV1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AuthenticationV1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AuthenticationV1Client for the given RESTClient.
func New(c rest.Interface) *AuthenticationV1Client {
return &AuthenticationV1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AuthenticationV1Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,40 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1 "k8s.io/client-go/deprecated/typed/authentication/v1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAuthenticationV1 struct {
*testing.Fake
}
func (c *FakeAuthenticationV1) TokenReviews() v1.TokenReviewInterface {
return &FakeTokenReviews{c}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAuthenticationV1) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,24 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
// FakeTokenReviews implements TokenReviewInterface
type FakeTokenReviews struct {
Fake *FakeAuthenticationV1
}

View File

@@ -17,11 +17,17 @@ limitations under the License.
package fake
import (
"context"
authenticationapi "k8s.io/api/authentication/v1"
core "k8s.io/client-go/testing"
)
func (c *FakeTokenReviews) Create(tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
return c.CreateContext(context.Background(), tokenReview)
}
func (c *FakeTokenReviews) CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
obj, err := c.Fake.Invokes(core.NewRootCreateAction(authenticationapi.SchemeGroupVersion.WithResource("tokenreviews"), tokenReview), &authenticationapi.TokenReview{})
return obj.(*authenticationapi.TokenReview), err
}

View File

@@ -1,4 +1,5 @@
Copyright 2011-2016 Canonical Ltd.
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -11,3 +12,8 @@ distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 The Kubernetes Authors.
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,33 +14,33 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package v1beta2
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
rest "k8s.io/client-go/rest"
)
// ScalesGetter has a method to return a ScaleInterface.
// TokenReviewsGetter has a method to return a TokenReviewInterface.
// A group's client should implement this interface.
type ScalesGetter interface {
Scales(namespace string) ScaleInterface
type TokenReviewsGetter interface {
TokenReviews() TokenReviewInterface
}
// ScaleInterface has methods to work with Scale resources.
type ScaleInterface interface {
ScaleExpansion
// TokenReviewInterface has methods to work with TokenReview resources.
type TokenReviewInterface interface {
TokenReviewExpansion
}
// scales implements ScaleInterface
type scales struct {
// tokenReviews implements TokenReviewInterface
type tokenReviews struct {
client rest.Interface
ns string
}
// newScales returns a Scales
func newScales(c *AppsV1beta2Client, namespace string) *scales {
return &scales{
// newTokenReviews returns a TokenReviews
func newTokenReviews(c *AuthenticationV1Client) *tokenReviews {
return &tokenReviews{
client: c.RESTClient(),
ns: namespace,
}
}

View File

@@ -17,19 +17,26 @@ limitations under the License.
package v1
import (
"context"
authenticationapi "k8s.io/api/authentication/v1"
)
type TokenReviewExpansion interface {
Create(tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error)
CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error)
}
func (c *tokenReviews) Create(tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
return c.CreateContext(context.Background(), tokenReview)
}
func (c *tokenReviews) CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
result = &authenticationapi.TokenReview{}
err = c.client.Post().
Resource("tokenreviews").
Body(tokenReview).
Do().
Do(ctx).
Into(result)
return
}

View File

@@ -0,0 +1,89 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1beta1
import (
v1beta1 "k8s.io/api/authentication/v1beta1"
"k8s.io/client-go/deprecated/scheme"
rest "k8s.io/client-go/rest"
)
type AuthenticationV1beta1Interface interface {
RESTClient() rest.Interface
TokenReviewsGetter
}
// AuthenticationV1beta1Client is used to interact with features provided by the authentication.k8s.io group.
type AuthenticationV1beta1Client struct {
restClient rest.Interface
}
func (c *AuthenticationV1beta1Client) TokenReviews() TokenReviewInterface {
return newTokenReviews(c)
}
// NewForConfig creates a new AuthenticationV1beta1Client for the given config.
func NewForConfig(c *rest.Config) (*AuthenticationV1beta1Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AuthenticationV1beta1Client{client}, nil
}
// NewForConfigOrDie creates a new AuthenticationV1beta1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AuthenticationV1beta1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AuthenticationV1beta1Client for the given RESTClient.
func New(c rest.Interface) *AuthenticationV1beta1Client {
return &AuthenticationV1beta1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1beta1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AuthenticationV1beta1Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v1beta1

View File

@@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@@ -0,0 +1,40 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1beta1 "k8s.io/client-go/deprecated/typed/authentication/v1beta1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAuthenticationV1beta1 struct {
*testing.Fake
}
func (c *FakeAuthenticationV1beta1) TokenReviews() v1beta1.TokenReviewInterface {
return &FakeTokenReviews{c}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAuthenticationV1beta1) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@@ -0,0 +1,24 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
// FakeTokenReviews implements TokenReviewInterface
type FakeTokenReviews struct {
Fake *FakeAuthenticationV1beta1
}

View File

@@ -17,11 +17,17 @@ limitations under the License.
package fake
import (
"context"
authenticationapi "k8s.io/api/authentication/v1beta1"
core "k8s.io/client-go/testing"
)
func (c *FakeTokenReviews) Create(tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
return c.CreateContext(context.Background(), tokenReview)
}
func (c *FakeTokenReviews) CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
obj, err := c.Fake.Invokes(core.NewRootCreateAction(authenticationapi.SchemeGroupVersion.WithResource("tokenreviews"), tokenReview), &authenticationapi.TokenReview{})
return obj.(*authenticationapi.TokenReview), err
}

Some files were not shown because too many files have changed in this diff Show More