Compare commits

..

12 Commits

Author SHA1 Message Date
Kubernetes Publisher
eb5b9a8cfd Merge pull request #83436 from liggitt/automated-cherry-pick-of-#83261-upstream-release-1.13-1570075716
[1.13] Automated cherry pick of #83261: bump gopkg.in/yaml.v2 v2.2.4

Kubernetes-commit: 17c28f0e1c6733b02a62471c813b262df7681789
2019-10-04 10:25:37 +00:00
Jordan Liggitt
e1e28c215f bump gopkg.in/yaml.v2 v2.2.4
Kubernetes-commit: f39333c75ea93afb4f43f7a1d8c15dbcb7f41410
2019-10-02 14:46:08 -04:00
Kubernetes Publisher
ee6c071a42 Merge pull request #81546 from cblecker/1.13/go-1.11.13
Update golang/x/net dependency on release-1.13

Kubernetes-commit: 37d169313237cb4ceb2cc4bef300f2ae3053c1a2
2019-08-17 22:22:06 +00:00
Christoph Blecker
2d48f18fea Update golang.org/x/net to b1cc14a
Kubernetes-commit: e795732a4c0f077bf9d0bd8fbf41992e390bbed5
2019-08-17 00:04:10 -07:00
Kubernetes Publisher
bcbe227473 sync: update godeps 2019-07-04 09:57:23 +00:00
Kubernetes Publisher
5633e3a616 Merge pull request #79501 from nikhita/remove-bitbucket-01
[1.13] Replace bitbucket with github to fix godep error

Kubernetes-commit: bd6da4fe2b07f7681802f28de264ee7eda5cef5d
2019-06-29 00:41:23 +00:00
Nikhita Raghunath
2705570f5e Replace bitbucket with github
This commit has the following changes:

- Replace `bitbucket.org/ww/goautoneg` with `github.com/munnerz/goautoneg`.
- Replace `bitbucket.org/bertimus9/systemstat` with `github.com/nikhita/systemstat`.
- Bump kube-openapi to remove so that it's dependency on `bitbucket.org/ww/goautoneg`
moves to `github.com/munnerz/goautoneg`.
- Generate `swagger.json` generated from the above change.
- Update `BUILD` files.

Bitbucket is replaced with GitHub because:

Atlassian finally pulled the plug on their 1.0 api and forces everyone
to use 2.0 now: https://developer.atlassian.com/cloud/bitbucket/deprecation-notice-v1-apis/

This leads to an error like:

```
godep: error downloading dep (bitbucket.org/ww/goautoneg): https://api.bitbucket.org/1.0/repositories/ww/goautoneg: 410 Gone
```

This was fixed in upstream go in golang/tools@13ba8ad.

To fix this in k/k:

1) We'll need to either bump our vendored version
https://github.com/kubernetes/kubernetes/blob/release-1.13/vendor/golang.org/x/tools/go/vcs/vcs.go#L676.
However, this bump brings in _lots_ of changes.

2) We can entirely remove our dependency on bitbucket.

The second point is better because:

1) godep itself vendors in an older version: https://github.com/tools/godep/blob/master/vendor/golang.org/x/tools/go/vcs/vcs.go#L667.
This means that anyone who installs godep directly, without forking it,
will not be able to use it with Kubernetes if we stick to bitbucket.

2) Bumping `golang/x/tools` requires running `godep restore`, which doesn't
work because that uses the 1.0 api...leading to a catch-22 like situation.

Kubernetes-commit: 409df0aa2e5a555454909eab3c4f492461c21f3b
2019-06-28 15:43:19 +05:30
Kubernetes Publisher
1777665291 Merge pull request #78028 from yuchengwu/automated-cherry-pick-of-#77874-github-release-1.13
Automated cherry pick of #77874: fix CVE-2019-11244: `kubectl --http-cache=<world-accessible

Kubernetes-commit: 211b1ada57ae0b85dd08c4c353c90305fa1f14c9
2019-05-21 19:07:02 +00:00
Kubernetes Publisher
1b0f6441b0 Merge pull request #77899 from mikedanese/automated-cherry-pick-of-#77613-upstream-release-1.13
Automated cherry pick of #77613 upstream release 1.13

