Compare commits

..

196 Commits

Author SHA1 Message Date
Kubernetes Publisher
b6204ba891 Merge pull request #101179 from apelisse/cherrypick-smd-version
Pin sigs.k8s.io/structured-merged-diff/v3 at v3.0.1

Kubernetes-commit: a5d842bef97260d07eb54cc6e0ad57b64f6cd51b
2021-05-18 12:21:39 +00:00
Antoine Pelisse
65790b010c Pin sigs.k8s.io/structured-merged-diff/v3 at v3.0.1
Kubernetes-commit: ecb1af7cce27dc31bc8a47a5fd5cf83fe7dac9c4
2021-04-15 20:53:19 -07:00
Kubernetes Publisher
4a746fece9 Merge pull request #100514 from joelsmith/release-1.18
[1.18] Cherry pick of #98477: update gogo/protobuf to v1.3.2

Kubernetes-commit: 55c7f26659b8cf4ce1a424a4619197c2499e2247
2021-03-29 20:22:31 +00:00
Joel Smith
f3099dcb98 update gogo/protobuf to v1.3.2
gogo/protobuf@v1.3.2 fixes https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3121

Ref: https://github.com/kubernetes/client-go/issues/927

Kubernetes-commit: f54f378b2be6a7a2a1b34d8cefbba799126a05bb
2021-03-23 23:25:28 -06:00
Kubernetes Publisher
9f63b49adc Merge pull request #100376 from liggitt/http2-1.18
Cherrypick #95981 to 1.18, Enables HTTP/2 health check

Kubernetes-commit: e680574e6e218b29fca89aac9d83ad82341c8ac4
2021-03-25 12:28:43 +00:00
Jordan Liggitt
d46e3cc3d4 update golang.org/x/net and golang.org/x/sys, equivalent of PR 96549
Kubernetes-commit: 95ceebc8f528f8990c3b91809ca7c50a7c24be93
2021-03-18 13:09:09 -04:00
Kubernetes Publisher
d979ba3a78 Merge pull request #94148 from liggitt/json-patch-1.18
[1.18] Update to json-patch 4.9.0

Kubernetes-commit: 62eff8d42cff51ddab6ef3c5b3f7380a5c02815f
2020-09-03 13:57:48 +00:00
Jordan Liggitt
9efa6c0104 Update json-patch to v4.9.0 tagged release
Kubernetes-commit: f28d1007a56fa23c1874b973fa0024eddffc6fac
2020-08-20 17:14:41 -04:00
Kubernetes Publisher
5c2f92ef30 Merge pull request #93811 from liggitt/json-patch-4.8.0-1.18
[1.18] Update to json-patch 4.8.0

Kubernetes-commit: 7914bac28a993d4493e0c1e31323bb9330dbdcf6
2020-08-12 05:55:01 +00:00
Jordan Liggitt
a73c22ff8c Update to json-patch 4.8.0
Kubernetes-commit: b924a9330380fd993ad9ca4ebb171c1a67ecb51f
2020-08-08 09:59:16 -04:00
Kubernetes Publisher
402682f45e 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:55:14 +00:00
Jordan Liggitt
1bcabdb7bb kube-openapi bump to release-1.18
Kubernetes-commit: 34726e1b50d1dd7de5972c824db566511813d8b7
2020-04-09 14:51:42 -04:00
Kubernetes Publisher
167e94f6f4 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 05:07:41 +00:00
Hemant Kumar
efc034341b 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
1cf80b89ee 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:54:20 +00:00
Antonio Ojea
86abc3c69e 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
feb0ae239c 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:41:42 +00:00
marosset
3420767a3c Updating vendored files
Kubernetes-commit: cf790a8d209cb61fe8a97b4947b556cdb77be015
2020-03-20 21:13:48 +00:00
Kubernetes Publisher
08c206a29f Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: 4345b892177bf918d49fea1876bfbe236e251734
2020-03-08 14:53:38 +00:00
Kubernetes Publisher
afa54d0c43 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:40:55 +00:00
Kubernetes Publisher
4272ebdfb8 Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: df00300353342181f7930d81c197f52b0d6164de
2020-03-06 20:56:15 +00:00
Antoine Pelisse
9f70ec49bf Bump sigs.k8s.io/structured-merge-diff to v3
Kubernetes-commit: df41fd932bef1686b30a1abee477c5009ebabe80
2020-03-05 13:09:50 -08:00
Mike Danese
1357d00961 update clients
Kubernetes-commit: 86bd06c8820a785cb8d74ef29d4a6a80c08988c0
2020-03-01 08:54:33 -08:00
Kubernetes Publisher
331469446e Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: ee5e5d216da4d3ec8106e3cfc1507599b8787b7b
2020-03-04 20:49:54 +00:00
saad-ali
43ac6031e7 Update dep k8s.io/utils to 0a110f9eb7ab
Kubernetes-commit: 22e8189f40fc95b18bad2b59ba2ad20ae7c69ea9
2020-02-28 18:22:45 -08:00
Kubernetes Publisher
21b900fa86 Merge remote-tracking branch 'origin/master' into release-1.18
Kubernetes-commit: 490f4bacd293561bd0b5b785f30c666d99ecaeec
2020-02-23 12:50:16 +00:00
Benjamin Elder
9f602dfb55 update golang.org/x/crypto
Kubernetes-commit: 86ead631585825725e39f9a5e99c169b892a338c
2020-02-20 13:17:51 -08:00
andrewsykim
0981c9f5b1 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
Kubernetes Publisher
05e054c7a4 Merge pull request #87952 from mikedanese/opts
add *Options to Create, Update, and Patch in generated clientsets

Kubernetes-commit: abe6321296123aaba8e83978f7d17951ab1b64fd
2020-02-09 07:14:57 +00:00
Kubernetes Publisher
18387238ee 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:14:56 +00:00
Kubernetes Publisher
950eb22709 Merge pull request #87299 from mikedanese/ctx
context in client-go

Kubernetes-commit: 334d788f081e3bd6bb5fbbb5130c7d0810afc91e
2020-02-08 15:12:50 +00:00
Joe Betz
92ba4d84d0 Bump to latest SMD to pick up performance optimizations
Kubernetes-commit: d9faaca64738a50455f38dd88845e8b4b5ca37e2
2020-02-06 15:10:25 -08:00
Mike Danese
6df6a8fc23 generated: update clients
Kubernetes-commit: 1dcd1fb3b7a4399bdfd1aeaa8d200ae899a30b27
2020-02-04 17:53:04 -08:00
Mike Danese
ef20aa3dd1 generated: run refactor
Kubernetes-commit: 25651408aeadf38c3df7ea8c760e7519fd37d625
2020-02-08 12:30:21 -05:00
Mike Danese
d83890112b generated: update clients
Kubernetes-commit: 9443a3814446ecca4905f7ac7059c67f120151b9
2020-02-04 10:13:30 -08:00
Mike Danese
297436d318 generated: run refactor
Kubernetes-commit: 3aa59f7f3077642592dc8a864fcef8ba98699894
2020-02-07 18:16:47 -08:00
Kubernetes Publisher
81e6fe3b90 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:14:28 +00:00
Davanum Srinivas
4e2b652898 Updating dependency sigs.k8s.io/yaml to version v1.2.0
Kubernetes-commit: 5bb1838c5c197dd06af5f37df6fdaf8093338f67
2020-02-04 15:45:47 -05:00
Kubernetes Publisher
d90ced32cf sync: update go.mod 2020-02-02 07:33:55 +00:00
Kubernetes Publisher
9d489c7b9d Merge pull request #87597 from mikedanese/rctx
Refactor context handling in rest.Request

Kubernetes-commit: 60dd5dbd8b2347284b7e9b87a5700f54c185034e
2020-01-30 07:38:37 +00:00
Kubernetes Publisher
edca37f8f5 Merge pull request #87431 from dprotaso/bump-gofuzz
bump github.com/google/gofuzz

Kubernetes-commit: fc3b7b6dcde835291bd2103d78df9391b20bba39
2020-01-30 07:38:36 +00:00
Kubernetes Publisher
c94d7696a4 Merge pull request #83526 from eloyekunle/feat/gengo-reverse-import
import-boss reverse import

Kubernetes-commit: f5a008746aeae60feafafb77a0f07bebfceb2d97
2020-01-29 03:34:53 +00:00
Elijah Oyekunle
ee78ef29b9 bump gengo version
Kubernetes-commit: cece51b9b0b8322401f17f0650af864b9867f12e
2020-01-28 10:51:37 +01:00
Mike Danese
964a347899 regenerate clients
Kubernetes-commit: 59e757afef07beb17e26c02eade097d031cb49c7
2020-01-27 18:12:12 -08:00
Kubernetes Publisher
960347feac Merge pull request #87138 from markusthoemmes/fix-capitalization-error
Fix error-string-capitalization in clientset generator.

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

Kubernetes-commit: 07b358b1904c3c16a40a93a18f95e9411d9a2789
2020-01-24 03:37:09 +00:00
Kubernetes Publisher
bd4ff3d8ad Merge pull request #87442 from jennybuckley/smd-3
Update structured-merge-diff dependency to v3

Kubernetes-commit: 03cb6afc1a7d43e8ea034279a19801d3d3fb17b3
2020-01-23 07:38:42 +00:00
CJ Cullen
4f28e14945 update gopkg.in/yaml.v2 to v2.2.8
Kubernetes-commit: b86df2bec4f377afc0ca03482ffad2f0a49a83b8
2020-01-22 11:32:39 -08:00
jennybuckley
5605e8990d Update Structured Merge Diff to V3
Kubernetes-commit: b33fbc84d9d6e7033c36fa3bc321b8fea28ceed6
2020-01-21 15:03:56 -08:00
Dave Protasowski
551d70ff44 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
Kubernetes Publisher
f983218c80 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:52:50 +00:00
Davanum Srinivas
ab1c547945 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
bab5a99d15 Updating dependency google.golang.org/grpc to version v1.26.0
Kubernetes-commit: 3b29bcf52d3f6a73af9830cf55159893899c2b1b
2020-01-13 17:38:18 -05:00
Davanum Srinivas
59665bb9b6 Updating dependency github.com/gogo/protobuf to version v1.3.1
Kubernetes-commit: 9c78f05d06cb43dce4363cad03ff79f579c22eee
2020-01-13 17:36:07 -05:00
Kubernetes Publisher
de9f70c977 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:54:08 +00:00
Kubernetes Publisher
2ddb023c08 Merge pull request #87226 from liggitt/simplify-code-generator
Simplify code generator dependencies

