diff --git a/vendor/k8s.io/client-go/pkg/api/helpers.go b/vendor/k8s.io/client-go/pkg/api/helpers.go index faa7df7c0f407dba9234c6291b8ca2a5e7795a8b..21b35a4faf0c5cba3e3509e393d7615f8d717f3f 100644 --- a/vendor/k8s.io/client-go/pkg/api/helpers.go +++ b/vendor/k8s.io/client-go/pkg/api/helpers.go @@ -246,6 +246,7 @@ func IsServiceIPRequested(service *Service) bool { var standardFinalizers = sets.NewString( string(FinalizerKubernetes), metav1.FinalizerOrphanDependents, + metav1.FinalizerDeleteDependents, ) // HasAnnotation returns a bool if passed in annotation exists diff --git a/vendor/k8s.io/client-go/pkg/api/v1/helpers.go b/vendor/k8s.io/client-go/pkg/api/v1/helpers.go index 01f4ef4706b524f720808b45581696871a34ec88..82d086de892d18417a38c109048151e92cde4c7f 100644 --- a/vendor/k8s.io/client-go/pkg/api/v1/helpers.go +++ b/vendor/k8s.io/client-go/pkg/api/v1/helpers.go @@ -276,10 +276,10 @@ const ( AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" ) -// Tries to add a toleration to annotations list. Returns true if something was updated -// false otherwise. -func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { - podTolerations := pod.Spec.Tolerations +// AddOrUpdateTolerationInPodSpec tries to add a toleration to the toleration list in PodSpec. +// Returns true if something was updated, false otherwise. +func AddOrUpdateTolerationInPodSpec(spec *PodSpec, toleration *Toleration) (bool, error) { + podTolerations := spec.Tolerations var newTolerations []Toleration updated := false @@ -300,10 +300,16 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) newTolerations = append(newTolerations, *toleration) } - pod.Spec.Tolerations = newTolerations + spec.Tolerations = newTolerations return true, nil } +// AddOrUpdateTolerationInPod tries to add a toleration to the pod's toleration list. +// Returns true if something was updated, false otherwise. +func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { + return AddOrUpdateTolerationInPodSpec(&pod.Spec, toleration) +} + // MatchToleration checks if the toleration matches tolerationToMatch. Tolerations are unique by <key,effect,operator,value>, // if the two tolerations have same <key,effect,operator,value> combination, regard as they match. // TODO: uniqueness check for tolerations in api validations. diff --git a/vendor/k8s.io/client-go/pkg/version/base.go b/vendor/k8s.io/client-go/pkg/version/base.go index f0f7338c7720f58821532650c6c78f3e82e81eae..a2652c247cd25a6c6f0fd5c1c7fc0aa331c8bbad 100644 --- a/vendor/k8s.io/client-go/pkg/version/base.go +++ b/vendor/k8s.io/client-go/pkg/version/base.go @@ -51,7 +51,7 @@ var ( // semantic version is a git hash, but the version itself is no // longer the direct output of "git describe", but a slight // translation to be semver compliant. - gitVersion string = "v1.6.1-beta.0+$Format:%h$" + gitVersion string = "v1.6.8-beta.0+$Format:%h$" gitCommit string = "$Format:%H$" // sha1 from git, output of $(git rev-parse HEAD) gitTreeState string = "not a git tree" // state of git tree, either "clean" or "dirty" diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/BUILD b/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/BUILD deleted file mode 100644 index 72349cc6df7291282c2c9109231666457def6ee6..0000000000000000000000000000000000000000 --- a/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/BUILD +++ /dev/null @@ -1,32 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -licenses(["notice"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) - -go_test( - name = "go_default_test", - srcs = ["gcp_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = ["//vendor/golang.org/x/oauth2:go_default_library"], -) - -go_library( - name = "go_default_library", - srcs = ["gcp.go"], - tags = ["automanaged"], - deps = [ - "//vendor/github.com/golang/glog:go_default_library", - "//vendor/golang.org/x/net/context:go_default_library", - "//vendor/golang.org/x/oauth2:go_default_library", - "//vendor/golang.org/x/oauth2/google:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/yaml:go_default_library", - "//vendor/k8s.io/client-go/rest:go_default_library", - "//vendor/k8s.io/client-go/util/jsonpath:go_default_library", - ], -) diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go b/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go index 59a27bea7a405a06e1c2236b21b4b6ccdcc4f830..142ffdd50ebd3d82a39aeb4fb8a3c28f13db61bd 100644 --- a/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go +++ b/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/gcp.go @@ -124,7 +124,10 @@ func newGCPAuthProvider(_ string, gcpConfig map[string]string, persister restcli } func (g *gcpAuthProvider) WrapTransport(rt http.RoundTripper) http.RoundTripper { - return &conditionalTransport{&oauth2.Transport{Source: g.tokenSource, Base: rt}, g.persister} + return &oauth2.Transport{ + Source: g.tokenSource, + Base: rt, + } } func (g *gcpAuthProvider) Login() error { return nil } @@ -281,28 +284,3 @@ func parseJSONPath(input interface{}, name, template string) (string, error) { } return buf.String(), nil } - -type conditionalTransport struct { - oauthTransport *oauth2.Transport - persister restclient.AuthProviderConfigPersister -} - -func (t *conditionalTransport) RoundTrip(req *http.Request) (*http.Response, error) { - if len(req.Header.Get("Authorization")) != 0 { - return t.oauthTransport.Base.RoundTrip(req) - } - - res, err := t.oauthTransport.RoundTrip(req) - - if err != nil { - return nil, err - } - - if res.StatusCode == 401 { - glog.V(4).Infof("The credentials that were supplied are invalid for the target cluster") - emptyCache := make(map[string]string) - t.persister.Persist(emptyCache) - } - - return res, nil -} diff --git a/vendor/k8s.io/client-go/rest/config.go b/vendor/k8s.io/client-go/rest/config.go index 2a2c03dff1385e8b5d450ae828eec1c836fd6776..07e724f2db8c46e6ce20e427e7a8936584c4fa8c 100644 --- a/vendor/k8s.io/client-go/rest/config.go +++ b/vendor/k8s.io/client-go/rest/config.go @@ -22,7 +22,7 @@ import ( "net" "net/http" "os" - "path" + "path/filepath" gruntime "runtime" "strings" "time" @@ -255,19 +255,51 @@ func SetKubernetesDefaults(config *Config) error { return nil } -// DefaultKubernetesUserAgent returns the default user agent that clients can use. -func DefaultKubernetesUserAgent() string { - commit := version.Get().GitCommit - if len(commit) > 7 { - commit = commit[:7] +// adjustCommit returns sufficient significant figures of the commit's git hash. +func adjustCommit(c string) string { + if len(c) == 0 { + return "unknown" + } + if len(c) > 7 { + return c[:7] + } + return c +} + +// adjustVersion strips "alpha", "beta", etc. from version in form +// major.minor.patch-[alpha|beta|etc]. +func adjustVersion(v string) string { + if len(v) == 0 { + return "unknown" } - if len(commit) == 0 { - commit = "unknown" + seg := strings.SplitN(v, "-", 2) + return seg[0] +} + +// adjustCommand returns the last component of the +// OS-specific command path for use in User-Agent. +func adjustCommand(p string) string { + // Unlikely, but better than returning "". + if len(p) == 0 { + return "unknown" } - version := version.Get().GitVersion - seg := strings.SplitN(version, "-", 2) - version = seg[0] - return fmt.Sprintf("%s/%s (%s/%s) kubernetes/%s", path.Base(os.Args[0]), version, gruntime.GOOS, gruntime.GOARCH, commit) + return filepath.Base(p) +} + +// buildUserAgent builds a User-Agent string from given args. +func buildUserAgent(command, version, os, arch, commit string) string { + return fmt.Sprintf( + "%s/%s (%s/%s) kubernetes/%s", command, version, os, arch, commit) +} + +// DefaultKubernetesUserAgent returns a User-Agent string built from static global vars. +func DefaultKubernetesUserAgent() string { + return buildUserAgent( + adjustCommand(os.Args[0]), + adjustVersion(version.Get().GitVersion), + gruntime.GOOS, + gruntime.GOARCH, + adjustCommit(version.Get().GitCommit)) } // InClusterConfig returns a config object which uses the service account diff --git a/vendor/k8s.io/client-go/third_party/forked/golang/template/BUILD b/vendor/k8s.io/client-go/third_party/forked/golang/template/BUILD deleted file mode 100644 index 874403854107aa6a2bae164776dca10998b07ebd..0000000000000000000000000000000000000000 --- a/vendor/k8s.io/client-go/third_party/forked/golang/template/BUILD +++ /dev/null @@ -1,17 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -licenses(["notice"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", -) - -go_library( - name = "go_default_library", - srcs = [ - "exec.go", - "funcs.go", - ], - tags = ["automanaged"], -) diff --git a/vendor/k8s.io/client-go/tools/clientcmd/client_config.go b/vendor/k8s.io/client-go/tools/clientcmd/client_config.go index 0411e6235cc72092b39d5fe2fe803eb43f2d8049..307d1216ab41b3c77d9eee70246920264ea44833 100644 --- a/vendor/k8s.io/client-go/tools/clientcmd/client_config.go +++ b/vendor/k8s.io/client-go/tools/clientcmd/client_config.go @@ -482,13 +482,13 @@ func (config *inClusterClientConfig) Namespace() (string, bool, error) { // This way assumes you've set the POD_NAMESPACE environment variable using the downward API. // This check has to be done first for backwards compatibility with the way InClusterConfig was originally set up if ns := os.Getenv("POD_NAMESPACE"); ns != "" { - return ns, true, nil + return ns, false, nil } // Fall back to the namespace associated with the service account token, if available if data, err := ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace"); err == nil { if ns := strings.TrimSpace(string(data)); len(ns) > 0 { - return ns, true, nil + return ns, false, nil } } diff --git a/vendor/k8s.io/client-go/tools/clientcmd/merged_client_builder.go b/vendor/k8s.io/client-go/tools/clientcmd/merged_client_builder.go index 92c1a5a0061186dd539ecb92a2b538f614502bf3..f3eb6a40a47bec60c187544bd408705129459a63 100644 --- a/vendor/k8s.io/client-go/tools/clientcmd/merged_client_builder.go +++ b/vendor/k8s.io/client-go/tools/clientcmd/merged_client_builder.go @@ -22,6 +22,7 @@ import ( "github.com/golang/glog" + "k8s.io/client-go/pkg/api" restclient "k8s.io/client-go/rest" clientcmdapi "k8s.io/client-go/tools/clientcmd/api" ) @@ -134,12 +135,26 @@ func (config *DeferredLoadingClientConfig) Namespace() (string, bool, error) { return "", false, err } - ns, ok, err := mergedKubeConfig.Namespace() + ns, overridden, err := mergedKubeConfig.Namespace() // if we get an error and it is not empty config, or if the merged config defined an explicit namespace, or // if in-cluster config is not possible, return immediately - if (err != nil && !IsEmptyConfig(err)) || ok || !config.icc.Possible() { + if (err != nil && !IsEmptyConfig(err)) || overridden || !config.icc.Possible() { // return on any error except empty config - return ns, ok, err + return ns, overridden, err + } + + if len(ns) > 0 { + // if we got a non-default namespace from the kubeconfig, use it + if ns != api.NamespaceDefault { + return ns, false, nil + } + + // if we got a default namespace, determine whether it was explicit or implicit + if raw, err := mergedKubeConfig.RawConfig(); err == nil { + if context := raw.Contexts[raw.CurrentContext]; context != nil && len(context.Namespace) > 0 { + return ns, false, nil + } + } } glog.V(4).Infof("Using in-cluster namespace") diff --git a/vendor/k8s.io/client-go/util/jsonpath/BUILD b/vendor/k8s.io/client-go/util/jsonpath/BUILD deleted file mode 100644 index 521b689f594ddbf06b5ef9a64ad33b7e901e41b1..0000000000000000000000000000000000000000 --- a/vendor/k8s.io/client-go/util/jsonpath/BUILD +++ /dev/null @@ -1,31 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -licenses(["notice"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) - -go_test( - name = "go_default_test", - srcs = [ - "jsonpath_test.go", - "parser_test.go", - ], - library = ":go_default_library", - tags = ["automanaged"], -) - -go_library( - name = "go_default_library", - srcs = [ - "doc.go", - "jsonpath.go", - "node.go", - "parser.go", - ], - tags = ["automanaged"], - deps = ["//vendor/k8s.io/client-go/third_party/forked/golang/template:go_default_library"], -) diff --git a/vendor/vendor.json b/vendor/vendor.json index 6261b3b4954e4fe1cfdde2c64f54705036bf5fe3..6983ca63c4c73ec73cf526fd61464d5587ddcc4e 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -727,212 +727,218 @@ { "checksumSHA1": "aZfBu8yGnljbJHjiz20WLiSMsfI=", "path": "k8s.io/client-go/discovery", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "wU1p+AMuZM77hzqX9kWGmL8itfI=", "path": "k8s.io/client-go/dynamic", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "NnHqF5QII9GH4l2bBCO4WAI9tPw=", + "checksumSHA1": "wITYzQZexnlz8rkFV03IMotjNOA=", "path": "k8s.io/client-go/pkg/api", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "xR+RJV1Y0ApIxJc5HJ9ROPJzAUE=", + "checksumSHA1": "xxjFbTIPF/jHdQ+a/PXbS9m6nrs=", "path": "k8s.io/client-go/pkg/api/v1", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "V5SktS1jIYIRcC/WZMuO8XXB0lg=", "path": "k8s.io/client-go/pkg/apis/extensions", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "/wssE6/+5UY8QrrbYnpkieVwp8Y=", "path": "k8s.io/client-go/pkg/util", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "U4YjTHHqEs+YZFYdiV1exJyuwDM=", "path": "k8s.io/client-go/pkg/util/parsers", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "ApqZCY/0FjkcTCymLF/hn1557rc=", + "checksumSHA1": "S9N4ZlOKYbxxTraIoLk+Vl5aTHk=", "path": "k8s.io/client-go/pkg/version", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "drjIIoy0trL0gWi/jxi7Nj/Xi/c=", "path": "k8s.io/client-go/plugin/pkg/client/auth", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "2BDblVF8oc5+YR6c625SC0JnnUo=", + "checksumSHA1": "7196s+oMOOyzgMIcyV9M5Aglq3I=", "path": "k8s.io/client-go/plugin/pkg/client/auth/gcp", - "revision": "6daa6a29b8b866679a5be039ad0c8149de1cd60a", - "revisionTime": "2017-07-05T23:52:01Z" + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", + "version": "v3.0", + "versionExact": "v3.0.0" }, { "checksumSHA1": "V2STSOlLArfXkmK9sD9xHHa7lFs=", "path": "k8s.io/client-go/plugin/pkg/client/auth/oidc", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "WKKCrNPVWbJYm1im1DA9145z6xI=", + "checksumSHA1": "tEfuWbhH4rn6Jz0VW49K8JorX5c=", "path": "k8s.io/client-go/rest", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "+wYCwQaVc1GvMWwOWc3wXd2GT5s=", "path": "k8s.io/client-go/rest/watch", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "PmCh3R76TMf8+0P5Jek4fsBO2hA=", + "checksumSHA1": "j3Th2B1Hpv6UFLMEmA0ZdbO4kGU=", "path": "k8s.io/client-go/third_party/forked/golang/template", - "revision": "6daa6a29b8b866679a5be039ad0c8149de1cd60a", - "revisionTime": "2017-07-05T23:52:01Z" + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", + "version": "v3.0", + "versionExact": "v3.0.0" }, { "checksumSHA1": "BjbzPnaU9672noMuSuqr0JIg344=", "path": "k8s.io/client-go/tools/auth", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "y8RjCuBi8XrHvvVsguI7E97Fh6M=", + "checksumSHA1": "X9gWN2Vjxjs3I8fQ1z6vD6fYKIk=", "path": "k8s.io/client-go/tools/clientcmd", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "1jUQmUDroNs5XYhsQna4kNTzMik=", "path": "k8s.io/client-go/tools/clientcmd/api", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "6cVFBhDYvRiAwBf0QYbmUoLi5lQ=", "path": "k8s.io/client-go/tools/clientcmd/api/latest", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "DG6X6yy03Om6CFqIZm08+geRGkI=", "path": "k8s.io/client-go/tools/clientcmd/api/v1", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "rRC9GCWXfyIXKHBCeKpw7exVybE=", "path": "k8s.io/client-go/tools/metrics", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "X7AC6lZGlUJdhKLplcncvP7e8Jc=", "path": "k8s.io/client-go/transport", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "y6BpqJVXsBeykiGljn95RvGONCg=", "path": "k8s.io/client-go/util/cert", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "kyu4NFcUmCTsUMpsPeyFrigorCE=", "path": "k8s.io/client-go/util/clock", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "pCmdxpwnhYqoDSls5ehHtQFglm4=", "path": "k8s.io/client-go/util/flowcontrol", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "WRb0rXGx56fwcCisVW7GoI6gO/A=", "path": "k8s.io/client-go/util/homedir", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { "checksumSHA1": "W6bJiNAwgNwNJC+y+TPtacgUGlY=", "path": "k8s.io/client-go/util/integer", - "revision": "3627aeb7d4f6ade38f995d2c923e459146493c7e", - "revisionTime": "2017-03-31T20:34:26Z", + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", "version": "v3.0", - "versionExact": "v3.0.0-beta.0" + "versionExact": "v3.0.0" }, { - "checksumSHA1": "GsIX2f2J67NXq1HBiSEQh0SuTB4=", + "checksumSHA1": "xkQLKFsFx+jXOqOAWVAZeMiDLH4=", "path": "k8s.io/client-go/util/jsonpath", - "revision": "6daa6a29b8b866679a5be039ad0c8149de1cd60a", - "revisionTime": "2017-07-05T23:52:01Z" + "revision": "21300e3e11c918b8e6a70fb7293b310683d6c046", + "revisionTime": "2017-07-05T23:56:09Z", + "version": "v3.0", + "versionExact": "v3.0.0" } ], "rootPath": "github.com/ksonnet/kubecfg"