Kubernetes-commit: bb630af86712366105b76959acca5bd71798bfb1
2019-05-21 10:20:25 -07:00
Jordan Liggitt
f2f74ab51a honor overridden tokenfile, add InClusterConfig override tests
Kubernetes-commit: d31e2f5f11440cdf1ada47f6ba99b01a410fb7c6
2019-05-15 08:15:02 -04:00
Mike Danese
f0d5882143 BoundServiceAccountTokenVolume: fix InClusterConfig
Kubernetes-commit: c748ddf904ad2878e43c5c564ef7d4650c43cb48
2019-05-14 09:29:16 -07:00
Yucheng Wu
7c7fe05819 fix CVE-2019-11244: kubectl --http-cache=<world-accessible dir> creates world-writeable cached schema files
Kubernetes-commit: 8bebb336d0dfa07c70f92ca81fd88986d2a3192b
2019-05-14 14:49:38 +08:00
8 changed files with 222 additions and 107 deletions

192
Godeps/Godeps.json generated
View File

@@ -1,7 +1,7 @@
{
"ImportPath": "k8s.io/client-go",
"GoVersion": "go1.11",
"GodepVersion": "v80",
"GodepVersion": "v80-k8s-r1",
"Packages": [
"./..."
],
@@ -192,27 +192,27 @@
},
{
"ImportPath": "golang.org/x/net/context",
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
"Rev": "b1cc14aba47abf96f96818003fa4caad3a4b4e86"
},
{
"ImportPath": "golang.org/x/net/context/ctxhttp",
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
"Rev": "b1cc14aba47abf96f96818003fa4caad3a4b4e86"
},
{
"ImportPath": "golang.org/x/net/http/httpguts",
"Rev": "b1cc14aba47abf96f96818003fa4caad3a4b4e86"
},
{
"ImportPath": "golang.org/x/net/http2",
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
"Rev": "b1cc14aba47abf96f96818003fa4caad3a4b4e86"
},
{
"ImportPath": "golang.org/x/net/http2/hpack",
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
"Rev": "b1cc14aba47abf96f96818003fa4caad3a4b4e86"
},
{
"ImportPath": "golang.org/x/net/idna",
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
},
{
"ImportPath": "golang.org/x/net/lex/httplex",
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
"Rev": "b1cc14aba47abf96f96818003fa4caad3a4b4e86"
},
{
"ImportPath": "golang.org/x/oauth2",
@@ -268,343 +268,343 @@
},
{
"ImportPath": "gopkg.in/yaml.v2",
"Rev": "5420a8b6744d3b0345ab293f6fcba19c978f1183"
"Rev": "f221b8435cfb71e54062f6c6e99e9ade30b124d5"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/auditregistration/v1alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/coordination/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/imagepolicy/v1alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/scheduling/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "5cb15d34447165a97c76ed5a60e4e99c8a01ecfe"
"Rev": "dacd7df5a50b93833c2a2c2f81348f910be8bfc7"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/fuzzer",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/roundtrip",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "86fb29eff6288413d76bd8506874fddd9fccdff0"
"Rev": "01f8b7d1121a34a7fc9f9c988f4f0b1f00fccb92"
},
{
"ImportPath": "k8s.io/klog",
@@ -612,7 +612,7 @@
},
{
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
"Rev": "c59034cc13d587f5ef4e85ca0ade0c1866ae8e1d"
"Rev": "fd52d7a69c206aae478f9aff43cb10eaf25e5c2a"
},
{
"ImportPath": "sigs.k8s.io/yaml",

View File

@@ -164,7 +164,7 @@ func (d *CachedDiscoveryClient) getCachedFile(filename string) ([]byte, error) {
}
func (d *CachedDiscoveryClient) writeCachedFile(filename string, obj runtime.Object) error {
if err := os.MkdirAll(filepath.Dir(filename), 0755); err != nil {
if err := os.MkdirAll(filepath.Dir(filename), 0750); err != nil {
return err
}
@@ -183,7 +183,7 @@ func (d *CachedDiscoveryClient) writeCachedFile(filename string, obj runtime.Obj
return err
}
err = os.Chmod(f.Name(), 0755)
err = os.Chmod(f.Name(), 0660)
if err != nil {
return err
}

View File

@@ -19,6 +19,7 @@ package discovery
import (
"io/ioutil"
"os"
"path/filepath"
"testing"
"time"
@@ -95,6 +96,32 @@ func TestNewCachedDiscoveryClient_TTL(t *testing.T) {
assert.Equal(c.groupCalls, 2)
}
func TestNewCachedDiscoveryClient_PathPerm(t *testing.T) {
assert := assert.New(t)
d, err := ioutil.TempDir("", "")
assert.NoError(err)
os.RemoveAll(d)
defer os.RemoveAll(d)
c := fakeDiscoveryClient{}
cdc := newCachedDiscoveryClient(&c, d, 1*time.Nanosecond)
cdc.ServerGroups()
err = filepath.Walk(d, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
assert.Equal(os.FileMode(0750), info.Mode().Perm())
} else {
assert.Equal(os.FileMode(0660), info.Mode().Perm())
}
return nil
})
assert.NoError(err)
}
type fakeDiscoveryClient struct {
groupCalls int
resourceCalls int

View File

@@ -18,6 +18,7 @@ package discovery
import (
"net/http"
"os"
"path/filepath"
"github.com/gregjones/httpcache"
@@ -35,6 +36,8 @@ type cacheRoundTripper struct {
// corresponding requests.
func newCacheRoundTripper(cacheDir string, rt http.RoundTripper) http.RoundTripper {
d := diskv.New(diskv.Options{
PathPerm: os.FileMode(0750),
FilePerm: os.FileMode(0660),
BasePath: cacheDir,
TempDir: filepath.Join(cacheDir, ".diskv-temp"),
})

View File

@@ -22,7 +22,10 @@ import (
"net/http"
"net/url"
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
)
// copied from k8s.io/client-go/transport/round_trippers_test.go
@@ -93,3 +96,52 @@ func TestCacheRoundTripper(t *testing.T) {
t.Errorf("Invalid content read from cache %q", string(content))
}
}
func TestCacheRoundTripperPathPerm(t *testing.T) {
assert := assert.New(t)
rt := &testRoundTripper{}
cacheDir, err := ioutil.TempDir("", "cache-rt")
os.RemoveAll(cacheDir)
defer os.RemoveAll(cacheDir)
if err != nil {
t.Fatal(err)
}
cache := newCacheRoundTripper(cacheDir, rt)
// First call, caches the response
req := &http.Request{
Method: http.MethodGet,
URL: &url.URL{Host: "localhost"},
}
rt.Response = &http.Response{
Header: http.Header{"ETag": []string{`"123456"`}},
Body: ioutil.NopCloser(bytes.NewReader([]byte("Content"))),
StatusCode: http.StatusOK,
}
resp, err := cache.RoundTrip(req)
if err != nil {
t.Fatal(err)
}
content, err := ioutil.ReadAll(resp.Body)
if err != nil {
t.Fatal(err)
}
if string(content) != "Content" {
t.Errorf(`Expected Body to be "Content", got %q`, string(content))
}
err = filepath.Walk(cacheDir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
assert.Equal(os.FileMode(0750), info.Mode().Perm())
} else {
assert.Equal(os.FileMode(0660), info.Mode().Perm())
}
return nil
})
assert.NoError(err)
}

View File

@@ -74,9 +74,10 @@ func (c *Config) TransportConfig() (*transport.Config, error) {
KeyFile: c.KeyFile,
KeyData: c.KeyData,
},
Username: c.Username,
Password: c.Password,
BearerToken: c.BearerToken,
Username: c.Username,
Password: c.Password,
BearerToken: c.BearerToken,
BearerTokenFile: c.BearerTokenFile,
Impersonate: transport.ImpersonationConfig{
UserName: c.Impersonate.UserName,
Groups: c.Impersonate.Groups,

View File

@@ -228,6 +228,7 @@ func (config *DirectClientConfig) getUserIdentificationPartialConfig(configAuthI
// blindly overwrite existing values based on precedence
if len(configAuthInfo.Token) > 0 {
mergedConfig.BearerToken = configAuthInfo.Token
mergedConfig.BearerTokenFile = configAuthInfo.TokenFile
} else if len(configAuthInfo.TokenFile) > 0 {
tokenBytes, err := ioutil.ReadFile(configAuthInfo.TokenFile)
if err != nil {
@@ -499,8 +500,9 @@ func (config *inClusterClientConfig) ClientConfig() (*restclient.Config, error)
if server := config.overrides.ClusterInfo.Server; len(server) > 0 {
icc.Host = server
}
if token := config.overrides.AuthInfo.Token; len(token) > 0 {
icc.BearerToken = token
if len(config.overrides.AuthInfo.Token) > 0 || len(config.overrides.AuthInfo.TokenFile) > 0 {
icc.BearerToken = config.overrides.AuthInfo.Token
icc.BearerTokenFile = config.overrides.AuthInfo.TokenFile
}
if certificateAuthorityFile := config.overrides.ClusterInfo.CertificateAuthority; len(certificateAuthorityFile) > 0 {
icc.TLSClientConfig.CAFile = certificateAuthorityFile

View File

@@ -548,6 +548,30 @@ func TestInClusterClientConfigPrecedence(t *testing.T) {
},
},
},
{
overrides: &ConfigOverrides{
ClusterInfo: clientcmdapi.Cluster{
Server: "https://host-from-overrides.com",
CertificateAuthority: "/path/to/ca-from-overrides.crt",
},
AuthInfo: clientcmdapi.AuthInfo{
Token: "token-from-override",
TokenFile: "tokenfile-from-override",
},
},
},
{
overrides: &ConfigOverrides{
ClusterInfo: clientcmdapi.Cluster{
Server: "https://host-from-overrides.com",
CertificateAuthority: "/path/to/ca-from-overrides.crt",
},
AuthInfo: clientcmdapi.AuthInfo{
Token: "",
TokenFile: "tokenfile-from-override",
},
},
},
{
overrides: &ConfigOverrides{},
},
@@ -556,13 +580,15 @@ func TestInClusterClientConfigPrecedence(t *testing.T) {
for _, tc := range tt {
expectedServer := "https://host-from-cluster.com"
expectedToken := "token-from-cluster"
expectedTokenFile := "tokenfile-from-cluster"
expectedCAFile := "/path/to/ca-from-cluster.crt"
icc := &inClusterClientConfig{
inClusterConfigProvider: func() (*restclient.Config, error) {
return &restclient.Config{
Host: expectedServer,
BearerToken: expectedToken,
Host: expectedServer,
BearerToken: expectedToken,
BearerTokenFile: expectedTokenFile,
TLSClientConfig: restclient.TLSClientConfig{
CAFile: expectedCAFile,
},
@@ -579,8 +605,9 @@ func TestInClusterClientConfigPrecedence(t *testing.T) {
if overridenServer := tc.overrides.ClusterInfo.Server; len(overridenServer) > 0 {
expectedServer = overridenServer
}
if overridenToken := tc.overrides.AuthInfo.Token; len(overridenToken) > 0 {
expectedToken = overridenToken
if len(tc.overrides.AuthInfo.Token) > 0 || len(tc.overrides.AuthInfo.TokenFile) > 0 {
expectedToken = tc.overrides.AuthInfo.Token
expectedTokenFile = tc.overrides.AuthInfo.TokenFile
}
if overridenCAFile := tc.overrides.ClusterInfo.CertificateAuthority; len(overridenCAFile) > 0 {
expectedCAFile = overridenCAFile
@@ -592,6 +619,9 @@ func TestInClusterClientConfigPrecedence(t *testing.T) {
if clientConfig.BearerToken != expectedToken {
t.Errorf("Expected token %v, got %v", expectedToken, clientConfig.BearerToken)
}
if clientConfig.BearerTokenFile != expectedTokenFile {
t.Errorf("Expected tokenfile %v, got %v", expectedTokenFile, clientConfig.BearerTokenFile)
}
if clientConfig.TLSClientConfig.CAFile != expectedCAFile {
t.Errorf("Expected Certificate Authority %v, got %v", expectedCAFile, clientConfig.TLSClientConfig.CAFile)
}