Kubernetes-commit: b95d571e32294047a5fb9ca93ee4e394f6765308
2020-01-15 19:50:53 +00:00
Jordan Liggitt
a23205f445 hack/update-vendor.sh
Kubernetes-commit: e8a8bdb4cac0c9299da7317d41bcb3e1320424e1
2020-01-14 21:56:32 -05:00
Kubernetes Publisher
f8d330e562 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:51:10 +00:00
Kubernetes Publisher
ab780863f6 Merge pull request #87088 from dims/switch-to-newer-gonum
Drop random SHA and update gonum.org/v1/gonum to v0.6.2

Kubernetes-commit: bb3f8c7c899d7166c31934b80b39c7307ec85b7a
2020-01-13 23:51:09 +00:00
Davanum Srinivas
a9e1ddb708 Updating dependency github.com/elazarl/goproxy to version 947c36d
Kubernetes-commit: a6d72ab71323b01846b37fe896bae3e0886a86ba
2020-01-13 12:33:25 -05:00
Markus Thömmes
7002d8cfae Fix error-string-capitalization in clientset generator.
Kubernetes-commit: 14e0cac5e7a6b07c58e78b0daff48d098fdd2150
2020-01-13 11:17:05 +01:00
Davanum Srinivas
575eb3267b 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
7e92736cc3 Merge pull request #85458 from cjcullen/yaml
Update gopkg.in/yaml.v2 to v2.2.7

Kubernetes-commit: 7f2128757b1aa2e83320d1f635fe8b2e7028542a
2020-01-11 15:50:42 +00:00
Davanum Srinivas
55a37d4522 update gonum.org/v1/gonum to v0.6.2
Kubernetes-commit: f66ef23c1182e72db9cbb80f6df4186a326374c0
2020-01-10 15:26:48 -05:00
Kubernetes Publisher
7b12eff437 Merge pull request #86346 from SataQiu/bump-utils-20191217
Bump k8s.io/utils version

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

Kubernetes-commit: 4ff692861908697c530b6b8ba48a5eb442bd7ed7
2019-12-20 23:50:14 +00:00
Carlos de Paula
93c2e44338 Bump Ginkgo module to release version
Kubernetes-commit: c71dd7e4ee6b6f8f624ffc12fc38d1c6dedc5739
2019-12-19 19:30:42 -03:00
Carlos de Paula
6976381688 Bump Ginkgo to support building on riscv64 arch
Kubernetes-commit: ecfd30d2517c52f158b099abcc303cce307c324d
2019-12-06 15:23:15 -05:00
Kubernetes Publisher
8ed8142b5c 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:13:29 +00:00
Odin Ugedal
2c5619cf7a 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
65e4a11739 Merge pull request #84327 from byteor/codereview
[k8s.io/sample-controller/controller.go]: fixup minor typo

Kubernetes-commit: 143f9dd7ccca34445f152722fe8ccbb21f5d3cc4
2019-11-23 02:10:55 +00:00
Kubernetes Publisher
d454fe8177 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 02:12:13 +00:00
CJ Cullen
7fc9944bbb update gopkg.in/yaml.v2 to v2.2.7
Kubernetes-commit: aa278345fa55ee9f3e097da1b590fcabd85270f7
2019-11-19 09:39:27 -08:00
Dr. Stefan Schimanski
01bbecf3b2 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
ef93e2e76a Merge pull request #85305 from codenrhoden/remove-mount-pkg
Remove pkg/util/mount (moved out of tree)

Kubernetes-commit: 45e0080fd5883e3355233c9c22fa5bf242d525dd
2019-11-15 22:10:02 +00:00
Travis Rhoden
b3ad0016ff 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
Kubernetes Publisher
055fb85f0a Merge pull request #84424 from mikedanese/expcache
Add an expiring cache for the caching token authenticator

Kubernetes-commit: 19b4017b5d5c5695403a9804f5ea3de11a436c04
2019-11-15 02:06:46 +00:00
Kubernetes Publisher
33e2132d1e Merge pull request #85175 from liggitt/golang-org-comments
Add comments to explain golang.org replace directives

Kubernetes-commit: 24334444b46371e26594e1f6e594195a761b53d3
2019-11-14 22:25:29 +00:00
Jordan Liggitt
424188e943 Add comments to explain golang.org replace directives
Kubernetes-commit: 9f40e19d7ac9e2203c23814701468a26eee1964f
2019-11-12 23:54:26 -05:00
Kubernetes Publisher
de0ba49f28 Merge pull request #83840 from liggitt/json-iter
bump json-iterator dependency

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

Kubernetes-commit: dd6faa5da791c06fa23ff668e4463c3ad2b23340
2019-11-08 07:15:22 +00:00
yue9944882
7b8c63153b update k8s.io/kube-openapi to 30be4d16710a
Kubernetes-commit: 8e7606f32898b294fc25152ff8bd34f62d6221d3
2019-11-07 18:39:08 +08:00
Kubernetes Publisher
97ea7f1bbd Merge pull request #82809 from liggitt/go-1.13-no-modules
update to use go1.13.4

Kubernetes-commit: 695c3061dd92a6b6950f8adf0341ceb4a8dd44d7
2019-11-07 03:24:42 +00:00
Jordan Liggitt
fe7e76b7d4 hack/update-vendor.sh
Kubernetes-commit: 297570e06a88db23e16dbdbf6ce3173fe0ae376c
2019-11-05 14:11:10 -05:00
Kubernetes Publisher
472018681a Merge pull request #84604 from codenrhoden/update-utils-dep
Update k8s.io/utils dependency to latest

Kubernetes-commit: 97e28edb6620568d985f3b03b495a0a373aa8750
2019-11-01 23:13:24 +00:00
Travis Rhoden
09364c09e9 Update k8s.io/utils dependency to latest
Kubernetes-commit: 81f66ecbb5ff359ac765c7f332289dd8c1737c39
2019-10-31 08:35:01 -06:00
Mike Danese
326f8f2c88 Add an expiring cache for the caching token authenticator
And maybe the webhook authorizer cache.

This cache has two primary advantages over the LRU cache used currently:

- Cache hits don't acquire an exclusive lock.
- More importantly, performance doesn't fallover when the access pattern
  scans a key space larger than an arbitrary size (e.g. the LRU
  capacity).

The downside of using an expiring cache here is that it doesn't have a
maximum size so it's suspectible to DoS when the input is user
controlled. This is not the case for successful authentications, and
successful authentications have a natural expiry so it might be a good
fit here.

It has some a few differences compared to:

3d7318f29d/staging/src/k8s.io/client-go/tools/cache/expiration_cache.go

- Expiration is not entirely lazy so keys that are never accessed again
  are still released from the cache.
- It does not acquire an exclusive lock on cache hits.
- It supports per entry ttls specified on Set.

The expiring cache (without striping) does somewhere in between the
simple cache and striped cache in the very contrived contention test
where every iteration acquires a write lock:

```
$ benchstat simple.log expiring.log
name      old time/op    new time/op    delta
Cache-12    2.74µs ± 2%    2.02µs ± 3%  -26.37%  (p=0.000 n=9+9)
name      old alloc/op   new alloc/op   delta
Cache-12      182B ± 0%      107B ± 4%  -41.21%  (p=0.000 n=8+9)
name      old allocs/op  new allocs/op  delta
Cache-12      5.00 ± 0%      2.00 ± 0%  -60.00%  (p=0.000 n=10+10)

$ benchstat striped.log expiring.log
name      old time/op    new time/op    delta
Cache-12    1.58µs ± 5%    2.02µs ± 3%  +27.34%  (p=0.000 n=10+9)
name      old alloc/op   new alloc/op   delta
Cache-12      288B ± 0%      107B ± 4%  -62.85%  (p=0.000 n=10+9)
name      old allocs/op  new allocs/op  delta
Cache-12      9.00 ± 0%      2.00 ± 0%  -77.78%  (p=0.000 n=10+10)

$ benchstat simple.log striped.log expiring.log
name \ time/op    simple.log   striped.log  expiring.log
Cache-12          2.74µs ± 2%  1.58µs ± 5%   2.02µs ± 3%
name \ alloc/op   simple.log   striped.log  expiring.log
Cache-12            182B ± 0%    288B ± 0%     107B ± 4%
name \ allocs/op  simple.log   striped.log  expiring.log
Cache-12            5.00 ± 0%    9.00 ± 0%     2.00 ± 0%
```

I also naively replacemed the LRU cache with the expiring cache in the
more realisitc CachedTokenAuthenticator benchmarks:

https://gist.github.com/mikedanese/41192b6eb62106c0758a4f4885bdad53

For token counts that fit in the LRU, expiring cache does better because
it does not require acquiring an exclusive lock for cache hits.

For token counts that exceed the size of the LRU, the LRU has a massive
performance drop off. The LRU cache is around 5x slower (with lookups
taking 1 milisecond and throttled to max 40 lookups in flight).

```
$ benchstat before.log after.log
name                                                  old time/op    new time/op    delta
CachedTokenAuthenticator/tokens=100_threads=256-12      3.60µs ±22%    1.08µs ± 4%  -69.91%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=500_threads=256-12      3.94µs ±19%    1.20µs ± 3%  -69.57%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=2500_threads=256-12     3.07µs ± 6%    1.17µs ± 1%  -61.87%  (p=0.000 n=9+10)
CachedTokenAuthenticator/tokens=12500_threads=256-12    3.16µs ±17%    1.38µs ± 1%  -56.23%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=62500_threads=256-12    15.0µs ± 1%     2.9µs ± 3%  -80.71%  (p=0.000 n=10+10)

name                                                  old alloc/op   new alloc/op   delta
CachedTokenAuthenticator/tokens=100_threads=256-12        337B ± 1%      300B ± 0%  -11.06%  (p=0.000 n=10+8)
CachedTokenAuthenticator/tokens=500_threads=256-12        307B ± 1%      304B ± 0%   -0.96%  (p=0.000 n=9+10)
CachedTokenAuthenticator/tokens=2500_threads=256-12       337B ± 1%      304B ± 0%   -9.79%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=12500_threads=256-12      343B ± 1%      276B ± 0%  -19.58%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=62500_threads=256-12      493B ± 0%      334B ± 0%  -32.12%  (p=0.000 n=10+10)

name                                                  old allocs/op  new allocs/op  delta
CachedTokenAuthenticator/tokens=100_threads=256-12        13.0 ± 0%      11.0 ± 0%  -15.38%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=500_threads=256-12        12.0 ± 0%      11.0 ± 0%   -8.33%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=2500_threads=256-12       13.0 ± 0%      11.0 ± 0%  -15.38%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=12500_threads=256-12      13.0 ± 0%      10.0 ± 0%  -23.08%  (p=0.000 n=9+10)
CachedTokenAuthenticator/tokens=62500_threads=256-12      17.0 ± 0%      12.0 ± 0%  -29.41%  (p=0.000 n=10+10)
```

Benchmarked with changes in #84423

Bugs: #83259 #83375

Kubernetes-commit: 9167711fd18511ffc9c90ee306c462be9fc7999b
2019-10-26 12:19:07 -07:00
Kubernetes Publisher
d7b8b83029 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 23:13:05 +00:00
Zhou Peng
9dfda3fc9a [k8s.io/sample-controller/controller.go]: fixup minor typo
Signed-off-by: Zhou Peng <p@ctriple.cn>

Kubernetes-commit: 5616ce97622e25a90f89f56e5556e73e065ee012
2019-10-25 10:30:25 +08:00
Wenjia Zhang
2ea1ad4d72 Pin dependencies and update vendors
Kubernetes-commit: 660b17d0aeda96af94defd4c5110d9fef523d52b
2019-10-23 13:37:36 -07:00
Kubernetes Publisher
ab9e95689d Merge pull request #82455 from AdheipSingh/patch-1
Update comment for syncHandler

Kubernetes-commit: ad0274fb6e506fb573cc3237ada871ea6dfc66fe
2019-10-17 07:04:49 +00:00
Kubernetes Publisher
2b8cca0f69 Merge pull request #81952 from ialidzhikov/fix/broken-link
Fix broken link in sample-controller

Kubernetes-commit: d87403c2f5c4a49b15420985e7c6d5cbd1e9cd8b
2019-10-16 11:28:52 +00:00
Kubernetes Publisher
3abffa4165 Merge pull request #83855 from mrbobbytables/update-sample-controller-owners
Prune inactive owners from staging/src/k8s.io/sample-controller/OWNERS.

Kubernetes-commit: 3ec5fe500d7a56be6ff6c15f916987eaa48c2e94
2019-10-14 01:52:35 -07:00
Bob Killen
d593d06471 Prune inactive owners from staging/src/k8s.io/sample-controller/OWNERS.
Kubernetes-commit: 53137a6bf9fe09ac924b3087e3e3fb5e43b4bf8b
2019-10-12 20:15:46 -04:00
Kubernetes Publisher
8aa6dce7d6 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:34:41 +00:00
Jordan Liggitt
32837242dd bump github.com/json-iterator/go v1.1.8
Kubernetes-commit: e323279ab94e2434fa610a476ad6d7630228be0e
2019-10-12 10:10:03 -04:00
Yassine TIJANI
97f7067723 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
Kubernetes Publisher
ac9726f261 Merge pull request #82176 from pohly/ginkgo-stack-fix
Ginkgo update + stack fix

Kubernetes-commit: b140b431073ae4d84ce9ef5e01a1f27058178ead
2019-10-05 12:09:43 +00:00
Kubernetes Publisher
9f91627dc6 Merge pull request #83261 from liggitt/yaml-limits
limit yaml/json decode size

Kubernetes-commit: 4afcba42bed2bb7c36e5209a90d87343f32a0efa
2019-10-03 04:11:42 +00:00
Jordan Liggitt
1be1e75737 bump gopkg.in/yaml.v2 v2.2.4
Kubernetes-commit: 8aeffa8716dcf986544df74444264ef639d61a7a
2019-10-02 14:46:08 -04:00
Patrick Ohly
71f7a8b74b 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
a91ecd8a9f Merge pull request #83113 from yastij/bump-utils
bump k8s.io/utils to pickup ipallocator changes

Kubernetes-commit: 28bcf55accc52dfd4fde5f603a5784c40c485528
2019-09-26 00:08:56 +00:00
Yassine TIJANI
e6f28640db 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
9776085a84 Merge pull request #83014 from danielqsj/bump-klog
Bump k8s.io/klog to v1.0.0

Kubernetes-commit: b7003211d5454982401c19705f73bf2820ede855
2019-09-23 16:09:22 +00:00
danielqsj
20bcce4d81 Bump k8s.io/klog to v1.0.0
Kubernetes-commit: c2a4906152e67a45308f988aa2cb8b76b4503855
2019-09-23 16:51:43 +08:00
Kubernetes Publisher
3b7fd8b5d4 Merge pull request #81944 from carlory/fix-vendor
fix static check failures in staging  pkg

Kubernetes-commit: 84d484bd2c6c69e9ccce1fe03b7621f151b1b042
2019-09-16 16:06:09 +00:00
Kubernetes Publisher
b2dd2e61ff Merge pull request #82161 from d-kuro/feature/fix-broken-link
Fix broken link.

Kubernetes-commit: 9c25981f359603333b3323b44e812b293887749b
2019-09-13 08:41:32 +00:00
AdheipSingh
1205a13b28 Update comment for syncHandler
```
// If the Deployment is not controlled by this Foo resource, we should log
// a warning to the event recorder and return error msg
```
For a clearer understanding of the comment.

Kubernetes-commit: db303bc2af859d48958e0b9c084a3b2983c1220f
2019-09-07 19:09:56 +05:30
Kubernetes Publisher
b17b22266f Merge pull request #77354 from jennybuckley/crd-apply
Use CRD validation field in server-side apply

Kubernetes-commit: ab162cd28c332d0ecfb4f918d5f91e9e57acdb61
2019-08-31 08:01:03 +00:00
Patrick Ohly
52badec515 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
d-kuro
dd65d88bb2 Fix broken link.
Kubernetes-commit: 4558dd407ac8e692dc41c47268e15ff692949ff2
2019-08-30 15:30:59 +09:00
jennybuckley
4696ad80ce Update generated
Kubernetes-commit: badd5b9a26026138e4fc44a643ec1c6b65a7891b
2019-08-29 19:10:28 -07:00
Kubernetes Publisher
25b34fa161 Merge pull request #81871 from prameshj/vendor-update
Update vendor k8s-cloud-provider and google API

Kubernetes-commit: 91bec13163b18238a8ed3d9b872cd27b1193077d
2019-08-28 12:01:28 +00:00
Patrick Ohly
63288e8e88 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
ialidzhikov
133f0ccb02 Fix broken link in sample-controller
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>

Kubernetes-commit: 61c5f8d9079fc985c093d76161c8f35736de22ee
2019-08-26 18:19:17 +03:00
carlory
bf70b19355 fix static check failures in staging pkg
Kubernetes-commit: d3578f465d1e41f6fb022f64117f51cbed90fd9d
2019-08-26 21:23:40 +08:00
Pavithra Ramesh
da203f3b6d 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
8df6f90ea0 Merge pull request #81752 from dims/hack-pick-up-test-go-files-in-verify-import-boss
Pick up *_test.go in verify-import-boss

Kubernetes-commit: 448049927b7b66d3b539f228ed6eac59430ea70b
2019-08-26 12:18:44 +00:00
Davanum Srinivas
d374f88b72 hack/pin-dependency.sh k8s.io/gengo 26a664648505d962332bda642b27306bc10d1082
Kubernetes-commit: 96998c619714f254998e69c5bae3c3a1b03fa423
2019-08-22 12:15:10 -04:00
Kubernetes Publisher
4c955751ed sync: update go.mod 2019-08-22 06:19:52 +00:00
Kubernetes Publisher
ec1b9e1d84 Merge pull request #81189 from tallclair/staticcheck-verify
Add verify-staticcheck script

Kubernetes-commit: 39c10d1550d63a4a5c585600507ffd6a0f157267
2019-08-20 10:38:33 +00:00
Tim Allclair
44debde540 Bump golang.org/x/tools version for staticcheck compat
Kubernetes-commit: 9a02ef7fe5eb166a53131c52b59844179c4158e9
2019-08-08 11:04:56 -07:00
Kubernetes Publisher
87c4b6f0a4 Merge pull request #79574 from justaugustus/azure-sdk-bump
Azure SDK updates (6/30/19)

Kubernetes-commit: 1ff4525a29f1736fca19e10b49e42664b29010c2
2019-08-16 10:34:50 +00:00
Stephen Augustus
098a911418 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
f27ac7da6c Merge pull request #81335 from carlory/fix
add missing import required by build scripts

Kubernetes-commit: 8d925c7510820523665bdd5ce1916fa956b9c5fa
2019-08-14 14:19:25 +00:00
Kubernetes Publisher
a378495b96 Merge pull request #81394 from cblecker/golang-deps
Update golang/x/net dependency

Kubernetes-commit: 1f6cb3cb9def97320a5412dcbea1661edd95c29e
2019-08-14 10:44:47 +00:00
Christoph Blecker
ab1a85cb44 Update vendor
Kubernetes-commit: 5f971d6d8862de319edbd24a729a704292c560dc
2019-08-13 17:51:45 -07:00
Kubernetes Publisher
0ad63590ca Merge pull request #81372 from alvaroaleman/bump-sets
Bump gengo to have set insert|delete return the set

Kubernetes-commit: 125fb72850c4d1e7b25bd46a094633b9a0a76b9b
2019-08-14 02:18:20 +00:00
Alvaro Aleman
0b8b985912 Update k8s.io/gengo to 955ffa8fcfc983717cd9de5d2a1e9f5c465f4376
Kubernetes-commit: c4fd0d4f99b672f8c44ff72a155973fae4b32032
2019-08-13 23:49:12 +02:00
Kubernetes Publisher
20ed9a6dcb 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:22:31 +00:00
carlory
5fae6ff24f run ./hack/update-vendor.sh
Kubernetes-commit: dc9bf6a9553d2381ae94e62ad5e49064d0de01e7
2019-08-13 20:20:38 +08:00
Kubernetes Publisher
a52d0d8c67 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:21:25 +00:00
Davanum Srinivas
49c7e07bcf 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
3f68520957 generated
running hack/update-vendor.sh

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

Kubernetes-commit: a197cc61740be784b43c85c04bda9a2658da3a09
2019-08-07 06:29:12 +00:00
Joe Betz
dc57994a5b Upgrade to latest k8s.io/utils
Kubernetes-commit: 237b16d9d99d1eaf9ef762ddeb4ccec247b2ba8c
2019-08-03 00:10:36 -07:00
Kubernetes Publisher
6f8905ae4e Merge pull request #80732 from cblecker/fix-tag-protobuf
Fix tag for gogo/protobuf

Kubernetes-commit: d8900caac8aef61e79ca921a7922d95ae06b16f2
2019-07-31 14:43:49 +00:00
Christoph Blecker
a612d6a1c9 Fix tag for github.com/gogo/protobuf
Kubernetes-commit: 7471a1d35fe40eb01b7dc20b2ac09192741ef436
2019-07-30 18:38:34 -07:00
Kubernetes Publisher
fdfa0b050b Merge pull request #77355 from apelisse/test-new-protoc
Use new reverse protobuf marshalling

Kubernetes-commit: a172e197b165f60c215b4467175bdd61d8a15e0e
2019-07-26 02:42:44 +00:00
Antoine Pelisse
52e2df40b1 Regenerate
Kubernetes-commit: 6568325ca2bef519e5c8228cd33887660b5ed7b0
2019-07-24 15:21:55 -07:00
Kubernetes Publisher
c4dce8f814 Merge pull request #80252 from ajatprabha/patch-1
Update deprecated diff.ObjectGoPrintDiff method

Kubernetes-commit: 3f1cb97f9ad7b84176be30f85c7e10cc7bb1ff56
2019-07-19 02:36:55 +00:00
Ajat Prabha
1e56cadeb7 Update deprecated diff.ObjectGoPrintDiff method
Use `diff.ObjectGoPrintSideBySide` to print the difference.

Kubernetes-commit: 291c145bc567ca8ef82aee14098d0dda7c818300
2019-07-17 17:25:34 +05:30
Kubernetes Publisher
38d625004d Merge pull request #80123 from sttts/sttts-bump-kube-openapi2
Bump kube-openapi and structured-merge-diff

Kubernetes-commit: eee3a3749add92cd67b4c6f80567cd438a6c24e6
2019-07-17 02:43:00 +00:00
Dr. Stefan Schimanski
5335398820 Run update-vendor.sh
Kubernetes-commit: 91a3704938070b8b18dc39774d5acd8234c0c55c
2019-07-13 10:07:03 +02:00
Kubernetes Publisher
499fb3ff94 Merge pull request #79843 from sttts/sttts-sample-apiserver-openapi
apiserver: wire OpenAPI into sample-apiserver

Kubernetes-commit: 6cd0392ced5a14409c0dd074bdb8b9c33a433f06
2019-07-13 02:36:59 +00:00
Dr. Stefan Schimanski
7193bad8b3 Update vendor
Kubernetes-commit: 406fbf7d7e38aeaab429530e8ec14431012fe83d
2019-07-11 18:36:38 +02:00
Kubernetes Publisher
7e60a2b0fb Merge pull request #79081 from nikhita/generate-groups-executable
Fix update-codegen.sh for staging repos to not rely on scripts being executable

Kubernetes-commit: 1bf7103ea07f8fe0013e9dcc626dda0e01e26afd
2019-07-12 10:39:56 +00:00
Nikhita Raghunath
e6f1262c36 sample-controller: add note about fetching deps in README
Kubernetes-commit: f039c31a9ecc851d78511cf88101375bcab3671d
2019-06-16 23:23:03 +05:30
Nikhita Raghunath
4d46ec53ca Fix scripts to not rely on codegen scripts being executable
If someone doesn't have code-generator in their GOPATH, they'll need to
run `go mod vendor` to populate the vendor directory with the code-generator
repo (it is required by `hack/tools.go`).

However, `go mod vendor` does not mark scripts as executable which leads to a
`Permission denied` error while trying to run `update-codegen.sh` in staging repos.
So fix scripts to not rely on codegen scripts being executable.

Kubernetes-commit: 391da79abd7a7af1cfab04de35daba7cd58c4c80
2019-06-16 22:00:57 +05:30
Kubernetes Publisher
20cb8607d0 Merge pull request #79077 from yuyulei/remove-ratelimiter
add "burst" validation check to code-generator

Kubernetes-commit: c302da4f429f80b9857261bedc17a62069e5b09e
2019-07-12 02:39:28 +00:00
yaqi
d540cbe404 execute hack/update-codegen.sh, sync updates
Kubernetes-commit: aa71695be1006c843de836104006a724451fa9a0
2019-07-11 20:34:59 +08:00
Kubernetes Publisher
4da8e87d08 Merge pull request #78470 from nikhita/security-contacts-psc
Update SECURITY_CONTACTS with current PSC

Kubernetes-commit: 69c94671242c3d17bb32dcdc7ceb5d35535a8f34
2019-07-11 11:04:46 +00:00
Kubernetes Publisher
35c85454ec Merge pull request #79637 from toliu/toliu/update-gophercloud
Update gophercloud vendor dependency to v0.1.0

Kubernetes-commit: 886c5d261f67d74a9d4d5e5f2f31c88dd5c2666f
2019-07-04 05:04:29 +00:00
Kubernetes Publisher
d80646f20d 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 21:14:56 +00:00
Vallery Lancey
3da822eeea 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
Kubernetes Publisher
2c1d62ad0d Merge pull request #73977 from khenidak/ipv6dualstack
ipv6 dual stack (Phase 1 - ALPHA)

Kubernetes-commit: a33840e0232aaf2b5c14c1c754d9189d7e841ec1
2019-07-03 05:05:55 +00:00
liushi
956b97b782 Update gophercloud vendor dependency to v0.1.0
Kubernetes-commit: 094fed6598b5c5731dd936bb80a85816a24bda53
2019-07-01 02:22:54 -07:00
Khaled Henidak(Kal)
dee1c6a2d7 vendor updates
Kubernetes-commit: 2b776677183502cd2bcba530dbf03bff7d39c057
2019-06-28 20:46:52 +00:00
Kubernetes Publisher
42ee666e1e Merge pull request #79367 from sukeesh/sukeesh/updatedocsgo
Update doc.go in staging/src/k8s.io/

Kubernetes-commit: 583d83a13557fc4ceb68355fa590c194f23a1721
2019-06-29 13:04:47 +00:00
Kubernetes Publisher
d74557ff95 Merge pull request #76124 from tossmilestone/fix-crd-validate-items
Fix CRD validation error on 'items' field

Kubernetes-commit: 1a80962db6fc7138f4d2925a82d7e74cd5ec4fcd
2019-06-27 21:05:29 +00:00
He Xiaoxi
4b4a361452 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
3ae911415c 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
cc2384a2a5 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
470d1589ab 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
Sukeesh
352bec995b Update doc.go in staging/src/k8s.io/
Kubernetes-commit: c8bd20d1b289eadb6abc20f0868f4a5a6a668035
2019-06-25 22:43:44 +09:00
Kubernetes Publisher
294bc0f668 Merge pull request #79219 from alvaroaleman/sample-controller-klog-init
Sample controller: Init flags

Kubernetes-commit: 9273ce771127c1cf3eb6e1aa4179d857b6522fdf
2019-06-25 13:00:54 +00:00
Kubernetes Publisher
891ba91009 Merge pull request #79303 from liggitt/preferred-deps
Use preferred dependency versions

Kubernetes-commit: dc764030c2cef7aced8dd1a9e3b5ca389223b8b6
2019-06-24 09:04:35 +00:00
Jordan Liggitt
1376d8e0e4 github.com/google/uuid v1.1.1
Kubernetes-commit: 29853a1976d4306593159d369cd8487eeed2b3d6
2019-06-22 11:40:22 -07:00
Alvaro Aleman
5d2271c191 Sample controller: Init flags
Without this, the flags to make klog log to stdout are not even shown.
Figuring out the `InitFlags()` is not very intuitive for ppl new to the
project, which is the target audience of the sample-controller.

Kubernetes-commit: 5f610cea1f30a81c2945d5b0f26210cccbd325d3
2019-06-20 13:18:45 +02:00
Kubernetes Publisher
d4d703847b 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:51:13 +00:00
Davanum Srinivas
8b6fa3109e updating gopkg.in/yaml.v2 to v2.2.2
Kubernetes-commit: 1c7bfba9160de8e2449d410bda6f289907136a71
2019-06-14 11:46:38 -04:00
Davanum Srinivas
a928bb1578 updating github.com/stretchr/testify to v1.3.0
Kubernetes-commit: 21fc7d283d900dda76d7f98c6a4b3632659ea6d7
2019-06-14 11:41:28 -04:00
Davanum Srinivas
9ef5c642e2 updating github.com/spf13/pflag to v1.0.3
Kubernetes-commit: 99d5aa759e409864652d11d5a603b4cd2d95ffc2
2019-06-14 11:38:01 -04:00
Davanum Srinivas
b23659240b updating github.com/spf13/cobra to v0.0.4
Kubernetes-commit: 1b401bdab7c2d9de86363adf6a490e35d2f3c832
2019-06-14 11:34:37 -04:00
Davanum Srinivas
1a720f0583 updating github.com/onsi/gomega to v1.5.0
Kubernetes-commit: 37479f975ea0383b771f99c308a762d2ded4b166
2019-06-14 11:20:57 -04:00
Davanum Srinivas
c2287d026f updating github.com/onsi/ginkgo to v1.8.0
Kubernetes-commit: 8629f7fa255d2c7c2d6de2a107a0fd1115b0c9fa
2019-06-14 11:19:15 -04:00
Davanum Srinivas
cabf10decb updating github.com/mholt/caddy to v1.0.0
Kubernetes-commit: a7c552be862234c55721d4a00e76b39500831986
2019-06-14 11:10:45 -04:00
Davanum Srinivas
ba857bede8 updating github.com/json-iterator/go to v1.1.6
Kubernetes-commit: c6b2b45fa98a230d0be5c96270db7058cfaa3b59
2019-06-14 11:04:03 -04:00
Davanum Srinivas
3ee74ca464 updating github.com/google/gofuzz to v1.0.0
Kubernetes-commit: d04014a2087f52d5263dfb7e48a4e223744e813d
2019-06-14 11:00:40 -04:00
Davanum Srinivas
54fabfad23 updating github.com/evanphx/json-patch to v4.2.0+incompatible
Kubernetes-commit: ad2fc6903ae93f77d7c96fc5bc7e7151e0757a2b
2019-06-14 10:51:52 -04:00
Kubernetes Publisher
16471592b1 Merge pull request #78931 from krzysied/revert-78465-bump-klog
Revert "Bump klog to v0.3.2"

Kubernetes-commit: 9b15a5b0700724d2ea1021ceafb72c378b638a0b
2019-06-12 13:08:06 +00:00
Krzysztof Siedlecki
1717e51f20 Revert "Bump klog to v0.3.2"
Kubernetes-commit: 7dcec919a2e5e8e23da3d0dd61276d86c9b0e4b6
2019-06-12 10:27:41 +02:00
Kubernetes Publisher
325dc0a18e Merge pull request #78465 from yuwenma/bump-klog
Bump klog to v0.3.2

Kubernetes-commit: b094dd9bc3a4617b587b04993931a6110691ddc0
2019-05-31 13:48:01 +00:00
Kubernetes Publisher
b2736eaf69 Merge pull request #78327 from caesarxuchao/pointer-remainingItemCount
Make RemainingItemCount a pointer

Kubernetes-commit: d8fd232ea1f8c91092fb5fabb7a0f3d557a2e8fb
2019-05-31 13:48:00 +00:00
Nikhita Raghunath
b7f1f706e4 Update SECURITY_CONTACTS with current PSC
Kubernetes-commit: 42ea492bfdab9fcfd67dd4ea621b8a1a40da550d
2019-05-29 15:22:35 +05:30
yuwenma
496ffc27b0 Bump klog to v0.3.2
Kubernetes-commit: 5cef37433e55827226f20981598ddfa2c6511809
2019-05-28 22:45:19 -07:00
Chao Xu
597a3c0528 generated
Kubernetes-commit: 369314959c1bf096c1d3502f10b28a00c3d12691
2019-05-24 17:46:39 -07:00
Kubernetes Publisher
ee0fa8a6f6 Merge pull request #78216 from mtaufen/update-klog
Update klog to v0.3.1

Kubernetes-commit: 25b0d2dbf4521bd1e7bae471d85c369eb89f9555
2019-05-28 16:05:00 +00:00
Michael Taufen
10ba054641 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
2407a19d13 Merge pull request #77751 from baasbank/fix-lint-errors-staging/src/k8s.io
Fix lint errors staging/src/k8s.io

Kubernetes-commit: 6a40ed1005f085365ada73ce7c5e00df5046a1ad
2019-05-15 14:42:05 +00:00
Kubernetes Publisher
567c0e89da Merge pull request #70929 from mikedanese/cmp
migrate everything to unify diff.Diff method using cmp

Kubernetes-commit: 1ae09a371faccfc193f9b8d82a9ef77bf3e7fb14
2019-05-15 02:44:42 +00:00
Baasbank
c0d85825ce fixes golint error in staging/src/k8s.io/sample-controller/pkg/apis/samplecontroller/v1alpha1
fixes golint error in staging/src/k8s.io/sample-controller/pkg/apis/samplecontroller

fixes golint errors in staging/src/k8s.io/sample-apiserver/pkg/cmd/server

fixex golint errors in staging/src/k8s.io/sample-apiserver/pkg/apiserver

Kubernetes-commit: 55d45867e6a8b6336be0c56da0b4843dd552b1b0
2019-05-03 23:10:40 +01:00
Mike Danese
73417f1c72 vendor github.com/google/go-cmp
Kubernetes-commit: 76f683a8f3dc2977846e16b2ea14208a51c2cb6b
2019-04-22 21:41:46 -07:00
Kubernetes Publisher
0d5581c413 Merge pull request #77753 from liggitt/prune-replace
Prune matching replace directives in staging repos more effectively

Kubernetes-commit: 6f6890b09e2a8ae7eaaea0a5052d45c3960e1c76
2019-05-11 02:44:43 +00:00
Jordan Liggitt
aa060187a6 generated files
Kubernetes-commit: eb82dddfdd504c2956ec438b739e01230067e90f
2019-05-10 15:41:34 -04:00
15 changed files with 514 additions and 232 deletions

274
Godeps/Godeps.json generated
View File

@@ -8,15 +8,51 @@
"Deps": [
{
"ImportPath": "cloud.google.com/go",
"Rev": "v0.34.0"
"Rev": "v0.38.0"
},
{
"ImportPath": "github.com/Azure/go-autorest",
"Rev": "v11.1.2"
"ImportPath": "github.com/Azure/go-autorest/autorest",
"Rev": "v0.9.0"
},
{
"ImportPath": "github.com/BurntSushi/xgb",
"Rev": "27f122750802"
"ImportPath": "github.com/Azure/go-autorest/autorest/adal",
"Rev": "v0.5.0"
},
{
"ImportPath": "github.com/Azure/go-autorest/autorest/date",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/Azure/go-autorest/autorest/mocks",
"Rev": "v0.2.0"
},
{
"ImportPath": "github.com/Azure/go-autorest/logger",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/Azure/go-autorest/tracing",
"Rev": "v0.5.0"
},
{
"ImportPath": "github.com/BurntSushi/toml",
"Rev": "v0.3.1"
},
{
"ImportPath": "github.com/NYTimes/gziphandler",
"Rev": "56545f4a5d46"
},
{
"ImportPath": "github.com/PuerkitoBio/purell",
"Rev": "v1.1.1"
},
{
"ImportPath": "github.com/PuerkitoBio/urlesc",
"Rev": "de5bf2ad4578"
},
{
"ImportPath": "github.com/client9/misspell",
"Rev": "v0.3.4"
},
{
"ImportPath": "github.com/davecgh/go-spew",
@@ -24,7 +60,7 @@
},
{
"ImportPath": "github.com/dgrijalva/jwt-go",
"Rev": "01aeca54ebda"
"Rev": "v3.2.0"
},
{
"ImportPath": "github.com/docker/spdystream",
@@ -32,31 +68,67 @@
},
{
"ImportPath": "github.com/elazarl/goproxy",
"Rev": "c4fc26588b6e"
"Rev": "947c36da3153"
},
{
"ImportPath": "github.com/emicklei/go-restful",
"Rev": "v2.9.5"
},
{
"ImportPath": "github.com/evanphx/json-patch",
"Rev": "5858425f7550"
"Rev": "v4.9.0"
},
{
"ImportPath": "github.com/fsnotify/fsnotify",
"Rev": "v1.4.7"
},
{
"ImportPath": "github.com/ghodss/yaml",
"Rev": "73d445a93680"
},
{
"ImportPath": "github.com/go-logr/logr",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/go-openapi/jsonpointer",
"Rev": "v0.19.3"
},
{
"ImportPath": "github.com/go-openapi/jsonreference",
"Rev": "v0.19.3"
},
{
"ImportPath": "github.com/go-openapi/spec",
"Rev": "v0.19.3"
},
{
"ImportPath": "github.com/go-openapi/swag",
"Rev": "v0.19.5"
},
{
"ImportPath": "github.com/gogo/protobuf",
"Rev": "342cbe0a0415"
"Rev": "v1.3.2"
},
{
"ImportPath": "github.com/golang/glog",
"Rev": "23def4e6c14b"
},
{
"ImportPath": "github.com/golang/groupcache",
"Rev": "02826c3e7903"
},
{
"ImportPath": "github.com/golang/protobuf",
"ImportPath": "github.com/golang/mock",
"Rev": "v1.2.0"
},
{
"ImportPath": "github.com/golang/protobuf",
"Rev": "v1.3.2"
},
{
"ImportPath": "github.com/google/btree",
"Rev": "7d79101e329e"
"Rev": "v1.0.0"
},
{
"ImportPath": "github.com/google/go-cmp",
@@ -64,27 +136,39 @@
},
{
"ImportPath": "github.com/google/gofuzz",
"Rev": "24818f796faf"
"Rev": "v1.1.0"
},
{
"ImportPath": "github.com/google/martian",
"Rev": "v2.1.0"
},
{
"ImportPath": "github.com/google/pprof",
"Rev": "3ea8567a2e57"
},
{
"ImportPath": "github.com/google/uuid",
"Rev": "v1.0.0"
"Rev": "v1.1.1"
},
{
"ImportPath": "github.com/googleapis/gax-go/v2",
"Rev": "v2.0.4"
},
{
"ImportPath": "github.com/googleapis/gnostic",
"Rev": "0c5108395e2d"
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/gophercloud/gophercloud",
"Rev": "c818fa66e4c8"
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/gregjones/httpcache",
"Rev": "787624de3eb7"
"Rev": "9cad4c3443a7"
},
{
"ImportPath": "github.com/hashicorp/golang-lru",
"Rev": "v0.5.0"
"Rev": "v0.5.1"
},
{
"ImportPath": "github.com/hpcloud/tail",
@@ -96,7 +180,35 @@
},
{
"ImportPath": "github.com/json-iterator/go",
"Rev": "ab8a2e0c74be"
"Rev": "v1.1.8"
},
{
"ImportPath": "github.com/jstemmer/go-junit-report",
"Rev": "af01ea7f8024"
},
{
"ImportPath": "github.com/kisielk/errcheck",
"Rev": "v1.5.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.5"
},
{
"ImportPath": "github.com/kr/text",
"Rev": "v0.1.0"
},
{
"ImportPath": "github.com/mailru/easyjson",
"Rev": "v0.7.0"
},
{
"ImportPath": "github.com/modern-go/concurrent",
@@ -106,97 +218,117 @@
"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.6.0"
"Rev": "v1.11.0"
},
{
"ImportPath": "github.com/onsi/gomega",
"Rev": "5533ce8a0da3"
"Rev": "v1.7.0"
},
{
"ImportPath": "github.com/peterbourgon/diskv",
"Rev": "v2.0.1"
},
{
"ImportPath": "github.com/pkg/errors",
"Rev": "v0.8.1"
},
{
"ImportPath": "github.com/pmezard/go-difflib",
"Rev": "v1.0.0"
},
{
"ImportPath": "github.com/remyoudompheng/bigfft",
"Rev": "52369c62f446"
},
{
"ImportPath": "github.com/spf13/pflag",
"Rev": "v1.0.1"
},
{
"ImportPath": "github.com/stretchr/testify",
"ImportPath": "github.com/spf13/afero",
"Rev": "v1.2.2"
},
{
"ImportPath": "github.com/spf13/pflag",
"Rev": "v1.0.5"
},
{
"ImportPath": "github.com/stretchr/objx",
"Rev": "v0.2.0"
},
{
"ImportPath": "github.com/stretchr/testify",
"Rev": "v1.4.0"
},
{
"ImportPath": "go.opencensus.io",
"Rev": "v0.21.0"
},
{
"ImportPath": "golang.org/x/crypto",
"Rev": "e84da0312774"
"Rev": "bac4c82f6975"
},
{
"ImportPath": "golang.org/x/exp",
"Rev": "4b39c73a6495"
"Rev": "509febef88a4"
},
{
"ImportPath": "golang.org/x/image",
"Rev": "0694c2d4d067"
},
{
"ImportPath": "golang.org/x/mobile",
"Rev": "d3739f865fa6"
"ImportPath": "golang.org/x/lint",
"Rev": "5614ed5bae6f"
},
{
"ImportPath": "golang.org/x/net",
"Rev": "cdfb69ac37fc"
"Rev": "69a78807bb2b"
},
{
"ImportPath": "golang.org/x/oauth2",
"Rev": "9f3314589c9a"
"Rev": "0f29369cfe45"
},
{
"ImportPath": "golang.org/x/sync",
"Rev": "42b317875d0f"
"Rev": "112230192c58"
},
{
"ImportPath": "golang.org/x/sys",
"Rev": "3b5209105503"
"Rev": "5cba982894dd"
},
{
"ImportPath": "golang.org/x/text",
"Rev": "e6919f6577db"
"Rev": "v0.3.2"
},
{
"ImportPath": "golang.org/x/time",
"Rev": "f51c12702a4d"
"Rev": "9d24e82272b4"
},
{
"ImportPath": "golang.org/x/tools",
"Rev": "aa82965741a9"
"Rev": "65e3620a7ae7"
},
{
"ImportPath": "gonum.org/v1/gonum",
"Rev": "3d26580ed485"
"ImportPath": "golang.org/x/xerrors",
"Rev": "a985d3407aa7"
},
{
"ImportPath": "gonum.org/v1/netlib",
"Rev": "76723241ea4e"
"ImportPath": "google.golang.org/api",
"Rev": "v0.4.0"
},
{
"ImportPath": "google.golang.org/appengine",
"Rev": "v1.5.0"
},
{
"ImportPath": "google.golang.org/genproto",
"Rev": "e7d98fc518a7"
},
{
"ImportPath": "google.golang.org/grpc",
"Rev": "v1.19.0"
},
{
"ImportPath": "gopkg.in/check.v1",
"Rev": "20d25e280405"
"Rev": "788fd7840127"
},
{
"ImportPath": "gopkg.in/fsnotify.v1",
@@ -204,7 +336,7 @@
},
{
"ImportPath": "gopkg.in/inf.v0",
"Rev": "v0.9.0"
"Rev": "v0.9.1"
},
{
"ImportPath": "gopkg.in/tomb.v1",
@@ -214,61 +346,49 @@
"ImportPath": "gopkg.in/yaml.v2",
"Rev": "v2.2.8"
},
{
"ImportPath": "honnef.co/go/tools",
"Rev": "3f1c8253044a"
},
{
"ImportPath": "k8s.io/api",
"Rev": "e3a917c59b04"
"Rev": "53468e23a787"
},
{
"ImportPath": "k8s.io/apimachinery",
"Rev": "0cd702f8b7f4"
"Rev": "44f1264f7b6b"
},
{
"ImportPath": "k8s.io/client-go",
"Rev": "c06521ac77c2"
"Rev": "fa3acefe68f3"
},
{
"ImportPath": "k8s.io/code-generator",
"Rev": "18da4a14b22b"
"Rev": "2558db0b36b5"
},
{
"ImportPath": "k8s.io/gengo",
"Rev": "f8a0810f38af"
"Rev": "36b2048a9120"
},
{
"ImportPath": "k8s.io/klog",
"Rev": "v0.3.1"
"Rev": "v1.0.0"
},
{
"ImportPath": "k8s.io/kube-openapi",
"Rev": "b3a7cee44a30"
"Rev": "61e04a5be9a6"
},
{
"ImportPath": "k8s.io/utils",
"Rev": "c2654d5206da"
"Rev": "a9aa75ae1b89"
},
{
"ImportPath": "modernc.org/cc",
"Rev": "v1.0.0"
},
{
"ImportPath": "modernc.org/golex",
"Rev": "v1.0.0"
},
{
"ImportPath": "modernc.org/mathutil",
"Rev": "v1.0.0"
},
{
"ImportPath": "modernc.org/strutil",
"Rev": "v1.0.0"
},
{
"ImportPath": "modernc.org/xc",
"Rev": "v1.0.0"
"ImportPath": "sigs.k8s.io/structured-merge-diff/v3",
"Rev": "v3.0.1"
},
{
"ImportPath": "sigs.k8s.io/yaml",
"Rev": "v1.1.0"
"Rev": "v1.2.0"
}
]
}

1
OWNERS
View File

@@ -4,7 +4,6 @@ approvers:
- sttts
- munnerz
reviewers:
- gregory-m
- sttts
- munnerz
- nikhita

View File

@@ -31,6 +31,47 @@ The sample controller uses [client-go library](https://github.com/kubernetes/cli
The details of interaction points of the sample controller with various mechanisms from this library are
explained [here](docs/controller-client-go.md).
## Fetch sample-controller and its dependencies
Like the rest of Kubernetes, sample-controller has used
[godep](https://github.com/tools/godep) and `$GOPATH` for years and is
now adopting go 1.11 modules. There are thus two alternative ways to
go about fetching this demo and its dependencies.
### Fetch with godep
When NOT using go 1.11 modules, you can use the following commands.
```sh
go get -d k8s.io/sample-controller
cd $GOPATH/src/k8s.io/sample-controller
godep restore
```
### When using go 1.11 modules
When using go 1.11 modules (`GO111MODULE=on`), issue the following
commands --- starting in whatever working directory you like.
```sh
git clone https://github.com/kubernetes/sample-controller.git
cd sample-controller
```
Note, however, that if you intend to
[generate code](#changes-to-the-types) then you will also need the
code-generator repo to exist in an old-style location. One easy way
to do this is to use the command `go mod vendor` to create and
populate the `vendor` directory.
### A Note on kubernetes/kubernetes
If you are developing Kubernetes according to
https://github.com/kubernetes/community/blob/master/contributors/guide/github-workflow.md
then you already have a copy of this demo in
`kubernetes/staging/src/k8s.io/sample-controller` and its dependencies
--- including the code generator --- are in usable locations
(valid for all Go versions).
## Purpose
@@ -42,8 +83,6 @@ This is an example of how to build a kube-like controller with a single type.
```sh
# assumes you have a working kubeconfig, not required if operating in-cluster
go get k8s.io/sample-controller
cd $GOPATH/src/k8s.io/sample-controller
go build -o sample-controller .
./sample-controller -kubeconfig=$HOME/.kube/config
@@ -120,7 +159,7 @@ The CRD in [`crd-status-subresource.yaml`](./artifacts/examples/crd-status-subre
for custom resources.
This means that [`UpdateStatus`](./controller.go#L330) can be used by the controller to update only the status part of the custom resource.
To understand why only the status part of the custom resource should be updated, please refer to the [Kubernetes API conventions](https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status).
To understand why only the status part of the custom resource should be updated, please refer to the [Kubernetes API conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status).
In the above steps, use `crd-status-subresource.yaml` to create the CRD:

View File

@@ -11,7 +11,7 @@
# INSTRUCTIONS AT https://kubernetes.io/security/
cjcullen
jessfraz
joelsmith
liggitt
philips
tallclair

View File

@@ -17,6 +17,7 @@ limitations under the License.
package main
import (
"context"
"fmt"
"time"
@@ -273,7 +274,7 @@ func (c *Controller) syncHandler(key string) error {
deployment, err := c.deploymentsLister.Deployments(foo.Namespace).Get(deploymentName)
// If the resource doesn't exist, we'll create it
if errors.IsNotFound(err) {
deployment, err = c.kubeclientset.AppsV1().Deployments(foo.Namespace).Create(newDeployment(foo))
deployment, err = c.kubeclientset.AppsV1().Deployments(foo.Namespace).Create(context.TODO(), newDeployment(foo), metav1.CreateOptions{})
}
// If an error occurs during Get/Create, we'll requeue the item so we can
@@ -284,7 +285,7 @@ func (c *Controller) syncHandler(key string) error {
}
// If the Deployment is not controlled by this Foo resource, we should log
// a warning to the event recorder and ret
// a warning to the event recorder and return error msg.
if !metav1.IsControlledBy(deployment, foo) {
msg := fmt.Sprintf(MessageResourceExists, deployment.Name)
c.recorder.Event(foo, corev1.EventTypeWarning, ErrResourceExists, msg)
@@ -296,11 +297,11 @@ func (c *Controller) syncHandler(key string) error {
// should update the Deployment resource.
if foo.Spec.Replicas != nil && *foo.Spec.Replicas != *deployment.Spec.Replicas {
klog.V(4).Infof("Foo %s replicas: %d, deployment replicas: %d", name, *foo.Spec.Replicas, *deployment.Spec.Replicas)
deployment, err = c.kubeclientset.AppsV1().Deployments(foo.Namespace).Update(newDeployment(foo))
deployment, err = c.kubeclientset.AppsV1().Deployments(foo.Namespace).Update(context.TODO(), newDeployment(foo), metav1.UpdateOptions{})
}
// If an error occurs during Update, we'll requeue the item so we can
// attempt processing again later. THis could have been caused by a
// attempt processing again later. This could have been caused by a
// temporary network failure, or any other transient reason.
if err != nil {
return err
@@ -327,7 +328,7 @@ func (c *Controller) updateFooStatus(foo *samplev1alpha1.Foo, deployment *appsv1
// we must use Update instead of UpdateStatus to update the Status block of the Foo resource.
// UpdateStatus will not allow changes to the Spec of the resource,
// which is ideal for ensuring nothing other than resource status has been updated.
_, err := c.sampleclientset.SamplecontrollerV1alpha1().Foos(foo.Namespace).Update(fooCopy)
_, err := c.sampleclientset.SamplecontrollerV1alpha1().Foos(foo.Namespace).Update(context.TODO(), fooCopy, metav1.UpdateOptions{})
return err
}

View File

@@ -175,33 +175,36 @@ func checkAction(expected, actual core.Action, t *testing.T) {
}
switch a := actual.(type) {
case core.CreateAction:
e, _ := expected.(core.CreateAction)
case core.CreateActionImpl:
e, _ := expected.(core.CreateActionImpl)
expObject := e.GetObject()
object := a.GetObject()
if !reflect.DeepEqual(expObject, object) {
t.Errorf("Action %s %s has wrong object\nDiff:\n %s",
a.GetVerb(), a.GetResource().Resource, diff.ObjectGoPrintDiff(expObject, object))
a.GetVerb(), a.GetResource().Resource, diff.ObjectGoPrintSideBySide(expObject, object))
}
case core.UpdateAction:
e, _ := expected.(core.UpdateAction)
case core.UpdateActionImpl:
e, _ := expected.(core.UpdateActionImpl)
expObject := e.GetObject()
object := a.GetObject()
if !reflect.DeepEqual(expObject, object) {
t.Errorf("Action %s %s has wrong object\nDiff:\n %s",
a.GetVerb(), a.GetResource().Resource, diff.ObjectGoPrintDiff(expObject, object))
a.GetVerb(), a.GetResource().Resource, diff.ObjectGoPrintSideBySide(expObject, object))
}
case core.PatchAction:
e, _ := expected.(core.PatchAction)
case core.PatchActionImpl:
e, _ := expected.(core.PatchActionImpl)
expPatch := e.GetPatch()
patch := a.GetPatch()
if !reflect.DeepEqual(expPatch, patch) {
t.Errorf("Action %s %s has wrong patch\nDiff:\n %s",
a.GetVerb(), a.GetResource().Resource, diff.ObjectGoPrintDiff(expPatch, patch))
a.GetVerb(), a.GetResource().Resource, diff.ObjectGoPrintSideBySide(expPatch, patch))
}
default:
t.Errorf("Uncaptured Action %s %s, you should explicitly add a case to capture it",
actual.GetVerb(), actual.GetResource().Resource)
}
}

26
go.mod
View File

@@ -2,22 +2,22 @@
module k8s.io/sample-controller
go 1.12
go 1.13
require (
k8s.io/api v0.0.0-20200131232428-e3a917c59b04
k8s.io/apimachinery v0.0.0-20200131232151-0cd702f8b7f4
k8s.io/client-go v0.0.0-20200131232729-c06521ac77c2
k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b
k8s.io/klog v0.3.1
k8s.io/api v0.0.0-20210518101910-53468e23a787
k8s.io/apimachinery v0.0.0-20210518100737-44f1264f7b6b
k8s.io/client-go v0.0.0-20210518104342-fa3acefe68f3
k8s.io/code-generator v0.0.0-20210329191452-2558db0b36b5
k8s.io/klog v1.0.0
)
replace (
golang.org/x/sync => golang.org/x/sync v0.0.0-20181108010431-42b317875d0f
golang.org/x/sys => golang.org/x/sys v0.0.0-20190209173611-3b5209105503
golang.org/x/tools => golang.org/x/tools v0.0.0-20190313210603-aa82965741a9
k8s.io/api => k8s.io/api v0.0.0-20200131232428-e3a917c59b04
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20200131232151-0cd702f8b7f4
k8s.io/client-go => k8s.io/client-go v0.0.0-20200131232729-c06521ac77c2
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b
golang.org/x/crypto => golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975
golang.org/x/text => golang.org/x/text v0.3.2
golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13
k8s.io/api => k8s.io/api v0.0.0-20210518101910-53468e23a787
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210518100737-44f1264f7b6b
k8s.io/client-go => k8s.io/client-go v0.0.0-20210518104342-fa3acefe68f3
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20210329191452-2558db0b36b5
)

255
go.sum
View File

@@ -1,117 +1,222 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v0.0.0-20160705203006-01aeca54ebda/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550 h1:mV9jbLoSW/8m4VK16ZkHTozJa8sesK5u5kTMFysTYac=
github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/evanphx/json-patch v4.9.0+incompatible h1:kLcOMZeuLAJvL2BPWLMIj5oaZQobrkAqrL+WFZwQses=
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415 h1:WSBJMqJbLxsn+bTCPyPYZfqHdJmc8MK4wrBjMft6BAM=
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v0.0.0-20160524151835-7d79101e329e/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d h1:7XGaL1e6bYS1yIonGp9761ExpPPV1ui0SAC59Yube9k=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4=
github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo=
github.com/googleapis/gnostic v0.1.0 h1:rVsPeBmXbYv4If/cumu1AzZPwV58q433hvONV1UEZoI=
github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q=
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be h1:AHimNtVIpiBjPUhEF5KNCkrUyqTSA5zWUl8sQ2bfGBE=
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/onsi/ginkgo v1.6.0 h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw=
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3 h1:EooPXg51Tn+xmWPXJUGCnJhJSpeuMlBmfJVcqIRmmv8=
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/ginkgo v1.11.0 h1:JAKSXpt1YjtLA7YpPiqO9ss6sNXEsPfSGdwN0UHqzrw=
github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
github.com/spf13/pflag v1.0.1 h1:aCvUg6QPl3ibpQUxyLkrEkCHtPqYJL4x9AuhqVqFis4=
github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
golang.org/x/crypto v0.0.0-20181025213731-e84da0312774 h1:a4tQYYYuK9QdeO/+kEvNYyuR21S+7ve5EANok6hABhI=
golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc h1:gkKoSkUmnU6bpS/VhkuO27bzQeSA51uaEfbOW5dNb68=
golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA=
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190209173611-3b5209105503 h1:5SvYFrOM3W8Mexn9/oA44Ji7vhXAZQ9hiP+1Q/DMrWg=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db h1:6/JqlYfC1CCaLnGceQTI+sDGhC9UBSPAsBqI0Gun6kU=
golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20161028155119-f51c12702a4d h1:TnM+PKb3ylGmZvyPXmo9m/wktg7Jn/a/fNmr33HSj8g=
golang.org/x/time v0.0.0-20161028155119-f51c12702a4d/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20190313210603-aa82965741a9 h1:7Pf/N3ln54fsGsAPsSwSfFhxXGKWHMIRUI/T5x1GP90=
golang.org/x/tools v0.0.0-20190313210603-aa82965741a9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201112073958-5cba982894dd h1:5CtCZbICpIOFdgO940moixOPjc0178IU44m4EjOO5IY=
golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/inf.v0 v0.9.0 h1:3zYtXIO92bvsdS3ggAdA8Gb4Azj0YU+TVY1uGYNFA8o=
gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
k8s.io/api v0.0.0-20200131232428-e3a917c59b04/go.mod h1:c0dE/sqPGKi2K8Egtmgs+Lh2S8Vdj0rIAaENkm/3Z6w=
k8s.io/apimachinery v0.0.0-20200131232151-0cd702f8b7f4/go.mod h1:ZRw+v83FjgEqlzqaBkxL3XB21MSLYdzjsY9Bgxclhdw=
k8s.io/client-go v0.0.0-20200131232729-c06521ac77c2/go.mod h1:18ml60QzAysxQhO2GvIMaV61cyY1FeLbZbtcVHY0irY=
k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b/go.mod h1:G8bQwmHm2eafm5bgtX67XDZQ8CWKSGu9DekI+yN4Y5I=
k8s.io/gengo v0.0.0-20190116091435-f8a0810f38af h1:SwjZbO0u5ZuaV6TRMWOGB40iaycX8sbdMQHtjNZ19dk=
k8s.io/gengo v0.0.0-20190116091435-f8a0810f38af/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog v0.3.1 h1:RVgyDHY/kFKtLqh67NvEWIgkMneNoIrdkN0CxDSQc68=
k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30 h1:TRb4wNWoBVrH9plmkp2q86FIDppkbrEXdXlxU3a3BMI=
k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
k8s.io/utils v0.0.0-20190221042446-c2654d5206da h1:ElyM7RPonbKnQqOcw7dG2IK5uvQQn3b/WPHqD5mBvP4=
k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.0.0-20210518101910-53468e23a787/go.mod h1:LlUnNse6BQx63yz6yMZOGvzQcVws1/bcjOsbAi7uZPc=
k8s.io/apimachinery v0.0.0-20210518100737-44f1264f7b6b/go.mod h1:70HIRzSveORLKbatTlXzI2B2UUhbWzbq8Vqyf+HbdUQ=
k8s.io/client-go v0.0.0-20210518104342-fa3acefe68f3/go.mod h1:iz844/ci7WdL3N4fc5gnhI6K7kff7GRRSIJQ6koCHHw=
k8s.io/code-generator v0.0.0-20210329191452-2558db0b36b5/go.mod h1:l5yJd8cLSvkIb0ZJMsQdWuDOx5rWfLNpgmHQyl3LmBE=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20200114144118-36b2048a9120 h1:RPscN6KhmG54S33L+lr3GS+oD1jmchIU0ll519K6FA4=
k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6 h1:Oh3Mzx5pJ+yIumsAD0MOECPVeXsVot0UkiaCGVyfGQY=
k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89 h1:d4vVOjXm687F1iLSP2q3lyPPuyvTUt3aVoBpi2DqRsU=
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/structured-merge-diff/v3 v3.0.1 h1:ISORLGKzslMY5RWkCSGNy5uDb3OHyEkGEhuSATvSp3A=
sigs.k8s.io/structured-merge-diff/v3 v3.0.1/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=

View File

@@ -25,7 +25,7 @@ CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-
# --output-base because this script should also be able to run inside the vendor dir of
# k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir
# instead of the $GOPATH directly. For normal projects this can be dropped.
"${CODEGEN_PKG}"/generate-groups.sh "deepcopy,client,informer,lister" \
bash "${CODEGEN_PKG}"/generate-groups.sh "deepcopy,client,informer,lister" \
k8s.io/sample-controller/pkg/generated k8s.io/sample-controller/pkg/apis \
samplecontroller:v1alpha1 \
--output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \

View File

@@ -38,6 +38,7 @@ var (
)
func main() {
klog.InitFlags(nil)
flag.Parse()
// set up signals so we handle the first shutdown signal gracefully

View File

@@ -18,4 +18,4 @@ limitations under the License.
// +groupName=samplecontroller.k8s.io
// Package v1alpha1 is the v1alpha1 version of the API.
package v1alpha1
package v1alpha1 // import "k8s.io/sample-controller/pkg/apis/samplecontroller/v1alpha1"

View File

@@ -19,6 +19,8 @@ limitations under the License.
package versioned
import (
"fmt"
discovery "k8s.io/client-go/discovery"
rest "k8s.io/client-go/rest"
flowcontrol "k8s.io/client-go/util/flowcontrol"
@@ -51,9 +53,14 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface {
}
// 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

View File

@@ -19,6 +19,8 @@ limitations under the License.
package fake
import (
"context"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -39,7 +41,7 @@ var foosResource = schema.GroupVersionResource{Group: "samplecontroller.k8s.io",
var foosKind = schema.GroupVersionKind{Group: "samplecontroller.k8s.io", Version: "v1alpha1", Kind: "Foo"}
// Get takes name of the foo, and returns the corresponding foo object, and an error if there is any.
func (c *FakeFoos) Get(name string, options v1.GetOptions) (result *v1alpha1.Foo, err error) {
func (c *FakeFoos) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.Foo, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(foosResource, c.ns, name), &v1alpha1.Foo{})
@@ -50,7 +52,7 @@ func (c *FakeFoos) Get(name string, options v1.GetOptions) (result *v1alpha1.Foo
}
// List takes label and field selectors, and returns the list of Foos that match those selectors.
func (c *FakeFoos) List(opts v1.ListOptions) (result *v1alpha1.FooList, err error) {
func (c *FakeFoos) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.FooList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(foosResource, foosKind, c.ns, opts), &v1alpha1.FooList{})
@@ -72,14 +74,14 @@ func (c *FakeFoos) List(opts v1.ListOptions) (result *v1alpha1.FooList, err erro
}
// Watch returns a watch.Interface that watches the requested foos.
func (c *FakeFoos) Watch(opts v1.ListOptions) (watch.Interface, error) {
func (c *FakeFoos) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(foosResource, c.ns, opts))
}
// Create takes the representation of a foo and creates it. Returns the server's representation of the foo, and an error, if there is any.
func (c *FakeFoos) Create(foo *v1alpha1.Foo) (result *v1alpha1.Foo, err error) {
func (c *FakeFoos) Create(ctx context.Context, foo *v1alpha1.Foo, opts v1.CreateOptions) (result *v1alpha1.Foo, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(foosResource, c.ns, foo), &v1alpha1.Foo{})
@@ -90,7 +92,7 @@ func (c *FakeFoos) Create(foo *v1alpha1.Foo) (result *v1alpha1.Foo, err error) {
}
// Update takes the representation of a foo and updates it. Returns the server's representation of the foo, and an error, if there is any.
func (c *FakeFoos) Update(foo *v1alpha1.Foo) (result *v1alpha1.Foo, err error) {
func (c *FakeFoos) Update(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (result *v1alpha1.Foo, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(foosResource, c.ns, foo), &v1alpha1.Foo{})
@@ -102,7 +104,7 @@ func (c *FakeFoos) Update(foo *v1alpha1.Foo) (result *v1alpha1.Foo, err error) {
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeFoos) UpdateStatus(foo *v1alpha1.Foo) (*v1alpha1.Foo, error) {
func (c *FakeFoos) UpdateStatus(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (*v1alpha1.Foo, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(foosResource, "status", c.ns, foo), &v1alpha1.Foo{})
@@ -113,7 +115,7 @@ func (c *FakeFoos) UpdateStatus(foo *v1alpha1.Foo) (*v1alpha1.Foo, error) {
}
// Delete takes name of the foo and deletes it. Returns an error if one occurs.
func (c *FakeFoos) Delete(name string, options *v1.DeleteOptions) error {
func (c *FakeFoos) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(foosResource, c.ns, name), &v1alpha1.Foo{})
@@ -121,15 +123,15 @@ func (c *FakeFoos) Delete(name string, options *v1.DeleteOptions) error {
}
// DeleteCollection deletes a collection of objects.
func (c *FakeFoos) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(foosResource, c.ns, listOptions)
func (c *FakeFoos) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(foosResource, c.ns, listOpts)
_, err := c.Fake.Invokes(action, &v1alpha1.FooList{})
return err
}
// Patch applies the patch and returns the patched foo.
func (c *FakeFoos) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Foo, err error) {
func (c *FakeFoos) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.Foo, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(foosResource, c.ns, name, pt, data, subresources...), &v1alpha1.Foo{})

View File

@@ -19,6 +19,7 @@ limitations under the License.
package v1alpha1
import (
"context"
"time"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -37,15 +38,15 @@ type FoosGetter interface {
// FooInterface has methods to work with Foo resources.
type FooInterface interface {
Create(*v1alpha1.Foo) (*v1alpha1.Foo, error)
Update(*v1alpha1.Foo) (*v1alpha1.Foo, error)
UpdateStatus(*v1alpha1.Foo) (*v1alpha1.Foo, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1alpha1.Foo, error)
List(opts v1.ListOptions) (*v1alpha1.FooList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Foo, err error)
Create(ctx context.Context, foo *v1alpha1.Foo, opts v1.CreateOptions) (*v1alpha1.Foo, error)
Update(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (*v1alpha1.Foo, error)
UpdateStatus(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (*v1alpha1.Foo, error)
Delete(ctx context.Context, name string, opts v1.DeleteOptions) error
DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error
Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha1.Foo, error)
List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.FooList, error)
Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error)
Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.Foo, err error)
FooExpansion
}
@@ -64,20 +65,20 @@ func newFoos(c *SamplecontrollerV1alpha1Client, namespace string) *foos {
}
// Get takes name of the foo, and returns the corresponding foo object, and an error if there is any.
func (c *foos) Get(name string, options v1.GetOptions) (result *v1alpha1.Foo, err error) {
func (c *foos) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.Foo, err error) {
result = &v1alpha1.Foo{}
err = c.client.Get().
Namespace(c.ns).
Resource("foos").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do().
Do(ctx).
Into(result)
return
}
// List takes label and field selectors, and returns the list of Foos that match those selectors.
func (c *foos) List(opts v1.ListOptions) (result *v1alpha1.FooList, err error) {
func (c *foos) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.FooList, err error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
@@ -88,13 +89,13 @@ func (c *foos) List(opts v1.ListOptions) (result *v1alpha1.FooList, err error) {
Resource("foos").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Do().
Do(ctx).
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested foos.
func (c *foos) Watch(opts v1.ListOptions) (watch.Interface, error) {
func (c *foos) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
var timeout time.Duration
if opts.TimeoutSeconds != nil {
timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
@@ -105,87 +106,90 @@ func (c *foos) Watch(opts v1.ListOptions) (watch.Interface, error) {
Resource("foos").
VersionedParams(&opts, scheme.ParameterCodec).
Timeout(timeout).
Watch()
Watch(ctx)
}
// Create takes the representation of a foo and creates it. Returns the server's representation of the foo, and an error, if there is any.
func (c *foos) Create(foo *v1alpha1.Foo) (result *v1alpha1.Foo, err error) {
func (c *foos) Create(ctx context.Context, foo *v1alpha1.Foo, opts v1.CreateOptions) (result *v1alpha1.Foo, err error) {
result = &v1alpha1.Foo{}
err = c.client.Post().
Namespace(c.ns).
Resource("foos").
VersionedParams(&opts, scheme.ParameterCodec).
Body(foo).
Do().
Do(ctx).
Into(result)
return
}
// Update takes the representation of a foo and updates it. Returns the server's representation of the foo, and an error, if there is any.
func (c *foos) Update(foo *v1alpha1.Foo) (result *v1alpha1.Foo, err error) {
func (c *foos) Update(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (result *v1alpha1.Foo, err error) {
result = &v1alpha1.Foo{}
err = c.client.Put().
Namespace(c.ns).
Resource("foos").
Name(foo.Name).
VersionedParams(&opts, scheme.ParameterCodec).
Body(foo).
Do().
Do(ctx).
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 *foos) UpdateStatus(foo *v1alpha1.Foo) (result *v1alpha1.Foo, err error) {
func (c *foos) UpdateStatus(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (result *v1alpha1.Foo, err error) {
result = &v1alpha1.Foo{}
err = c.client.Put().
Namespace(c.ns).
Resource("foos").
Name(foo.Name).
SubResource("status").
VersionedParams(&opts, scheme.ParameterCodec).
Body(foo).
Do().
Do(ctx).
Into(result)
return
}
// Delete takes name of the foo and deletes it. Returns an error if one occurs.
func (c *foos) Delete(name string, options *v1.DeleteOptions) error {
func (c *foos) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("foos").
Name(name).
Body(options).
Do().
Body(&opts).
Do(ctx).
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *foos) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
func (c *foos) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
var timeout time.Duration
if listOptions.TimeoutSeconds != nil {
timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
if listOpts.TimeoutSeconds != nil {
timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second
}
return c.client.Delete().
Namespace(c.ns).
Resource("foos").
VersionedParams(&listOptions, scheme.ParameterCodec).
VersionedParams(&listOpts, scheme.ParameterCodec).
Timeout(timeout).
Body(options).
Do().
Body(&opts).
Do(ctx).
Error()
}
// Patch applies the patch and returns the patched foo.
func (c *foos) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Foo, err error) {
func (c *foos) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.Foo, err error) {
result = &v1alpha1.Foo{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("foos").
SubResource(subresources...).
Name(name).
SubResource(subresources...).
VersionedParams(&opts, scheme.ParameterCodec).
Body(data).
Do().
Do(ctx).
Into(result)
return
}

View File

@@ -19,6 +19,7 @@ limitations under the License.
package v1alpha1
import (
"context"
time "time"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -61,13 +62,13 @@ func NewFilteredFooInformer(client versioned.Interface, namespace string, resync
if tweakListOptions != nil {
tweakListOptions(&options)
}
return client.SamplecontrollerV1alpha1().Foos(namespace).List(options)
return client.SamplecontrollerV1alpha1().Foos(namespace).List(context.TODO(), options)
},
WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
if tweakListOptions != nil {
tweakListOptions(&options)
}
return client.SamplecontrollerV1alpha1().Foos(namespace).Watch(options)
return client.SamplecontrollerV1alpha1().Foos(namespace).Watch(context.TODO(), options)
},
},
&samplecontrollerv1alpha1.Foo{},