From 93b82209351abd3535629078bd24774e320e6a0a Mon Sep 17 00:00:00 2001 From: Jan Schlicht Date: Tue, 30 Jun 2020 20:39:45 +0200 Subject: [PATCH] Bump Kubernetes dependencies to 1.18.3 (#1537) Co-authored-by: Ken Sipe Co-authored-by: Andreas Neumann Signed-off-by: Jan Schlicht --- config/crds/kudo.dev_instances.yaml | 2 +- config/crds/kudo.dev_operators.yaml | 2 +- config/crds/kudo.dev_operatorversions.yaml | 53 +++++- go.mod | 26 ++- go.sum | 168 +++++++----------- hack/update_codegen.sh | 4 +- pkg/client/clientset/versioned/clientset.go | 2 +- .../typed/kudo/v1beta1/fake/fake_instance.go | 22 +-- .../typed/kudo/v1beta1/fake/fake_operator.go | 22 +-- .../kudo/v1beta1/fake/fake_operatorversion.go | 22 +-- .../versioned/typed/kudo/v1beta1/instance.go | 72 ++++---- .../versioned/typed/kudo/v1beta1/operator.go | 72 ++++---- .../typed/kudo/v1beta1/operatorversion.go | 72 ++++---- .../externalversions/kudo/v1beta1/instance.go | 5 +- .../externalversions/kudo/v1beta1/operator.go | 5 +- .../kudo/v1beta1/operatorversion.go | 5 +- pkg/kudoctl/cmd/diagnostics/resource_funcs.go | 25 +-- pkg/kudoctl/cmd/init_integration_test.go | 10 +- .../cmd/testdata/deploy-kudo-ns.yaml.golden | 57 +++++- .../cmd/testdata/deploy-kudo-sa.yaml.golden | 57 +++++- .../cmd/testdata/deploy-kudo.yaml.golden | 57 +++++- pkg/kudoctl/kudoinit/crd/bindata.go | 6 +- pkg/kudoctl/kudoinit/crd/crds.go | 5 +- pkg/kudoctl/kudoinit/manager/manager.go | 15 +- pkg/kudoctl/kudoinit/prereq/namespace.go | 5 +- pkg/kudoctl/kudoinit/prereq/serviceaccount.go | 9 +- pkg/kudoctl/kudoinit/prereq/webhook.go | 13 +- pkg/kudoctl/kudoinit/setup/wait.go | 3 +- pkg/kudoctl/util/kudo/kudo.go | 33 ++-- pkg/kudoctl/util/kudo/kudo_test.go | 73 ++++++-- 30 files changed, 571 insertions(+), 351 deletions(-) diff --git a/config/crds/kudo.dev_instances.yaml b/config/crds/kudo.dev_instances.yaml index 530f2bdd0..c9a1de396 100644 --- a/config/crds/kudo.dev_instances.yaml +++ b/config/crds/kudo.dev_instances.yaml @@ -4,7 +4,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: instances.kudo.dev spec: diff --git a/config/crds/kudo.dev_operators.yaml b/config/crds/kudo.dev_operators.yaml index 1e32dc04e..86444fad9 100644 --- a/config/crds/kudo.dev_operators.yaml +++ b/config/crds/kudo.dev_operators.yaml @@ -4,7 +4,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operators.kudo.dev spec: diff --git a/config/crds/kudo.dev_operatorversions.yaml b/config/crds/kudo.dev_operatorversions.yaml index 2ccd11036..0f816d271 100644 --- a/config/crds/kudo.dev_operatorversions.yaml +++ b/config/crds/kudo.dev_operatorversions.yaml @@ -4,7 +4,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operatorversions.kudo.dev spec: @@ -41,8 +41,29 @@ spec: used to connect to an instance of the Operator. type: string operator: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type are + discouraged because of difficulty describing its usage when embedded + in APIs. 1. Ignored fields. It includes many fields which are not + generally honored. For instance, ResourceVersion and FieldPath are + both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must be + restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the validation + rules are different by usage, which makes it hard for users to predict + what will happen. 4. The fields are both imprecise and overly precise. Kind + is not a precise mapping to a URL. This can produce ambiguity during + interpretation and require a REST mapping. In most cases, the dependency + is on the group,resource tuple and the version of the actual struct + is irrelevant. 5. We cannot easily change it. Because this type + is embedded in many locations, updates to this type will affect + numerous schemas. Don''t make new APIs embed an underspecified API + type they do not control. Instead of using this type, create a locally + provided and used type that is well-focused on your reference. For + example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. @@ -238,8 +259,30 @@ spec: description: UpgradableFrom lists all OperatorVersions that can upgrade to this OperatorVersion. items: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type + are discouraged because of difficulty describing its usage when + embedded in APIs. 1. Ignored fields. It includes many fields which + are not generally honored. For instance, ResourceVersion and FieldPath + are both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must + be restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the + validation rules are different by usage, which makes it hard for + users to predict what will happen. 4. The fields are both imprecise + and overly precise. Kind is not a precise mapping to a URL. This + can produce ambiguity during interpretation and require a REST + mapping. In most cases, the dependency is on the group,resource + tuple and the version of the actual struct is irrelevant. 5. + We cannot easily change it. Because this type is embedded in many + locations, updates to this type will affect numerous schemas. Don''t + make new APIs embed an underspecified API type they do not control. + Instead of using this type, create a locally provided and used type + that is well-focused on your reference. For example, ServiceReferences + for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. diff --git a/go.mod b/go.mod index e123513c6..5f638b88f 100644 --- a/go.mod +++ b/go.mod @@ -10,12 +10,11 @@ require ( github.com/google/go-cmp v0.4.0 github.com/gosuri/uitable v0.0.4 github.com/huandu/xstrings v1.3.1 // indirect - github.com/kudobuilder/kuttl v0.4.0 + github.com/kudobuilder/kuttl v0.5.0 github.com/manifoldco/promptui v0.7.0 github.com/mitchellh/copystructure v1.0.0 // indirect github.com/onsi/ginkgo v1.12.0 github.com/onsi/gomega v1.9.0 - github.com/pkg/errors v0.9.1 // indirect github.com/spf13/afero v1.2.2 github.com/spf13/cobra v1.0.0 github.com/spf13/pflag v1.0.5 @@ -27,20 +26,17 @@ require ( golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a golang.org/x/sys v0.0.0-20200408040146-ea54a3c99b9b // indirect google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24 // indirect - google.golang.org/grpc v1.26.0 // indirect gopkg.in/yaml.v2 v2.2.8 gotest.tools v2.2.0+incompatible - k8s.io/api v0.17.3 - k8s.io/apiextensions-apiserver v0.17.2 - k8s.io/apimachinery v0.17.3 - k8s.io/cli-runtime v0.17.3 - k8s.io/client-go v0.17.3 - k8s.io/code-generator v0.17.3 - k8s.io/component-base v0.17.3 - k8s.io/kubectl v0.17.3 - sigs.k8s.io/controller-runtime v0.5.1 - sigs.k8s.io/controller-tools v0.2.6 + k8s.io/api v0.18.4 + k8s.io/apiextensions-apiserver v0.18.4 + k8s.io/apimachinery v0.18.4 + k8s.io/cli-runtime v0.18.4 + k8s.io/client-go v0.18.4 + k8s.io/code-generator v0.18.4 + k8s.io/component-base v0.18.4 + k8s.io/kubectl v0.18.4 + sigs.k8s.io/controller-runtime v0.6.0 + sigs.k8s.io/controller-tools v0.3.0 sigs.k8s.io/yaml v1.2.0 ) - -replace k8s.io/code-generator v0.17.3 => github.com/kudobuilder/code-generator v0.17.4-beta.0.0.20200316162450-cc91a9201457 diff --git a/go.sum b/go.sum index b10aab689..21487e94d 100644 --- a/go.sum +++ b/go.sum @@ -20,7 +20,6 @@ github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VY github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd h1:sjQovDkwrZp8u+gxLtPgKGjk5hCxuy2hrRejBTA9xFU= github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E= github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= @@ -46,8 +45,8 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5Vpd github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alessio/shellescape v0.0.0-20190409004728-b115ca0f9053 h1:H/GMMKYPkEIC3DF/JWQz8Pdd+Feifov2EIgGfNpeogI= -github.com/alessio/shellescape v0.0.0-20190409004728-b115ca0f9053/go.mod h1:xW8sBma2LE3QxFSzCnH9qe6gAE2yO9GvQaWwX89HxbE= +github.com/alessio/shellescape v1.2.2 h1:8LnL+ncxhWT2TR00dfJRT25JWWrhkMZXneHVWnetDZg= +github.com/alessio/shellescape v1.2.2/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= @@ -92,7 +91,6 @@ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfc github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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= @@ -117,8 +115,8 @@ github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:Htrtb github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustinkirkland/golang-petname v0.0.0-20191129215211-8e5a1ed0cff0 h1:90Ly+6UfUypEF6vvvW5rQIv9opIL8CbmW9FT20LDQoY= github.com/dustinkirkland/golang-petname v0.0.0-20191129215211-8e5a1ed0cff0/go.mod h1:V+Qd57rJe8gd4eiGzZyg4h54VLHmYVVw54iMnlAMrF8= -github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e h1:p1yVGRW3nmb85p1Sh1ZJSDm4A4iKLS5QNbvUHMgGu/M= -github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= +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= @@ -127,6 +125,8 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M= github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.0.0 h1:dKTrUeykyQwKb/kx7Z+4ukDs6l+4L41HqG1XHnhX7WE= +github.com/evanphx/json-patch/v5 v5.0.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwCFad8crR9dcMQWvV9Hvulu6hwUh4tWPJnM= github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= @@ -212,7 +212,6 @@ github.com/gobuffalo/flect v0.2.0 h1:EWCvMGGxOjsgwlWaP+f4+Hh6yrrte7JeFL2S6b+0hdM github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= @@ -244,9 +243,10 @@ 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/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= 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 h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= 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= @@ -258,6 +258,7 @@ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/gax-go/v2 v2.0.4 h1:hU4mGcQI4DaAYW+IbTun+2qEZVFxK0ySjQLTbS0VQKc= 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/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.3.1 h1:WeAefnSUHlBb0iJKwxFDZdbfGwkd7xRNuV+IpXMJhYk= github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= @@ -296,9 +297,9 @@ github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI= github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo= @@ -325,10 +326,8 @@ 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/kudobuilder/code-generator v0.17.4-beta.0.0.20200316162450-cc91a9201457 h1:f1H3Jw07meAETjS9uXbHwOW3m93ZRaweRR1hWerxS4k= -github.com/kudobuilder/code-generator v0.17.4-beta.0.0.20200316162450-cc91a9201457/go.mod h1:l8BLVwASXQZTo2xamW5mQNFCe1XPiAesVq7Y1t7PiQQ= -github.com/kudobuilder/kuttl v0.4.0 h1:axXLS3UhKynH2wNbU+ZVthyLt3Wgoh0iUJFfruy+VpQ= -github.com/kudobuilder/kuttl v0.4.0/go.mod h1:UmrVd7x+bNVKrpmKgTtfRiTKHZeNPcMjQproJ0vGwhE= +github.com/kudobuilder/kuttl v0.5.0 h1:bPQceUZ1I067K2a3WzvlnX+BBuDI8V04FXHp0HQAEOQ= +github.com/kudobuilder/kuttl v0.5.0/go.mod h1:o9M5BBmunm69oMnPjvNGb6biz3nm5AswAdJ0EIhTJQA= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= @@ -353,8 +352,8 @@ github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= @@ -372,7 +371,6 @@ github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx 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-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= 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= @@ -388,8 +386,6 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= 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/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= 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/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU= @@ -409,18 +405,15 @@ github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.6.0 h1:aetoXYr0Tv7xRU/V4B4IZJ2QcbtMUFoNb3ORp7TzIK4= -github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= +github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 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/pkg/errors v0.9.0 h1:J8lpUdobwIeCI7OiSxHqEwJUKvJwicL5+3v1oe2Yb4k= -github.com/pkg/errors v0.9.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 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/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= @@ -433,6 +426,8 @@ github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw= @@ -442,7 +437,6 @@ github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7z github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= @@ -482,7 +476,6 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -532,20 +525,15 @@ golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +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/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -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/lint v0.0.0-20181026193005-c67002cb31c3 h1:x/bBzNauLQAlE3fLku/xy92Y8QwKX5HZymrMz2IiKFc= 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/lint v0.0.0-20190313153728-d0100b6bd8b3 h1:XQyxROzUlZH+WIQwySDgnISgOivlhjIEwaQaJEJrrN0= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= 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= @@ -581,6 +569,7 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -594,19 +583,16 @@ golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69 h1:rOhMmluY6kLMhdnrivzec6lLgaVbMHMn2ISQXJeJ5EM= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e h1:N7DeIrjYszNmSW409R3frPPwglRwMkXSBzwVbkOjLLA= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200408040146-ea54a3c99b9b h1:h03Ur1RlPrGTjua4koYdpGl8W0eYo8p1uI9w7RPlkdk= golang.org/x/sys v0.0.0-20200408040146-ea54a3c99b9b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -627,10 +613,8 @@ golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138 h1:H3uGjxCR/6Ds0Mjgyp7LMK81+LvmbvWWEnJhzk1Pi9E= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -645,10 +629,6 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IV golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.0.1 h1:xyiBuvkD2g5n7cYzx6u2sxQvsAy4QJsZFCzGVdzOXZ0= gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= -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/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= google.golang.org/api v0.4.0 h1:KKgc1aqhV8wDPbDzlDtpvyjZFY3vjz85FP7p4wcQUyI= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -660,8 +640,6 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoA google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7 h1:ZUjXAXmrAyrmmCPHgCA/vChHcpsX27MZ3yBonD/z1KE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873 h1:nfPFGzJkUDX6uBmpN/pSw7MbOAWegH5QDQuoXFHedLg= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24 h1:wDju+RU97qa0FZT0QnZDg9Uc2dH0Ql513kFvHocz+WM= google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= @@ -696,14 +674,12 @@ gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= -gopkg.in/yaml.v2 v2.2.7/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= gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966 h1:B0J02caTR6tpSJozBJyiAzT6CtBzjclw4pgm9gg8Ys0= gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2 h1:XZx7nhd5GMaZpmDaEHFVafUZC7ya0fuo7cSJ3UCKYmM= -gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71 h1:Xe2gvTZUJpsvOWUnvmL/tmhVBZUmHSvLbMjRj6NUUKo= +gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -711,67 +687,57 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a h1:/8zB6iBfHCl1qAnEAWwGPNr honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.17.0/go.mod h1:npsyOePkeP0CPwyGfXDHxvypiYMJxBWAMpQxCaJ4ZxI= -k8s.io/api v0.17.2 h1:NF1UFXcKN7/OOv1uxdRz3qfra8AHsPav5M93hlV9+Dc= -k8s.io/api v0.17.2/go.mod h1:BS9fjjLc4CMuqfSO8vgbHPKMt5+SF0ET6u/RVDihTo4= -k8s.io/api v0.17.3 h1:XAm3PZp3wnEdzekNkcmj/9Y1zdmQYJ1I4GKSBBZ8aG0= -k8s.io/api v0.17.3/go.mod h1:YZ0OTkuw7ipbe305fMpIdf3GLXZKRigjtZaV5gzC2J0= -k8s.io/apiextensions-apiserver v0.17.0/go.mod h1:XiIFUakZywkUl54fVXa7QTEHcqQz9HG55nHd1DCoHj8= -k8s.io/apiextensions-apiserver v0.17.2 h1:cP579D2hSZNuO/rZj9XFRzwJNYb41DbNANJb6Kolpss= -k8s.io/apiextensions-apiserver v0.17.2/go.mod h1:4KdMpjkEjjDI2pPfBA15OscyNldHWdBCfsWMDWAmSTs= -k8s.io/apimachinery v0.17.0/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= -k8s.io/apimachinery v0.17.2 h1:hwDQQFbdRlpnnsR64Asdi55GyCaIP/3WQpMmbNBeWr4= -k8s.io/apimachinery v0.17.2/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= -k8s.io/apimachinery v0.17.3 h1:f+uZV6rm4/tHE7xXgLyToprg6xWairaClGVkm2t8omg= -k8s.io/apimachinery v0.17.3/go.mod h1:gxLnyZcGNdZTCLnq3fgzyg2A5BVCHTNDFrw8AmuJ+0g= -k8s.io/apiserver v0.17.0/go.mod h1:ABM+9x/prjINN6iiffRVNCBR2Wk7uY4z+EtEGZD48cg= -k8s.io/apiserver v0.17.2/go.mod h1:lBmw/TtQdtxvrTk0e2cgtOxHizXI+d0mmGQURIHQZlo= -k8s.io/cli-runtime v0.17.3 h1:0ZlDdJgJBKsu77trRUynNiWsRuAvAVPBNaQfnt/1qtc= -k8s.io/cli-runtime v0.17.3/go.mod h1:X7idckYphH4SZflgNpOOViSxetiMj6xI0viMAjM81TA= -k8s.io/client-go v0.17.0/go.mod h1:TYgR6EUHs6k45hb6KWjVD6jFZvJV4gHDikv/It0xz+k= -k8s.io/client-go v0.17.2 h1:ndIfkfXEGrNhLIgkr0+qhRguSD3u6DCmonepn1O6NYc= -k8s.io/client-go v0.17.2/go.mod h1:QAzRgsa0C2xl4/eVpeVAZMvikCn8Nm81yqVx3Kk9XYI= -k8s.io/client-go v0.17.3 h1:deUna1Ksx05XeESH6XGCyONNFfiQmDdqeqUvicvP6nU= -k8s.io/client-go v0.17.3/go.mod h1:cLXlTMtWHkuK4tD360KpWz2gG2KtdWEr/OT02i3emRQ= -k8s.io/code-generator v0.17.0/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= -k8s.io/code-generator v0.17.2 h1:pTwl3rLB1fUyxmvEzmVPMM0tBSdUehd7z+bDzpj4lPE= -k8s.io/code-generator v0.17.2/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= -k8s.io/component-base v0.17.0/go.mod h1:rKuRAokNMY2nn2A6LP/MiwpoaMRHpfRnrPaUJJj1Yoc= -k8s.io/component-base v0.17.2 h1:0XHf+cerTvL9I5Xwn9v+0jmqzGAZI7zNydv4tL6Cw6A= -k8s.io/component-base v0.17.2/go.mod h1:zMPW3g5aH7cHJpKYQ/ZsGMcgbsA/VyhEugF3QT1awLs= -k8s.io/component-base v0.17.3 h1:hQzTSshY14aLSR6WGIYvmw+w+u6V4d+iDR2iDGMrlUg= -k8s.io/component-base v0.17.3/go.mod h1:GeQf4BrgelWm64PXkIXiPh/XS0hnO42d9gx9BtbZRp8= +k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78= +k8s.io/api v0.18.4 h1:8x49nBRxuXGUlDlwlWd3RMY1SayZrzFfxea3UZSkFw4= +k8s.io/api v0.18.4/go.mod h1:lOIQAKYgai1+vz9J7YcDZwC26Z0zQewYOGWdyIPUUQ4= +k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY= +k8s.io/apiextensions-apiserver v0.18.4 h1:Y3HGERmS8t9u12YNUFoOISqefaoGRuTc43AYCLzWmWE= +k8s.io/apiextensions-apiserver v0.18.4/go.mod h1:NYeyeYq4SIpFlPxSAB6jHPIdvu3hL0pc36wuRChybio= +k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA= +k8s.io/apimachinery v0.18.4 h1:ST2beySjhqwJoIFk6p7Hp5v5O0hYY6Gngq/gUYXTPIA= +k8s.io/apimachinery v0.18.4/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko= +k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw= +k8s.io/apiserver v0.18.4/go.mod h1:q+zoFct5ABNnYkGIaGQ3bcbUNdmPyOCoEBcg51LChY8= +k8s.io/cli-runtime v0.18.4 h1:IUx7quIOb4gbQ4M+B1ksF/PTBovQuL5tXWzplX3t+FM= +k8s.io/cli-runtime v0.18.4/go.mod h1:9/hS/Cuf7NVzWR5F/5tyS6xsnclxoPLVtwhnkJG1Y4g= +k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU= +k8s.io/client-go v0.18.4 h1:un55V1Q/B3JO3A76eS0kUSywgGK/WR3BQ8fHQjNa6Zc= +k8s.io/client-go v0.18.4/go.mod h1:f5sXwL4yAZRkAtzOxRWUhA/N8XzGCb+nPZI8PfobZ9g= +k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= +k8s.io/code-generator v0.18.4 h1:SouAMfh3jbL7aL8rnUQ/C+7WwXYTZnPa8L9V2TtIE7o= +k8s.io/code-generator v0.18.4/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= +k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM= +k8s.io/component-base v0.18.4 h1:Kr53Fp1iCGNsl9Uv4VcRvLy7YyIqi9oaJOQ7SXtKI98= +k8s.io/component-base v0.18.4/go.mod h1:7jr/Ef5PGmKwQhyAz/pjByxJbC58mhKAhiaDu0vXfPk= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6 h1:4s3/R4+OYYYUKptXPhZKjQ04WJ6EhQQVFdjOFvCazDk= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20190822140433-26a664648505 h1:ZY6yclUKVbZ+SdWnkfY+Je5vrMpKOxmGeKRbsXVmqYM= -k8s.io/gengo v0.0.0-20190822140433-26a664648505/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 h1:0VPpR+sizsiivjIfIAQH/rl8tan6jvWkS7lU+0di3lE= 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-20191107075043-30be4d16710a h1:UcxjrRMyNx/i/y8G7kPvLyy7rfbeuf1PYyBf973pgyU= -k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= -k8s.io/kubectl v0.17.3 h1:9HHYj07kuFkM+sMJMOyQX29CKWq4lvKAG1UIPxNPMQ4= -k8s.io/kubectl v0.17.3/go.mod h1:NUn4IBY7f7yCMwSop2HCXlw/MVYP4HJBiUmOR3n9w28= -k8s.io/metrics v0.17.3/go.mod h1:HEJGy1fhHOjHggW9rMDBJBD3YuGroH3Y1pnIRw9FFaI= -k8s.io/utils v0.0.0-20191114184206-e782cd3c129f h1:GiPwtSzdP43eI1hpPCbROQCCIgCuiMMNF8YUVLF3vJo= -k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -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/controller-runtime v0.5.1 h1:TNidCfVoU/cs2i+9xoTcL/l7yhl0bDhYXU0NCG6wmiE= -sigs.k8s.io/controller-runtime v0.5.1/go.mod h1:Uojny7gvg55YLQnEGnPzRE3dC4ik2tRlZJgOUCWXAV4= -sigs.k8s.io/controller-tools v0.2.6 h1:4Fo36alFw5+Fffz7HhNd2EFBFvckqVkb4ePnIj0uLUc= -sigs.k8s.io/controller-tools v0.2.6/go.mod h1:9VKHPszmf2DHz/QmHkcfZoewO6BL7pPs9uAiBVsaJSE= -sigs.k8s.io/kind v0.7.0 h1:7y7a8EYtGHM+auHmsvzuK5o84SrxPYGidlvfql7j/k4= -sigs.k8s.io/kind v0.7.0/go.mod h1:An/AbWHT6pA/Lm0Og8j3ukGhfJP3RiVN/IBU6Lo3zl8= +k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= +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/kubectl v0.18.4 h1:l9DUYPTEMs1+qNtoqPpTyaJOosvj7l7tQqphCO1K52s= +k8s.io/kubectl v0.18.4/go.mod h1:EzB+nfeUWk6fm6giXQ8P4Fayw3dsN+M7Wjy23mTRtB0= +k8s.io/metrics v0.18.4/go.mod h1:luze4fyI9JG4eLDZy0kFdYEebqNfi0QrG4xNEbPkHOs= +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/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0= +sigs.k8s.io/controller-runtime v0.6.0 h1:Fzna3DY7c4BIP6KwfSlrfnj20DJ+SeMBK8HSFvOk9NM= +sigs.k8s.io/controller-runtime v0.6.0/go.mod h1:CpYf5pdNY/B352A1TFLAS2JVSlnGQ5O2cftPHndTroo= +sigs.k8s.io/controller-tools v0.3.0 h1:y3YD99XOyWaXkiF1kd41uRvfp/64teWcrEZFuHxPhJ4= +sigs.k8s.io/controller-tools v0.3.0/go.mod h1:enhtKGfxZD1GFEoMgP8Fdbu+uKQ/cq1/WGJhdVChfvI= +sigs.k8s.io/kind v0.8.1 h1:9wsEbEtMQV9QObaqS/T4VxBeXXPtu+qM9sFMqgO/90o= +sigs.k8s.io/kind v0.8.1/go.mod h1:oNKTxUVPYkV9lWzY6CVMNluVq8cBsyq+UgPJdvA3uu4= sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0= sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= -sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18= +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.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E= +sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= diff --git a/hack/update_codegen.sh b/hack/update_codegen.sh index cfb2783e0..baa813a1b 100755 --- a/hack/update_codegen.sh +++ b/hack/update_codegen.sh @@ -10,15 +10,13 @@ set -o pipefail export GO111MODULE=on version_and_repo=$(go list -f '{{if .Replace}}{{.Replace.Version}} {{.Replace.Path}}{{else}}{{.Version}} {{.Path}}{{end}}' -m k8s.io/code-generator) VERSION="$(echo "${version_and_repo}" | cut -d' ' -f 1 | rev | cut -d"-" -f1 | rev)" -CODEGEN_REPO="$(echo "${version_and_repo}" | cut -d' ' -f 2)" REPO_ROOT="${REPO_ROOT:-$(git rev-parse --show-toplevel)}" CODE_GEN_DIR="${REPO_ROOT}/hack/code-gen/$VERSION" if [[ -d ${CODE_GEN_DIR} ]]; then echo "Using cached code generator version: $VERSION" else - echo "Cloning code-generator from ${CODEGEN_REPO}" - git clone https://${CODEGEN_REPO}.git "${CODE_GEN_DIR}" + git clone https://github.com/kubernetes/code-generator.git "${CODE_GEN_DIR}" git -C "${CODE_GEN_DIR}" reset --hard "${VERSION}" fi diff --git a/pkg/client/clientset/versioned/clientset.go b/pkg/client/clientset/versioned/clientset.go index 506eda930..87f143116 100644 --- a/pkg/client/clientset/versioned/clientset.go +++ b/pkg/client/clientset/versioned/clientset.go @@ -57,7 +57,7 @@ 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") + 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) } diff --git a/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_instance.go b/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_instance.go index 562add68e..bdb1a5639 100644 --- a/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_instance.go +++ b/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_instance.go @@ -17,6 +17,8 @@ limitations under the License. package fake import ( + "context" + v1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" @@ -37,7 +39,7 @@ var instancesResource = schema.GroupVersionResource{Group: "kudo.dev", Version: var instancesKind = schema.GroupVersionKind{Group: "kudo.dev", Version: "v1beta1", Kind: "Instance"} // Get takes name of the instance, and returns the corresponding instance object, and an error if there is any. -func (c *FakeInstances) Get(name string, options v1.GetOptions) (result *v1beta1.Instance, err error) { +func (c *FakeInstances) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Instance, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(instancesResource, c.ns, name), &v1beta1.Instance{}) @@ -48,7 +50,7 @@ func (c *FakeInstances) Get(name string, options v1.GetOptions) (result *v1beta1 } // List takes label and field selectors, and returns the list of Instances that match those selectors. -func (c *FakeInstances) List(opts v1.ListOptions) (result *v1beta1.InstanceList, err error) { +func (c *FakeInstances) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.InstanceList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(instancesResource, instancesKind, c.ns, opts), &v1beta1.InstanceList{}) @@ -70,14 +72,14 @@ func (c *FakeInstances) List(opts v1.ListOptions) (result *v1beta1.InstanceList, } // Watch returns a watch.Interface that watches the requested instances. -func (c *FakeInstances) Watch(opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeInstances) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(instancesResource, c.ns, opts)) } // Create takes the representation of a instance and creates it. Returns the server's representation of the instance, and an error, if there is any. -func (c *FakeInstances) Create(instance *v1beta1.Instance) (result *v1beta1.Instance, err error) { +func (c *FakeInstances) Create(ctx context.Context, instance *v1beta1.Instance, opts v1.CreateOptions) (result *v1beta1.Instance, err error) { obj, err := c.Fake. Invokes(testing.NewCreateAction(instancesResource, c.ns, instance), &v1beta1.Instance{}) @@ -88,7 +90,7 @@ func (c *FakeInstances) Create(instance *v1beta1.Instance) (result *v1beta1.Inst } // Update takes the representation of a instance and updates it. Returns the server's representation of the instance, and an error, if there is any. -func (c *FakeInstances) Update(instance *v1beta1.Instance) (result *v1beta1.Instance, err error) { +func (c *FakeInstances) Update(ctx context.Context, instance *v1beta1.Instance, opts v1.UpdateOptions) (result *v1beta1.Instance, err error) { obj, err := c.Fake. Invokes(testing.NewUpdateAction(instancesResource, c.ns, instance), &v1beta1.Instance{}) @@ -100,7 +102,7 @@ func (c *FakeInstances) Update(instance *v1beta1.Instance) (result *v1beta1.Inst // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeInstances) UpdateStatus(instance *v1beta1.Instance) (*v1beta1.Instance, error) { +func (c *FakeInstances) UpdateStatus(ctx context.Context, instance *v1beta1.Instance, opts v1.UpdateOptions) (*v1beta1.Instance, error) { obj, err := c.Fake. Invokes(testing.NewUpdateSubresourceAction(instancesResource, "status", c.ns, instance), &v1beta1.Instance{}) @@ -111,7 +113,7 @@ func (c *FakeInstances) UpdateStatus(instance *v1beta1.Instance) (*v1beta1.Insta } // Delete takes name of the instance and deletes it. Returns an error if one occurs. -func (c *FakeInstances) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeInstances) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(instancesResource, c.ns, name), &v1beta1.Instance{}) @@ -119,15 +121,15 @@ func (c *FakeInstances) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *FakeInstances) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { - action := testing.NewDeleteCollectionAction(instancesResource, c.ns, listOptions) +func (c *FakeInstances) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(instancesResource, c.ns, listOpts) _, err := c.Fake.Invokes(action, &v1beta1.InstanceList{}) return err } // Patch applies the patch and returns the patched instance. -func (c *FakeInstances) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Instance, err error) { +func (c *FakeInstances) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Instance, err error) { obj, err := c.Fake. Invokes(testing.NewPatchSubresourceAction(instancesResource, c.ns, name, pt, data, subresources...), &v1beta1.Instance{}) diff --git a/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operator.go b/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operator.go index 45460d1d7..b7caa11da 100644 --- a/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operator.go +++ b/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operator.go @@ -17,6 +17,8 @@ limitations under the License. package fake import ( + "context" + v1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" @@ -37,7 +39,7 @@ var operatorsResource = schema.GroupVersionResource{Group: "kudo.dev", Version: var operatorsKind = schema.GroupVersionKind{Group: "kudo.dev", Version: "v1beta1", Kind: "Operator"} // Get takes name of the operator, and returns the corresponding operator object, and an error if there is any. -func (c *FakeOperators) Get(name string, options v1.GetOptions) (result *v1beta1.Operator, err error) { +func (c *FakeOperators) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Operator, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(operatorsResource, c.ns, name), &v1beta1.Operator{}) @@ -48,7 +50,7 @@ func (c *FakeOperators) Get(name string, options v1.GetOptions) (result *v1beta1 } // List takes label and field selectors, and returns the list of Operators that match those selectors. -func (c *FakeOperators) List(opts v1.ListOptions) (result *v1beta1.OperatorList, err error) { +func (c *FakeOperators) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.OperatorList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(operatorsResource, operatorsKind, c.ns, opts), &v1beta1.OperatorList{}) @@ -70,14 +72,14 @@ func (c *FakeOperators) List(opts v1.ListOptions) (result *v1beta1.OperatorList, } // Watch returns a watch.Interface that watches the requested operators. -func (c *FakeOperators) Watch(opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeOperators) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(operatorsResource, c.ns, opts)) } // Create takes the representation of a operator and creates it. Returns the server's representation of the operator, and an error, if there is any. -func (c *FakeOperators) Create(operator *v1beta1.Operator) (result *v1beta1.Operator, err error) { +func (c *FakeOperators) Create(ctx context.Context, operator *v1beta1.Operator, opts v1.CreateOptions) (result *v1beta1.Operator, err error) { obj, err := c.Fake. Invokes(testing.NewCreateAction(operatorsResource, c.ns, operator), &v1beta1.Operator{}) @@ -88,7 +90,7 @@ func (c *FakeOperators) Create(operator *v1beta1.Operator) (result *v1beta1.Oper } // Update takes the representation of a operator and updates it. Returns the server's representation of the operator, and an error, if there is any. -func (c *FakeOperators) Update(operator *v1beta1.Operator) (result *v1beta1.Operator, err error) { +func (c *FakeOperators) Update(ctx context.Context, operator *v1beta1.Operator, opts v1.UpdateOptions) (result *v1beta1.Operator, err error) { obj, err := c.Fake. Invokes(testing.NewUpdateAction(operatorsResource, c.ns, operator), &v1beta1.Operator{}) @@ -100,7 +102,7 @@ func (c *FakeOperators) Update(operator *v1beta1.Operator) (result *v1beta1.Oper // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeOperators) UpdateStatus(operator *v1beta1.Operator) (*v1beta1.Operator, error) { +func (c *FakeOperators) UpdateStatus(ctx context.Context, operator *v1beta1.Operator, opts v1.UpdateOptions) (*v1beta1.Operator, error) { obj, err := c.Fake. Invokes(testing.NewUpdateSubresourceAction(operatorsResource, "status", c.ns, operator), &v1beta1.Operator{}) @@ -111,7 +113,7 @@ func (c *FakeOperators) UpdateStatus(operator *v1beta1.Operator) (*v1beta1.Opera } // Delete takes name of the operator and deletes it. Returns an error if one occurs. -func (c *FakeOperators) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeOperators) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(operatorsResource, c.ns, name), &v1beta1.Operator{}) @@ -119,15 +121,15 @@ func (c *FakeOperators) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *FakeOperators) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { - action := testing.NewDeleteCollectionAction(operatorsResource, c.ns, listOptions) +func (c *FakeOperators) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(operatorsResource, c.ns, listOpts) _, err := c.Fake.Invokes(action, &v1beta1.OperatorList{}) return err } // Patch applies the patch and returns the patched operator. -func (c *FakeOperators) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Operator, err error) { +func (c *FakeOperators) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Operator, err error) { obj, err := c.Fake. Invokes(testing.NewPatchSubresourceAction(operatorsResource, c.ns, name, pt, data, subresources...), &v1beta1.Operator{}) diff --git a/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operatorversion.go b/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operatorversion.go index 679124ba4..80093f86a 100644 --- a/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operatorversion.go +++ b/pkg/client/clientset/versioned/typed/kudo/v1beta1/fake/fake_operatorversion.go @@ -17,6 +17,8 @@ limitations under the License. package fake import ( + "context" + v1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" @@ -37,7 +39,7 @@ var operatorversionsResource = schema.GroupVersionResource{Group: "kudo.dev", Ve var operatorversionsKind = schema.GroupVersionKind{Group: "kudo.dev", Version: "v1beta1", Kind: "OperatorVersion"} // Get takes name of the operatorVersion, and returns the corresponding operatorVersion object, and an error if there is any. -func (c *FakeOperatorVersions) Get(name string, options v1.GetOptions) (result *v1beta1.OperatorVersion, err error) { +func (c *FakeOperatorVersions) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.OperatorVersion, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(operatorversionsResource, c.ns, name), &v1beta1.OperatorVersion{}) @@ -48,7 +50,7 @@ func (c *FakeOperatorVersions) Get(name string, options v1.GetOptions) (result * } // List takes label and field selectors, and returns the list of OperatorVersions that match those selectors. -func (c *FakeOperatorVersions) List(opts v1.ListOptions) (result *v1beta1.OperatorVersionList, err error) { +func (c *FakeOperatorVersions) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.OperatorVersionList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(operatorversionsResource, operatorversionsKind, c.ns, opts), &v1beta1.OperatorVersionList{}) @@ -70,14 +72,14 @@ func (c *FakeOperatorVersions) List(opts v1.ListOptions) (result *v1beta1.Operat } // Watch returns a watch.Interface that watches the requested operatorVersions. -func (c *FakeOperatorVersions) Watch(opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeOperatorVersions) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(operatorversionsResource, c.ns, opts)) } // Create takes the representation of a operatorVersion and creates it. Returns the server's representation of the operatorVersion, and an error, if there is any. -func (c *FakeOperatorVersions) Create(operatorVersion *v1beta1.OperatorVersion) (result *v1beta1.OperatorVersion, err error) { +func (c *FakeOperatorVersions) Create(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.CreateOptions) (result *v1beta1.OperatorVersion, err error) { obj, err := c.Fake. Invokes(testing.NewCreateAction(operatorversionsResource, c.ns, operatorVersion), &v1beta1.OperatorVersion{}) @@ -88,7 +90,7 @@ func (c *FakeOperatorVersions) Create(operatorVersion *v1beta1.OperatorVersion) } // Update takes the representation of a operatorVersion and updates it. Returns the server's representation of the operatorVersion, and an error, if there is any. -func (c *FakeOperatorVersions) Update(operatorVersion *v1beta1.OperatorVersion) (result *v1beta1.OperatorVersion, err error) { +func (c *FakeOperatorVersions) Update(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.UpdateOptions) (result *v1beta1.OperatorVersion, err error) { obj, err := c.Fake. Invokes(testing.NewUpdateAction(operatorversionsResource, c.ns, operatorVersion), &v1beta1.OperatorVersion{}) @@ -100,7 +102,7 @@ func (c *FakeOperatorVersions) Update(operatorVersion *v1beta1.OperatorVersion) // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeOperatorVersions) UpdateStatus(operatorVersion *v1beta1.OperatorVersion) (*v1beta1.OperatorVersion, error) { +func (c *FakeOperatorVersions) UpdateStatus(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.UpdateOptions) (*v1beta1.OperatorVersion, error) { obj, err := c.Fake. Invokes(testing.NewUpdateSubresourceAction(operatorversionsResource, "status", c.ns, operatorVersion), &v1beta1.OperatorVersion{}) @@ -111,7 +113,7 @@ func (c *FakeOperatorVersions) UpdateStatus(operatorVersion *v1beta1.OperatorVer } // Delete takes name of the operatorVersion and deletes it. Returns an error if one occurs. -func (c *FakeOperatorVersions) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeOperatorVersions) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(operatorversionsResource, c.ns, name), &v1beta1.OperatorVersion{}) @@ -119,15 +121,15 @@ func (c *FakeOperatorVersions) Delete(name string, options *v1.DeleteOptions) er } // DeleteCollection deletes a collection of objects. -func (c *FakeOperatorVersions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { - action := testing.NewDeleteCollectionAction(operatorversionsResource, c.ns, listOptions) +func (c *FakeOperatorVersions) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(operatorversionsResource, c.ns, listOpts) _, err := c.Fake.Invokes(action, &v1beta1.OperatorVersionList{}) return err } // Patch applies the patch and returns the patched operatorVersion. -func (c *FakeOperatorVersions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.OperatorVersion, err error) { +func (c *FakeOperatorVersions) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.OperatorVersion, err error) { obj, err := c.Fake. Invokes(testing.NewPatchSubresourceAction(operatorversionsResource, c.ns, name, pt, data, subresources...), &v1beta1.OperatorVersion{}) diff --git a/pkg/client/clientset/versioned/typed/kudo/v1beta1/instance.go b/pkg/client/clientset/versioned/typed/kudo/v1beta1/instance.go index 84d9eabc4..b07bfde7c 100644 --- a/pkg/client/clientset/versioned/typed/kudo/v1beta1/instance.go +++ b/pkg/client/clientset/versioned/typed/kudo/v1beta1/instance.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "context" "time" v1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" @@ -35,15 +36,15 @@ type InstancesGetter interface { // InstanceInterface has methods to work with Instance resources. type InstanceInterface interface { - Create(*v1beta1.Instance) (*v1beta1.Instance, error) - Update(*v1beta1.Instance) (*v1beta1.Instance, error) - UpdateStatus(*v1beta1.Instance) (*v1beta1.Instance, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error - Get(name string, options v1.GetOptions) (*v1beta1.Instance, error) - List(opts v1.ListOptions) (*v1beta1.InstanceList, error) - Watch(opts v1.ListOptions) (watch.Interface, error) - Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Instance, err error) + Create(ctx context.Context, instance *v1beta1.Instance, opts v1.CreateOptions) (*v1beta1.Instance, error) + Update(ctx context.Context, instance *v1beta1.Instance, opts v1.UpdateOptions) (*v1beta1.Instance, error) + UpdateStatus(ctx context.Context, instance *v1beta1.Instance, opts v1.UpdateOptions) (*v1beta1.Instance, 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) (*v1beta1.Instance, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.InstanceList, 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 *v1beta1.Instance, err error) InstanceExpansion } @@ -62,20 +63,20 @@ func newInstances(c *KudoV1beta1Client, namespace string) *instances { } // Get takes name of the instance, and returns the corresponding instance object, and an error if there is any. -func (c *instances) Get(name string, options v1.GetOptions) (result *v1beta1.Instance, err error) { +func (c *instances) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Instance, err error) { result = &v1beta1.Instance{} err = c.client.Get(). Namespace(c.ns). Resource("instances"). Name(name). VersionedParams(&options, scheme.ParameterCodec). - Do(). + Do(ctx). Into(result) return } // List takes label and field selectors, and returns the list of Instances that match those selectors. -func (c *instances) List(opts v1.ListOptions) (result *v1beta1.InstanceList, err error) { +func (c *instances) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.InstanceList, err error) { var timeout time.Duration if opts.TimeoutSeconds != nil { timeout = time.Duration(*opts.TimeoutSeconds) * time.Second @@ -86,13 +87,13 @@ func (c *instances) List(opts v1.ListOptions) (result *v1beta1.InstanceList, err Resource("instances"). VersionedParams(&opts, scheme.ParameterCodec). Timeout(timeout). - Do(). + Do(ctx). Into(result) return } // Watch returns a watch.Interface that watches the requested instances. -func (c *instances) Watch(opts v1.ListOptions) (watch.Interface, error) { +func (c *instances) 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 @@ -103,87 +104,90 @@ func (c *instances) Watch(opts v1.ListOptions) (watch.Interface, error) { Resource("instances"). VersionedParams(&opts, scheme.ParameterCodec). Timeout(timeout). - Watch() + Watch(ctx) } // Create takes the representation of a instance and creates it. Returns the server's representation of the instance, and an error, if there is any. -func (c *instances) Create(instance *v1beta1.Instance) (result *v1beta1.Instance, err error) { +func (c *instances) Create(ctx context.Context, instance *v1beta1.Instance, opts v1.CreateOptions) (result *v1beta1.Instance, err error) { result = &v1beta1.Instance{} err = c.client.Post(). Namespace(c.ns). Resource("instances"). + VersionedParams(&opts, scheme.ParameterCodec). Body(instance). - Do(). + Do(ctx). Into(result) return } // Update takes the representation of a instance and updates it. Returns the server's representation of the instance, and an error, if there is any. -func (c *instances) Update(instance *v1beta1.Instance) (result *v1beta1.Instance, err error) { +func (c *instances) Update(ctx context.Context, instance *v1beta1.Instance, opts v1.UpdateOptions) (result *v1beta1.Instance, err error) { result = &v1beta1.Instance{} err = c.client.Put(). Namespace(c.ns). Resource("instances"). Name(instance.Name). + VersionedParams(&opts, scheme.ParameterCodec). Body(instance). - 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 *instances) UpdateStatus(instance *v1beta1.Instance) (result *v1beta1.Instance, err error) { +func (c *instances) UpdateStatus(ctx context.Context, instance *v1beta1.Instance, opts v1.UpdateOptions) (result *v1beta1.Instance, err error) { result = &v1beta1.Instance{} err = c.client.Put(). Namespace(c.ns). Resource("instances"). Name(instance.Name). SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). Body(instance). - Do(). + Do(ctx). Into(result) return } // Delete takes name of the instance and deletes it. Returns an error if one occurs. -func (c *instances) Delete(name string, options *v1.DeleteOptions) error { +func (c *instances) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("instances"). Name(name). - Body(options). - Do(). + Body(&opts). + Do(ctx). Error() } // DeleteCollection deletes a collection of objects. -func (c *instances) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { +func (c *instances) 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("instances"). - 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 instance. -func (c *instances) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Instance, err error) { +func (c *instances) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Instance, err error) { result = &v1beta1.Instance{} err = c.client.Patch(pt). Namespace(c.ns). Resource("instances"). - SubResource(subresources...). Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). Body(data). - Do(). + Do(ctx). Into(result) return } diff --git a/pkg/client/clientset/versioned/typed/kudo/v1beta1/operator.go b/pkg/client/clientset/versioned/typed/kudo/v1beta1/operator.go index 62f087147..ba2d410f0 100644 --- a/pkg/client/clientset/versioned/typed/kudo/v1beta1/operator.go +++ b/pkg/client/clientset/versioned/typed/kudo/v1beta1/operator.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "context" "time" v1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" @@ -35,15 +36,15 @@ type OperatorsGetter interface { // OperatorInterface has methods to work with Operator resources. type OperatorInterface interface { - Create(*v1beta1.Operator) (*v1beta1.Operator, error) - Update(*v1beta1.Operator) (*v1beta1.Operator, error) - UpdateStatus(*v1beta1.Operator) (*v1beta1.Operator, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error - Get(name string, options v1.GetOptions) (*v1beta1.Operator, error) - List(opts v1.ListOptions) (*v1beta1.OperatorList, error) - Watch(opts v1.ListOptions) (watch.Interface, error) - Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Operator, err error) + Create(ctx context.Context, operator *v1beta1.Operator, opts v1.CreateOptions) (*v1beta1.Operator, error) + Update(ctx context.Context, operator *v1beta1.Operator, opts v1.UpdateOptions) (*v1beta1.Operator, error) + UpdateStatus(ctx context.Context, operator *v1beta1.Operator, opts v1.UpdateOptions) (*v1beta1.Operator, 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) (*v1beta1.Operator, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.OperatorList, 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 *v1beta1.Operator, err error) OperatorExpansion } @@ -62,20 +63,20 @@ func newOperators(c *KudoV1beta1Client, namespace string) *operators { } // Get takes name of the operator, and returns the corresponding operator object, and an error if there is any. -func (c *operators) Get(name string, options v1.GetOptions) (result *v1beta1.Operator, err error) { +func (c *operators) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Operator, err error) { result = &v1beta1.Operator{} err = c.client.Get(). Namespace(c.ns). Resource("operators"). Name(name). VersionedParams(&options, scheme.ParameterCodec). - Do(). + Do(ctx). Into(result) return } // List takes label and field selectors, and returns the list of Operators that match those selectors. -func (c *operators) List(opts v1.ListOptions) (result *v1beta1.OperatorList, err error) { +func (c *operators) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.OperatorList, err error) { var timeout time.Duration if opts.TimeoutSeconds != nil { timeout = time.Duration(*opts.TimeoutSeconds) * time.Second @@ -86,13 +87,13 @@ func (c *operators) List(opts v1.ListOptions) (result *v1beta1.OperatorList, err Resource("operators"). VersionedParams(&opts, scheme.ParameterCodec). Timeout(timeout). - Do(). + Do(ctx). Into(result) return } // Watch returns a watch.Interface that watches the requested operators. -func (c *operators) Watch(opts v1.ListOptions) (watch.Interface, error) { +func (c *operators) 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 @@ -103,87 +104,90 @@ func (c *operators) Watch(opts v1.ListOptions) (watch.Interface, error) { Resource("operators"). VersionedParams(&opts, scheme.ParameterCodec). Timeout(timeout). - Watch() + Watch(ctx) } // Create takes the representation of a operator and creates it. Returns the server's representation of the operator, and an error, if there is any. -func (c *operators) Create(operator *v1beta1.Operator) (result *v1beta1.Operator, err error) { +func (c *operators) Create(ctx context.Context, operator *v1beta1.Operator, opts v1.CreateOptions) (result *v1beta1.Operator, err error) { result = &v1beta1.Operator{} err = c.client.Post(). Namespace(c.ns). Resource("operators"). + VersionedParams(&opts, scheme.ParameterCodec). Body(operator). - Do(). + Do(ctx). Into(result) return } // Update takes the representation of a operator and updates it. Returns the server's representation of the operator, and an error, if there is any. -func (c *operators) Update(operator *v1beta1.Operator) (result *v1beta1.Operator, err error) { +func (c *operators) Update(ctx context.Context, operator *v1beta1.Operator, opts v1.UpdateOptions) (result *v1beta1.Operator, err error) { result = &v1beta1.Operator{} err = c.client.Put(). Namespace(c.ns). Resource("operators"). Name(operator.Name). + VersionedParams(&opts, scheme.ParameterCodec). Body(operator). - 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 *operators) UpdateStatus(operator *v1beta1.Operator) (result *v1beta1.Operator, err error) { +func (c *operators) UpdateStatus(ctx context.Context, operator *v1beta1.Operator, opts v1.UpdateOptions) (result *v1beta1.Operator, err error) { result = &v1beta1.Operator{} err = c.client.Put(). Namespace(c.ns). Resource("operators"). Name(operator.Name). SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). Body(operator). - Do(). + Do(ctx). Into(result) return } // Delete takes name of the operator and deletes it. Returns an error if one occurs. -func (c *operators) Delete(name string, options *v1.DeleteOptions) error { +func (c *operators) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("operators"). Name(name). - Body(options). - Do(). + Body(&opts). + Do(ctx). Error() } // DeleteCollection deletes a collection of objects. -func (c *operators) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { +func (c *operators) 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("operators"). - 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 operator. -func (c *operators) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Operator, err error) { +func (c *operators) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Operator, err error) { result = &v1beta1.Operator{} err = c.client.Patch(pt). Namespace(c.ns). Resource("operators"). - SubResource(subresources...). Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). Body(data). - Do(). + Do(ctx). Into(result) return } diff --git a/pkg/client/clientset/versioned/typed/kudo/v1beta1/operatorversion.go b/pkg/client/clientset/versioned/typed/kudo/v1beta1/operatorversion.go index 880580212..7976ffe27 100644 --- a/pkg/client/clientset/versioned/typed/kudo/v1beta1/operatorversion.go +++ b/pkg/client/clientset/versioned/typed/kudo/v1beta1/operatorversion.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "context" "time" v1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" @@ -35,15 +36,15 @@ type OperatorVersionsGetter interface { // OperatorVersionInterface has methods to work with OperatorVersion resources. type OperatorVersionInterface interface { - Create(*v1beta1.OperatorVersion) (*v1beta1.OperatorVersion, error) - Update(*v1beta1.OperatorVersion) (*v1beta1.OperatorVersion, error) - UpdateStatus(*v1beta1.OperatorVersion) (*v1beta1.OperatorVersion, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error - Get(name string, options v1.GetOptions) (*v1beta1.OperatorVersion, error) - List(opts v1.ListOptions) (*v1beta1.OperatorVersionList, error) - Watch(opts v1.ListOptions) (watch.Interface, error) - Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.OperatorVersion, err error) + Create(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.CreateOptions) (*v1beta1.OperatorVersion, error) + Update(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.UpdateOptions) (*v1beta1.OperatorVersion, error) + UpdateStatus(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.UpdateOptions) (*v1beta1.OperatorVersion, 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) (*v1beta1.OperatorVersion, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.OperatorVersionList, 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 *v1beta1.OperatorVersion, err error) OperatorVersionExpansion } @@ -62,20 +63,20 @@ func newOperatorVersions(c *KudoV1beta1Client, namespace string) *operatorVersio } // Get takes name of the operatorVersion, and returns the corresponding operatorVersion object, and an error if there is any. -func (c *operatorVersions) Get(name string, options v1.GetOptions) (result *v1beta1.OperatorVersion, err error) { +func (c *operatorVersions) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.OperatorVersion, err error) { result = &v1beta1.OperatorVersion{} err = c.client.Get(). Namespace(c.ns). Resource("operatorversions"). Name(name). VersionedParams(&options, scheme.ParameterCodec). - Do(). + Do(ctx). Into(result) return } // List takes label and field selectors, and returns the list of OperatorVersions that match those selectors. -func (c *operatorVersions) List(opts v1.ListOptions) (result *v1beta1.OperatorVersionList, err error) { +func (c *operatorVersions) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.OperatorVersionList, err error) { var timeout time.Duration if opts.TimeoutSeconds != nil { timeout = time.Duration(*opts.TimeoutSeconds) * time.Second @@ -86,13 +87,13 @@ func (c *operatorVersions) List(opts v1.ListOptions) (result *v1beta1.OperatorVe Resource("operatorversions"). VersionedParams(&opts, scheme.ParameterCodec). Timeout(timeout). - Do(). + Do(ctx). Into(result) return } // Watch returns a watch.Interface that watches the requested operatorVersions. -func (c *operatorVersions) Watch(opts v1.ListOptions) (watch.Interface, error) { +func (c *operatorVersions) 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 @@ -103,87 +104,90 @@ func (c *operatorVersions) Watch(opts v1.ListOptions) (watch.Interface, error) { Resource("operatorversions"). VersionedParams(&opts, scheme.ParameterCodec). Timeout(timeout). - Watch() + Watch(ctx) } // Create takes the representation of a operatorVersion and creates it. Returns the server's representation of the operatorVersion, and an error, if there is any. -func (c *operatorVersions) Create(operatorVersion *v1beta1.OperatorVersion) (result *v1beta1.OperatorVersion, err error) { +func (c *operatorVersions) Create(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.CreateOptions) (result *v1beta1.OperatorVersion, err error) { result = &v1beta1.OperatorVersion{} err = c.client.Post(). Namespace(c.ns). Resource("operatorversions"). + VersionedParams(&opts, scheme.ParameterCodec). Body(operatorVersion). - Do(). + Do(ctx). Into(result) return } // Update takes the representation of a operatorVersion and updates it. Returns the server's representation of the operatorVersion, and an error, if there is any. -func (c *operatorVersions) Update(operatorVersion *v1beta1.OperatorVersion) (result *v1beta1.OperatorVersion, err error) { +func (c *operatorVersions) Update(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.UpdateOptions) (result *v1beta1.OperatorVersion, err error) { result = &v1beta1.OperatorVersion{} err = c.client.Put(). Namespace(c.ns). Resource("operatorversions"). Name(operatorVersion.Name). + VersionedParams(&opts, scheme.ParameterCodec). Body(operatorVersion). - 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 *operatorVersions) UpdateStatus(operatorVersion *v1beta1.OperatorVersion) (result *v1beta1.OperatorVersion, err error) { +func (c *operatorVersions) UpdateStatus(ctx context.Context, operatorVersion *v1beta1.OperatorVersion, opts v1.UpdateOptions) (result *v1beta1.OperatorVersion, err error) { result = &v1beta1.OperatorVersion{} err = c.client.Put(). Namespace(c.ns). Resource("operatorversions"). Name(operatorVersion.Name). SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). Body(operatorVersion). - Do(). + Do(ctx). Into(result) return } // Delete takes name of the operatorVersion and deletes it. Returns an error if one occurs. -func (c *operatorVersions) Delete(name string, options *v1.DeleteOptions) error { +func (c *operatorVersions) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("operatorversions"). Name(name). - Body(options). - Do(). + Body(&opts). + Do(ctx). Error() } // DeleteCollection deletes a collection of objects. -func (c *operatorVersions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { +func (c *operatorVersions) 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("operatorversions"). - 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 operatorVersion. -func (c *operatorVersions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.OperatorVersion, err error) { +func (c *operatorVersions) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.OperatorVersion, err error) { result = &v1beta1.OperatorVersion{} err = c.client.Patch(pt). Namespace(c.ns). Resource("operatorversions"). - SubResource(subresources...). Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). Body(data). - Do(). + Do(ctx). Into(result) return } diff --git a/pkg/client/informers/externalversions/kudo/v1beta1/instance.go b/pkg/client/informers/externalversions/kudo/v1beta1/instance.go index 81a8167a3..f0cfcbb62 100644 --- a/pkg/client/informers/externalversions/kudo/v1beta1/instance.go +++ b/pkg/client/informers/externalversions/kudo/v1beta1/instance.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "context" time "time" kudov1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" @@ -59,13 +60,13 @@ func NewFilteredInstanceInformer(client versioned.Interface, namespace string, r if tweakListOptions != nil { tweakListOptions(&options) } - return client.KudoV1beta1().Instances(namespace).List(options) + return client.KudoV1beta1().Instances(namespace).List(context.TODO(), options) }, WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.KudoV1beta1().Instances(namespace).Watch(options) + return client.KudoV1beta1().Instances(namespace).Watch(context.TODO(), options) }, }, &kudov1beta1.Instance{}, diff --git a/pkg/client/informers/externalversions/kudo/v1beta1/operator.go b/pkg/client/informers/externalversions/kudo/v1beta1/operator.go index b8d660229..3f45e15db 100644 --- a/pkg/client/informers/externalversions/kudo/v1beta1/operator.go +++ b/pkg/client/informers/externalversions/kudo/v1beta1/operator.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "context" time "time" kudov1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" @@ -59,13 +60,13 @@ func NewFilteredOperatorInformer(client versioned.Interface, namespace string, r if tweakListOptions != nil { tweakListOptions(&options) } - return client.KudoV1beta1().Operators(namespace).List(options) + return client.KudoV1beta1().Operators(namespace).List(context.TODO(), options) }, WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.KudoV1beta1().Operators(namespace).Watch(options) + return client.KudoV1beta1().Operators(namespace).Watch(context.TODO(), options) }, }, &kudov1beta1.Operator{}, diff --git a/pkg/client/informers/externalversions/kudo/v1beta1/operatorversion.go b/pkg/client/informers/externalversions/kudo/v1beta1/operatorversion.go index 91e824e18..5ccf8ec48 100644 --- a/pkg/client/informers/externalversions/kudo/v1beta1/operatorversion.go +++ b/pkg/client/informers/externalversions/kudo/v1beta1/operatorversion.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "context" time "time" kudov1beta1 "github.com/kudobuilder/kudo/pkg/apis/kudo/v1beta1" @@ -59,13 +60,13 @@ func NewFilteredOperatorVersionInformer(client versioned.Interface, namespace st if tweakListOptions != nil { tweakListOptions(&options) } - return client.KudoV1beta1().OperatorVersions(namespace).List(options) + return client.KudoV1beta1().OperatorVersions(namespace).List(context.TODO(), options) }, WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.KudoV1beta1().OperatorVersions(namespace).Watch(options) + return client.KudoV1beta1().OperatorVersions(namespace).Watch(context.TODO(), options) }, }, &kudov1beta1.OperatorVersion{}, diff --git a/pkg/kudoctl/cmd/diagnostics/resource_funcs.go b/pkg/kudoctl/cmd/diagnostics/resource_funcs.go index eadd9e132..52658ffa7 100644 --- a/pkg/kudoctl/cmd/diagnostics/resource_funcs.go +++ b/pkg/kudoctl/cmd/diagnostics/resource_funcs.go @@ -2,6 +2,7 @@ package diagnostics import ( "bytes" + "context" "fmt" "io" "io/ioutil" @@ -51,7 +52,7 @@ func newInstanceResources(instanceName string, options *Options, c *kudo.Client, // panics if used to load Kudo CRDs (e.g. instance etc.) func newKudoResources(options *Options, c *kudo.Client) (*resourceFuncsConfig, error) { opts := metav1.ListOptions{LabelSelector: fmt.Sprintf("app=%s", kudoinit.DefaultKudoLabel)} - ns, err := c.KubeClientset.CoreV1().Namespaces().List(opts) + ns, err := c.KubeClientset.CoreV1().Namespaces().List(context.TODO(), opts) if err != nil { return nil, fmt.Errorf("failed to get kudo system namespace: %v", err) } @@ -116,52 +117,52 @@ func (r *resourceFuncsConfig) operator(name stringGetter) func() (runtime.Object } func (r *resourceFuncsConfig) deployments() (runtime.Object, error) { - obj, err := r.c.KubeClientset.AppsV1().Deployments(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.AppsV1().Deployments(r.ns).List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) pods() (runtime.Object, error) { - obj, err := r.c.KubeClientset.CoreV1().Pods(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.CoreV1().Pods(r.ns).List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) services() (runtime.Object, error) { - obj, err := r.c.KubeClientset.CoreV1().Services(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.CoreV1().Services(r.ns).List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) replicaSets() (runtime.Object, error) { - obj, err := r.c.KubeClientset.AppsV1().ReplicaSets(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.AppsV1().ReplicaSets(r.ns).List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) statefulSets() (runtime.Object, error) { - obj, err := r.c.KubeClientset.AppsV1().StatefulSets(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.AppsV1().StatefulSets(r.ns).List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) serviceAccounts() (runtime.Object, error) { - obj, err := r.c.KubeClientset.CoreV1().ServiceAccounts(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.CoreV1().ServiceAccounts(r.ns).List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) clusterRoleBindings() (runtime.Object, error) { - obj, err := r.c.KubeClientset.RbacV1().ClusterRoleBindings().List(r.opts) + obj, err := r.c.KubeClientset.RbacV1().ClusterRoleBindings().List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) roleBindings() (runtime.Object, error) { - obj, err := r.c.KubeClientset.RbacV1().RoleBindings(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.RbacV1().RoleBindings(r.ns).List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) clusterRoles() (runtime.Object, error) { - obj, err := r.c.KubeClientset.RbacV1().ClusterRoles().List(r.opts) + obj, err := r.c.KubeClientset.RbacV1().ClusterRoles().List(context.TODO(), r.opts) return obj, err } func (r *resourceFuncsConfig) roles() (runtime.Object, error) { - obj, err := r.c.KubeClientset.RbacV1().Roles(r.ns).List(r.opts) + obj, err := r.c.KubeClientset.RbacV1().Roles(r.ns).List(context.TODO(), r.opts) return obj, err } @@ -171,5 +172,5 @@ func (r *resourceFuncsConfig) log(podName, containerName string) (io.ReadCloser, if reflect.DeepEqual(*req, rest.Request{}) { return ioutil.NopCloser(&bytes.Buffer{}), nil } - return req.Stream() + return req.Stream(context.TODO()) } diff --git a/pkg/kudoctl/cmd/init_integration_test.go b/pkg/kudoctl/cmd/init_integration_test.go index 46eb29a34..c0b6601af 100644 --- a/pkg/kudoctl/cmd/init_integration_test.go +++ b/pkg/kudoctl/cmd/init_integration_test.go @@ -185,7 +185,10 @@ func TestIntegInitWithNameSpace(t *testing.T) { // make sure that the controller lives in the correct namespace kclient = getKubeClient(t) - statefulsets, err := kclient.KubeClient.AppsV1().StatefulSets(namespace).List(metav1.ListOptions{}) + statefulsets, err := kclient.KubeClient. + AppsV1(). + StatefulSets(namespace). + List(context.TODO(), metav1.ListOptions{}) assert.NoError(t, err) kudoControllerFound := false @@ -330,7 +333,10 @@ func TestInitWithServiceAccount(t *testing.T) { // make sure that the controller lives in the correct namespace kclient = getKubeClient(t) - statefulsets, err := kclient.KubeClient.AppsV1().StatefulSets(namespace).List(metav1.ListOptions{}) + statefulsets, err := kclient.KubeClient. + AppsV1(). + StatefulSets(namespace). + List(context.TODO(), metav1.ListOptions{}) assert.NoError(t, err) kudoControllerFound := false diff --git a/pkg/kudoctl/cmd/testdata/deploy-kudo-ns.yaml.golden b/pkg/kudoctl/cmd/testdata/deploy-kudo-ns.yaml.golden index 81e8abf2e..8e7898cc2 100644 --- a/pkg/kudoctl/cmd/testdata/deploy-kudo-ns.yaml.golden +++ b/pkg/kudoctl/cmd/testdata/deploy-kudo-ns.yaml.golden @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operators.kudo.dev spec: @@ -78,7 +78,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operatorversions.kudo.dev spec: @@ -115,8 +115,29 @@ spec: used to connect to an instance of the Operator. type: string operator: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type are + discouraged because of difficulty describing its usage when embedded + in APIs. 1. Ignored fields. It includes many fields which are not + generally honored. For instance, ResourceVersion and FieldPath are + both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must be + restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the validation + rules are different by usage, which makes it hard for users to predict + what will happen. 4. The fields are both imprecise and overly precise. Kind + is not a precise mapping to a URL. This can produce ambiguity during + interpretation and require a REST mapping. In most cases, the dependency + is on the group,resource tuple and the version of the actual struct + is irrelevant. 5. We cannot easily change it. Because this type + is embedded in many locations, updates to this type will affect + numerous schemas. Don''t make new APIs embed an underspecified API + type they do not control. Instead of using this type, create a locally + provided and used type that is well-focused on your reference. For + example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. @@ -312,8 +333,30 @@ spec: description: UpgradableFrom lists all OperatorVersions that can upgrade to this OperatorVersion. items: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type + are discouraged because of difficulty describing its usage when + embedded in APIs. 1. Ignored fields. It includes many fields which + are not generally honored. For instance, ResourceVersion and FieldPath + are both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must + be restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the + validation rules are different by usage, which makes it hard for + users to predict what will happen. 4. The fields are both imprecise + and overly precise. Kind is not a precise mapping to a URL. This + can produce ambiguity during interpretation and require a REST + mapping. In most cases, the dependency is on the group,resource + tuple and the version of the actual struct is irrelevant. 5. + We cannot easily change it. Because this type is embedded in many + locations, updates to this type will affect numerous schemas. Don''t + make new APIs embed an underspecified API type they do not control. + Instead of using this type, create a locally provided and used type + that is well-focused on your reference. For example, ServiceReferences + for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. @@ -373,7 +416,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: instances.kudo.dev spec: diff --git a/pkg/kudoctl/cmd/testdata/deploy-kudo-sa.yaml.golden b/pkg/kudoctl/cmd/testdata/deploy-kudo-sa.yaml.golden index 180aac2fc..cee3537ad 100644 --- a/pkg/kudoctl/cmd/testdata/deploy-kudo-sa.yaml.golden +++ b/pkg/kudoctl/cmd/testdata/deploy-kudo-sa.yaml.golden @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operators.kudo.dev spec: @@ -78,7 +78,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operatorversions.kudo.dev spec: @@ -115,8 +115,29 @@ spec: used to connect to an instance of the Operator. type: string operator: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type are + discouraged because of difficulty describing its usage when embedded + in APIs. 1. Ignored fields. It includes many fields which are not + generally honored. For instance, ResourceVersion and FieldPath are + both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must be + restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the validation + rules are different by usage, which makes it hard for users to predict + what will happen. 4. The fields are both imprecise and overly precise. Kind + is not a precise mapping to a URL. This can produce ambiguity during + interpretation and require a REST mapping. In most cases, the dependency + is on the group,resource tuple and the version of the actual struct + is irrelevant. 5. We cannot easily change it. Because this type + is embedded in many locations, updates to this type will affect + numerous schemas. Don''t make new APIs embed an underspecified API + type they do not control. Instead of using this type, create a locally + provided and used type that is well-focused on your reference. For + example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. @@ -312,8 +333,30 @@ spec: description: UpgradableFrom lists all OperatorVersions that can upgrade to this OperatorVersion. items: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type + are discouraged because of difficulty describing its usage when + embedded in APIs. 1. Ignored fields. It includes many fields which + are not generally honored. For instance, ResourceVersion and FieldPath + are both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must + be restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the + validation rules are different by usage, which makes it hard for + users to predict what will happen. 4. The fields are both imprecise + and overly precise. Kind is not a precise mapping to a URL. This + can produce ambiguity during interpretation and require a REST + mapping. In most cases, the dependency is on the group,resource + tuple and the version of the actual struct is irrelevant. 5. + We cannot easily change it. Because this type is embedded in many + locations, updates to this type will affect numerous schemas. Don''t + make new APIs embed an underspecified API type they do not control. + Instead of using this type, create a locally provided and used type + that is well-focused on your reference. For example, ServiceReferences + for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. @@ -373,7 +416,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: instances.kudo.dev spec: diff --git a/pkg/kudoctl/cmd/testdata/deploy-kudo.yaml.golden b/pkg/kudoctl/cmd/testdata/deploy-kudo.yaml.golden index 4496ba09c..bb086b628 100644 --- a/pkg/kudoctl/cmd/testdata/deploy-kudo.yaml.golden +++ b/pkg/kudoctl/cmd/testdata/deploy-kudo.yaml.golden @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operators.kudo.dev spec: @@ -78,7 +78,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: operatorversions.kudo.dev spec: @@ -115,8 +115,29 @@ spec: used to connect to an instance of the Operator. type: string operator: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type are + discouraged because of difficulty describing its usage when embedded + in APIs. 1. Ignored fields. It includes many fields which are not + generally honored. For instance, ResourceVersion and FieldPath are + both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must be + restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the validation + rules are different by usage, which makes it hard for users to predict + what will happen. 4. The fields are both imprecise and overly precise. Kind + is not a precise mapping to a URL. This can produce ambiguity during + interpretation and require a REST mapping. In most cases, the dependency + is on the group,resource tuple and the version of the actual struct + is irrelevant. 5. We cannot easily change it. Because this type + is embedded in many locations, updates to this type will affect + numerous schemas. Don''t make new APIs embed an underspecified API + type they do not control. Instead of using this type, create a locally + provided and used type that is well-focused on your reference. For + example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. @@ -312,8 +333,30 @@ spec: description: UpgradableFrom lists all OperatorVersions that can upgrade to this OperatorVersion. items: - description: ObjectReference contains enough information to let you - inspect or modify the referred object. + description: 'ObjectReference contains enough information to let you + inspect or modify the referred object. --- New uses of this type + are discouraged because of difficulty describing its usage when + embedded in APIs. 1. Ignored fields. It includes many fields which + are not generally honored. For instance, ResourceVersion and FieldPath + are both very rarely valid in actual usage. 2. Invalid usage help. It + is impossible to add specific help for individual usage. In most + embedded usages, there are particular restrictions like, "must + refer only to types A and B" or "UID not honored" or "name must + be restricted". Those cannot be well described when embedded. 3. + Inconsistent validation. Because the usages are different, the + validation rules are different by usage, which makes it hard for + users to predict what will happen. 4. The fields are both imprecise + and overly precise. Kind is not a precise mapping to a URL. This + can produce ambiguity during interpretation and require a REST + mapping. In most cases, the dependency is on the group,resource + tuple and the version of the actual struct is irrelevant. 5. + We cannot easily change it. Because this type is embedded in many + locations, updates to this type will affect numerous schemas. Don''t + make new APIs embed an underspecified API type they do not control. + Instead of using this type, create a locally provided and used type + that is well-focused on your reference. For example, ServiceReferences + for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 + .' properties: apiVersion: description: API version of the referent. @@ -373,7 +416,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.6 + controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: instances.kudo.dev spec: diff --git a/pkg/kudoctl/kudoinit/crd/bindata.go b/pkg/kudoctl/kudoinit/crd/bindata.go index 4e90bf46e..3a172b469 100644 --- a/pkg/kudoctl/kudoinit/crd/bindata.go +++ b/pkg/kudoctl/kudoinit/crd/bindata.go @@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _configCrdsKudoDev_instancesYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\x5b\x6f\x1b\xb9\x15\x7e\xd7\xaf\x38\xf0\x3e\x38\xc6\x5a\xa3\xc6\x05\x8a\x42\x28\x0a\xa4\x4e\xb6\x50\xbb\xb5\x8d\xc8\x4e\xb1\xc8\xa6\x00\x45\x1e\x69\x58\x73\xc8\x09\x2f\x92\xd5\xcd\xfe\xf7\xe2\x90\x33\xa3\xcb\xcc\xe8\xb2\xdd\x6c\xf9\x92\x88\x22\xcf\xe5\xe3\x77\x2e\xa4\x35\x18\x0e\x87\x03\x56\xca\x0f\x68\x9d\x34\x7a\x0c\xac\x94\xf8\xe2\x51\xd3\x27\x97\x3d\xff\xd1\x65\xd2\x8c\x96\xaf\x67\xe8\xd9\xeb\xc1\xb3\xd4\x62\x0c\xb7\xc1\x79\x53\xbc\x47\x67\x82\xe5\xf8\x16\xe7\x52\x4b\x2f\x8d\x1e\x14\xe8\x99\x60\x9e\x8d\x07\x00\x4c\x6b\xe3\x19\x4d\x3b\xfa\x08\xc0\x8d\xf6\xd6\x28\x85\x76\xb8\x40\x9d\x3d\x87\x19\xce\x82\x54\x02\x6d\xd4\x50\xeb\x5f\xfe\x2e\xbb\xc9\xfe\x30\x00\xe0\x16\xe3\xf6\x47\x59\xa0\xf3\xac\x28\xc7\xa0\x83\x52\x03\x00\xcd\x0a\x1c\x83\xd4\xce\x33\xcd\xd1\x65\xcf\x41\x98\x4c\xe0\x72\xe0\x4a\xe4\xa4\x6c\x61\x4d\x28\xc7\xd0\xcc\xa7\x2d\x95\x1d\xc9\x87\x49\xb5\x3b\x4e\x29\xe9\xfc\xdf\x77\xa6\xbf\x97\xce\xc7\xaf\x4a\x15\x2c\x53\x5b\xda\xe2\xac\x93\x7a\x11\x14\xb3\x9b\xf9\x01\x80\xe3\xa6\xc4\x31\xdc\x91\xaa\x92\x71\x14\x34\x17\x66\xb6\xc2\xa9\x52\xef\x3c\xf3\xc1\x8d\xe1\xa7\x9f\x07\x00\x4b\xa6\xa4\x88\x5e\xa6\x2f\x4d\x89\xfa\xcd\xc3\xe4\xc3\xef\xa7\x3c\xc7\x82\xa5\x49\x00\x81\x8e\x5b\x59\xc6\x75\x8d\x89\x20\x1d\xf8\x1c\x21\x2d\x85\xb9\xb1\xf1\x63\x63\x28\xbc\x79\x98\x64\x95\x80\xd2\x9a\x12\xad\x97\xb5\x11\x34\xb6\x0e\xbd\x99\xdb\x53\x75\x49\xb6\xa4\x35\x20\xe8\x98\x31\xa9\xac\x0e\x0b\x05\xb8\xa4\xdc\xcc\xc1\xe7\xd2\x81\xc5\xd2\xa2\x43\x9d\x0e\x7e\x4b\x2c\xd0\x12\xa6\xc1\xcc\xfe\x8d\xdc\x67\x30\x45\x4b\x42\xc0\xe5\x26\x28\x41\xdc\x58\xa2\xf5\x60\x91\x9b\x85\x96\xff\x69\x24\x3b\xf0\x26\xaa\x54\xcc\x63\x75\x24\xf5\x90\xda\xa3\xd5\x4c\x11\x8a\x01\xaf\x81\x69\x01\x05\x5b\x83\x45\xd2\x01\x41\x6f\x49\x8b\x4b\x5c\x06\xff\x30\x96\x20\x9a\x9b\x31\xe4\xde\x97\x6e\x3c\x1a\x2d\xa4\xaf\x69\xce\x4d\x51\x04\x2d\xfd\x7a\x14\xc9\x2a\x67\xc1\x1b\xeb\x46\x02\x97\xa8\x46\x4e\x2e\x86\xcc\xf2\x5c\x7a\xe4\x3e\x58\x1c\xb1\x52\x0e\xa3\xe1\x3a\xb2\x3c\x2b\xc4\x37\xcd\x59\x5f\x6e\x59\xea\xd7\x44\x0b\xe7\xad\xd4\x8b\x66\x3a\xb2\xb0\x17\x77\x22\x23\x9d\x2f\xab\xb6\x25\xfb\x37\xf0\xd2\x14\xa1\xf2\xfe\xdd\xf4\x11\x6a\xa5\xf1\x08\x76\x31\x8f\x68\x6f\xb6\xb9\x0d\xf0\x04\x94\xd4\x73\xb4\xe9\xe0\xe6\xd6\x14\x51\x22\x6a\x51\x1a\xa9\x7d\xfc\xc0\x95\x44\xbd\x0b\xba\x0b\xb3\x42\x7a\x3a\xe9\xcf\x01\x9d\xa7\xf3\xc9\xe0\x36\x06\x3b\xcc\x10\x42\x29\x98\x47\x91\xc1\x44\xc3\x2d\x2b\x50\xdd\x32\x87\x5f\x1d\x76\x42\xd8\x0d\x09\xd2\xe3\xc0\x6f\xe7\xa8\xdd\x85\x09\xad\x66\xba\x4e\x26\x9d\x27\x54\x07\xe1\xb4\x44\xbe\x13\x1a\x02\x9d\xb4\x44\x5f\xcf\x3c\x12\xe9\xeb\x95\xd9\x96\xa8\xae\x70\xac\xc2\xdf\x32\x6f\x6c\x47\x5c\xb6\x2c\xb8\xdf\x5d\x1b\xcd\x95\x73\x89\x44\x1a\x8b\x73\xb4\x48\x39\xc2\x1b\xe2\x50\xfa\x8a\xef\xef\xd9\x13\x5f\xf3\x25\xdb\x9b\xef\xb3\x16\x7a\x93\x48\xa7\xc1\x6f\x1e\x26\x75\xe2\x48\xf9\x02\x6b\x3b\x5b\x1a\x7b\x0f\xaf\x1e\x73\x89\x4a\x3c\x30\x9f\x1f\xd5\x7a\x39\x99\x27\x35\x31\x8c\x22\x1c\xa5\x44\x8e\x3b\xf9\x28\x26\x4d\x64\x22\x4d\x76\x88\x04\x20\xb6\x59\xac\xd6\x5f\xa7\xa0\xa9\x62\x73\x93\xc3\x3c\x93\x1a\x58\xca\xea\xf0\xb7\xe9\xfd\xdd\xe8\xaf\x26\xd9\xda\x29\x93\x71\x8e\xce\x25\xaa\x14\xa8\xfd\x35\xb8\xc0\x73\x60\xae\x66\xd1\x94\xbe\xc9\x0a\xa6\xe5\x1c\x9d\xcf\x2a\x0d\x68\xdd\xc7\x9b\x4f\x5d\x98\x01\x7c\x67\x2c\xe0\x0b\x2b\x4a\x85\xd7\x20\x13\xca\x4d\x16\xa8\x49\x21\x5d\x02\xa2\x91\x07\x2b\xe9\x73\xd9\xed\x38\x83\xd2\x88\xca\xe1\x55\x74\xd4\xb3\x67\x04\x53\x39\x1a\x10\x94\x7c\xc6\x31\x5c\x10\xcb\xb6\x4c\xfc\x89\x4a\xee\xcf\x17\x9d\x32\x5f\xad\x72\xb4\x08\x17\xb4\xe4\x22\x19\xd6\x24\x7a\x9a\xab\xf9\xb1\x31\xd0\xe7\xcc\x83\xb7\x72\xb1\x40\x8b\xdd\x68\xc6\xec\x45\x59\xe1\x0a\x8c\x25\xdf\xb5\xd9\x12\x10\xc5\xd2\x99\x55\x61\x22\x5a\x06\x7f\xbc\xf9\xd4\x63\xed\x2e\x4e\x20\xb5\xc0\x17\xb8\x01\xa9\x13\x2a\xa5\x11\x57\x19\x3c\x46\x46\xac\xb5\x67\x2f\xa4\x87\xe7\xc6\xa1\x06\xa3\xd5\xba\xdb\x5a\x03\x39\x5b\x22\x38\x53\x20\xac\x50\xa9\x61\xca\x22\x02\x56\x6c\x4d\xfe\xd7\xc7\x45\x0c\x63\x50\x32\xeb\x77\x4b\x68\xa7\xd4\xc7\xfb\xb7\xf7\xe3\x64\x15\x51\x68\xa1\xc9\x14\x4a\xcd\x73\x49\x85\x92\x2a\x64\x4a\xf7\xc4\xc9\x08\x47\x48\xe4\xf0\x06\x78\xce\xf4\x02\x3b\xc5\x46\x4f\x11\xe6\x81\x12\x70\x76\x79\x6e\xb4\xee\xd7\xba\x7a\x74\xd4\xbc\xfd\xc4\xf0\x7f\xaa\x1c\x27\xb9\x15\xdb\xd0\xa3\x6e\xdd\x6d\xf1\xf9\xa0\x5b\xd4\x10\x5b\x8d\x1e\xa3\x67\xc2\x70\x47\x4e\x71\x2c\xbd\x1b\x99\x25\xda\xa5\xc4\xd5\x68\x65\xec\xb3\xd4\x8b\x21\x11\x71\x98\x98\xe0\x46\xb1\xb9\x1d\x7d\x13\xff\xf9\x45\x5e\xc4\x76\xf5\x34\x57\xe2\xd2\xdf\xc2\x1f\xd2\xe3\x46\x67\xbb\x53\x37\x43\xa7\x56\xa5\xcb\x69\x5d\x1c\xf7\x76\x52\x48\xac\x72\xc9\xf3\xba\xb3\xdd\x64\xcf\xce\x18\x29\x98\x48\x29\x97\xe9\xf5\x57\xa7\x2d\x01\x19\x2c\xd9\xb3\x1e\x56\xf7\xaa\x21\xd3\x82\xfe\xef\xa4\xf3\x34\x7f\x36\x72\x41\x9e\x10\xa4\x4f\x93\xb7\xbf\x0d\x99\x83\x3c\x3b\x22\x3b\xbb\x38\x1a\x25\xb3\xac\x40\x8f\xb6\xd5\xc0\x30\x21\xe2\xcd\x95\xa9\x87\x03\x4d\xce\x2f\xd2\xa9\x98\x7e\xf7\x82\x3c\xf8\x63\x8d\xdc\xe5\x63\x2c\x86\xcc\x22\xf8\x95\xa1\xf4\x4f\x2d\x1c\xed\x07\xac\x05\x00\x67\x9a\xda\xeb\xa6\x02\x8e\x01\x5e\x5f\xb5\x0c\x95\x5a\x48\x8b\xdc\xab\x35\xf8\xdc\x9a\xb0\xc8\xab\x86\x3c\x96\x0e\xe0\xc6\x5a\x74\xa5\xd1\x82\x8a\x4a\x83\x4a\x9d\xde\xb7\x7b\xda\xec\xa1\xc1\xac\xa5\xa5\x60\x25\xc0\xcd\x15\xb4\x74\x39\xf4\xf1\x66\x52\x11\x64\x57\xde\x36\x1e\xf1\x13\x65\x93\xee\xc6\x0e\xfe\x99\x4b\x85\x8d\x37\xf0\xea\xf5\x55\xed\xb9\x83\x9c\x95\x25\x6a\x47\xa5\xde\xae\xc1\xcb\x02\x81\x41\x70\x68\xab\x02\xd6\xb6\x97\x6d\x5c\xbd\x06\xb6\x31\xfb\xd5\xcd\xd5\x06\xd0\x04\x78\x0c\x74\x47\x57\x24\xd1\x5c\xa8\x9d\xf4\x21\xbd\x63\xb4\x24\xaf\x72\xd4\x5b\xec\x02\x61\xd0\xe9\xcb\x4b\x5f\x99\x02\x98\x2d\x32\x52\x8f\x56\x1a\x21\x39\xcc\x18\x7f\x0e\x65\xec\xbf\x7a\x5b\x19\x8a\x0e\x2b\x45\x7d\xc3\xc3\x17\xe9\x22\xa8\xd5\xde\xb9\x54\x98\xc1\x9b\x86\xb7\x6a\x5d\xf5\x66\x26\xa2\x62\x8d\x29\xda\xa0\x1a\x4b\x04\xe2\xa8\x62\x33\x41\x65\x76\xa3\x24\xe5\x11\xc2\xc3\x06\xad\x23\x31\x14\xd3\x6e\xaf\xe6\xb7\x64\xde\x19\x8f\x63\xd8\x39\xd5\xea\xf0\xea\xdb\x50\x04\x34\xb6\x5d\xa4\xb1\x87\x7b\x6d\x4c\x63\xa7\x37\x99\xc2\xed\xd3\xfb\xf7\xef\xee\x1e\xbf\xff\xa1\x8a\x02\xba\x54\xde\xc7\x2b\xcd\xd6\x23\xc7\xd6\xa3\x12\xbc\x9a\xdc\x5e\x11\xb4\xc2\xe8\x36\xaf\x62\xe3\x96\xf0\xac\xac\xbd\xde\xee\x84\x56\x52\x29\x8a\x2f\xae\x90\x59\xd2\xf4\x8e\xf1\x7c\x2f\x06\x5b\x32\x73\x46\x81\x1a\xb4\xfc\x1c\x10\x28\x31\x3a\x53\xdf\x05\x22\x6f\xc8\xf5\x28\x62\x46\xc9\x72\xb8\xa1\x9a\xf4\x49\x21\x35\x80\x1d\x6c\xd5\xb8\x22\x71\xfb\xd9\xef\xd0\x35\xac\xac\xe2\xa9\x2b\x81\x1f\x4c\xfa\xd5\x6b\xd4\xb1\xbc\xdf\x9c\xf1\x34\xae\x07\xce\x4a\xa2\x45\xba\xf2\x36\x57\xdd\x58\x15\x8c\x52\x26\x9c\x7f\xa3\x3b\xa5\xfa\x10\xc6\xf1\x51\x84\x24\x25\xa2\xe4\x46\x09\x57\x9f\xc1\xe4\x6d\xf5\xce\x73\x0d\x52\x73\x15\x44\x97\x22\x1a\x4f\x4f\x93\xb7\x2e\x03\xf8\x0b\x72\x16\x1c\xf5\xdf\xc4\x9a\x4b\x0f\xf7\x77\xdf\xff\x40\xc9\x24\xad\xa8\x28\x42\x2a\x35\x30\x25\xd3\x6b\x54\x72\x20\xee\xee\x93\x5f\x59\xd8\xa0\x24\xb5\x47\xed\x63\x1c\xe4\xa8\x4a\x07\x05\x5d\xa1\x5c\xb0\x95\x17\xa4\x2c\x7e\x1b\x8b\x5f\xa7\x48\x61\x62\x1f\xbf\x40\x4f\x9c\x9f\xab\xf8\xca\xf2\xab\xd4\xc7\xee\xc7\x8f\x16\x2f\xba\x9f\x3f\x12\x1d\xb6\x1f\x40\xcc\xac\xca\x9f\xad\x17\x90\x13\x1e\x40\x88\xc7\xd3\x4e\x4a\x9e\x56\xa9\x77\x8c\xbc\x78\x68\xa4\xc1\xf6\xdb\x64\xbc\xb3\xa7\xe9\x58\x16\x63\x8c\xfe\xa8\xe1\x31\x47\xd7\x75\xff\xa1\xca\x9c\xae\xf4\xd1\xa5\x74\x52\xde\x32\xed\xa2\x45\x8e\xf6\x76\x8f\x2f\x70\x47\x65\xaa\x43\x66\x9d\xd3\xe0\x4b\xcf\xd6\x8d\x88\xc3\x63\xd9\x21\x3c\xee\x79\x67\xad\xb1\xf1\xd3\x9f\x86\x71\xfc\x39\x4e\x3f\x60\xca\xc0\xdb\xb2\xff\xd5\xa7\xbb\x43\xf6\x8f\x87\xcd\x5a\xf6\x98\xfd\x6d\xb2\x61\x58\xff\x3b\xfc\xf6\x74\xd9\xed\xbd\x3d\x4a\x4e\xb0\x7b\xd9\x6b\xf7\x17\xf8\x8e\x79\xa6\x00\x23\x6e\x8d\xe8\xf8\x9f\x5b\x53\x94\x0a\x7d\x17\x39\x48\xee\x97\xf6\xbb\xc1\xa1\x64\x0d\xa0\x98\xf3\x4f\xe9\xa5\x74\xf3\xd7\x8d\xce\xb0\x9f\x1b\x5b\x30\x3f\x06\x5a\x3b\xa4\x66\xa7\x73\x95\x0e\x4a\xb1\x99\xc2\x31\x78\x1b\xba\x97\x1c\x4c\xbe\x00\x05\x3a\xc7\x16\x9d\xf5\xe3\xe8\xde\xbe\x7b\xf0\xd1\x8d\x65\xce\x5c\x37\x40\x00\xd2\x63\xd1\xf3\xd5\x5e\x98\x3f\x90\x94\x53\xc2\x9c\xd6\xf5\x08\x3c\x7c\x5c\x69\x1c\x84\xe8\x24\x7f\xd3\xe8\x87\xeb\x0c\x21\xfd\x75\xbb\x1e\xbf\x7e\xfd\x3e\xd3\x40\x2c\x0f\xda\x77\xf0\x80\x3b\x5c\x98\x7a\x2c\x4f\x38\x65\xd2\x7b\x50\xe8\x29\x47\x9d\xc6\x09\x07\x9e\xc6\x49\x80\xa4\x71\xec\xf0\xcf\x16\x78\x9c\x08\x69\x9c\x4f\x87\xa3\x22\xe1\x54\xc2\x9c\xe9\x54\xef\x9d\xba\x6b\x19\xb3\x96\x75\xbf\xb0\x9e\x20\xe8\xb0\x88\x43\xd0\x7e\x8d\xe8\x3a\x02\x50\x4f\x87\xfc\xb5\x7a\xe4\xff\xad\x4b\xee\x11\xb9\xdb\x3b\x9f\xdb\x27\xf7\xd9\xb9\xd3\x3d\x9f\xdc\x29\x1f\x01\xfc\x00\x79\x76\x00\x77\x4a\x72\xac\xfe\x32\x32\x43\x40\x1d\x9f\x42\xe2\x93\xce\x2c\x78\x02\x8d\xa7\xbf\x8e\x12\x60\x69\xf1\x2c\x01\xda\xbe\xfa\x5b\x81\x96\xa8\xe2\xf0\x73\x48\x6f\x8d\x1a\xd6\xac\x50\xf1\x0f\x0a\x46\x3b\x29\xe2\xfd\xd1\xc9\x85\x96\x73\xc9\x99\xf6\xb0\x8a\x4f\x25\x51\x9d\xf4\x97\xed\xbb\x83\x36\xfb\xd6\x9f\x7e\x0d\xd8\x9b\xda\xfc\x44\xa3\xfa\x35\x48\x33\x15\x83\x64\x58\xfd\x2e\x63\xf3\x2d\x40\xba\x0a\x6c\xb5\x25\xce\x1b\x4b\x39\x35\xcd\x6c\x22\x8c\x71\x8e\xa5\x47\x71\xb7\xff\x3b\x8d\x8b\xd4\x5b\xd5\x3f\xc3\x88\x1f\xb9\xd1\xe9\x32\xe0\xc6\xf0\xf1\xd3\x20\x49\x45\xf1\xa1\x36\x86\x26\xff\x1b\x00\x00\xff\xff\x45\x41\x85\x78\xd8\x22\x00\x00") +var _configCrdsKudoDev_instancesYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\x5b\x8f\x1b\xb7\x15\x7e\xd7\xaf\x38\xd8\x3c\xac\x17\x59\x8d\x62\xe7\xa5\x10\x8a\x02\xee\xda\x29\xd4\xba\xbb\x0b\x6b\xd7\x45\xe0\xb8\x00\x45\x1e\x69\xd8\xe5\x90\x63\x5e\xa4\x55\xe3\xfc\xf7\xe2\x90\x33\xa3\xcb\xcc\xe8\x92\xc6\x09\x5f\x6c\x51\xe4\xb9\x7c\xfc\xce\x85\x5c\x0d\x86\xc3\xe1\x80\x95\xf2\x03\x5a\x27\x8d\x1e\x03\x2b\x25\x3e\x7b\xd4\xf4\xc9\x65\x4f\x7f\x72\x99\x34\xa3\xe5\xcb\x19\x7a\xf6\x72\xf0\x24\xb5\x18\xc3\x4d\x70\xde\x14\xef\xd1\x99\x60\x39\xbe\xc1\xb9\xd4\xd2\x4b\xa3\x07\x05\x7a\x26\x98\x67\xe3\x01\x00\xd3\xda\x78\x46\xd3\x8e\x3e\x02\x70\xa3\xbd\x35\x4a\xa1\x1d\x2e\x50\x67\x4f\x61\x86\xb3\x20\x95\x40\x1b\x35\xd4\xfa\x97\xdf\x65\xdf\x67\xdf\x0d\x00\xb8\xc5\xb8\xfd\x41\x16\xe8\x3c\x2b\xca\x31\xe8\xa0\xd4\x00\x40\xb3\x02\xc7\x20\xb5\xf3\x4c\x73\x74\xd9\x53\x10\x26\x13\xb8\x1c\xb8\x12\x39\x29\x5b\x58\x13\xca\x31\x34\xf3\x69\x4b\x65\x47\xf2\x61\x52\xed\x8e\x53\x4a\x3a\xff\x8f\x9d\xe9\x77\xd2\xf9\xf8\x55\xa9\x82\x65\x6a\x4b\x5b\x9c\x75\x52\x2f\x82\x62\x76\x33\x3f\x00\x70\xdc\x94\x38\x86\x5b\x52\x55\x32\x8e\x82\xe6\xc2\xcc\x56\x38\x55\xea\x9d\x67\x3e\xb8\x31\xfc\xfc\xcb\x00\x60\xc9\x94\x14\xd1\xcb\xf4\xa5\x29\x51\xbf\xbe\x9f\x7c\xf8\x7e\xca\x73\x2c\x58\x9a\x04\x10\xe8\xb8\x95\x65\x5c\xd7\x98\x08\xd2\x81\xcf\x11\xd2\x52\x98\x1b\x1b\x3f\x36\x86\xc2\xeb\xfb\x49\x56\x09\x28\xad\x29\xd1\x7a\x59\x1b\x41\x63\xeb\xd0\x9b\xb9\x3d\x55\x97\x64\x4b\x5a\x03\x82\x8e\x19\x93\xca\xea\xb0\x50\x80\x4b\xca\xcd\x1c\x7c\x2e\x1d\x58\x2c\x2d\x3a\xd4\xe9\xe0\xb7\xc4\x02\x2d\x61\x1a\xcc\xec\x3f\xc8\x7d\x06\x53\xb4\x24\x04\x5c\x6e\x82\x12\xc4\x8d\x25\x5a\x0f\x16\xb9\x59\x68\xf9\xdf\x46\xb2\x03\x6f\xa2\x4a\xc5\x3c\x56\x47\x52\x0f\xa9\x3d\x5a\xcd\x14\xa1\x18\xf0\x1a\x98\x16\x50\xb0\x35\x58\x24\x1d\x10\xf4\x96\xb4\xb8\xc4\x65\xf0\x4f\x63\x09\xa2\xb9\x19\x43\xee\x7d\xe9\xc6\xa3\xd1\x42\xfa\x9a\xe6\xdc\x14\x45\xd0\xd2\xaf\x47\x91\xac\x72\x16\xbc\xb1\x6e\x24\x70\x89\x6a\xe4\xe4\x62\xc8\x2c\xcf\xa5\x47\xee\x83\xc5\x11\x2b\xe5\x30\x1a\xae\x23\xcb\xb3\x42\x7c\xd3\x9c\xf5\xe5\x96\xa5\x7e\x4d\xb4\x70\xde\x4a\xbd\x68\xa6\x23\x0b\x7b\x71\x27\x32\xd2\xf9\xb2\x6a\x5b\xb2\x7f\x03\x2f\x4d\x11\x2a\xef\xdf\x4e\x1f\xa0\x56\x1a\x8f\x60\x17\xf3\x88\xf6\x66\x9b\xdb\x00\x4f\x40\x49\x3d\x47\x9b\x0e\x6e\x6e\x4d\x11\x25\xa2\x16\xa5\x91\xda\xc7\x0f\x5c\x49\xd4\xbb\xa0\xbb\x30\x2b\xa4\xa7\x93\xfe\x1c\xd0\x79\x3a\x9f\x0c\x6e\x62\xb0\xc3\x0c\x21\x94\x82\x79\x14\x19\x4c\x34\xdc\xb0\x02\xd5\x0d\x73\xf8\xd5\x61\x27\x84\xdd\x90\x20\x3d\x0e\xfc\x76\x8e\xda\x5d\x98\xd0\x6a\xa6\xeb\x64\xd2\x79\x42\x75\x10\x4e\x4b\xe4\x3b\xa1\x21\xd0\x49\x4b\xf4\xf5\xcc\x23\x91\xbe\x5e\x99\x6d\x89\xea\x0a\xc7\x2a\xfc\x2d\xf3\xc6\x76\xc4\x65\xcb\x82\xbb\xdd\xb5\xd1\x5c\x39\x97\x48\xa4\xb1\x38\x47\x8b\x94\x23\xbc\x21\x0e\xa5\xaf\xf8\xfe\x9e\x3d\xf1\x35\x5f\xb2\xbd\xf9\x3e\x6b\xa1\x37\x89\x74\x1a\xfc\xfa\x7e\x52\x27\x8e\x94\x2f\xb0\xb6\xb3\xa5\xb1\xf7\xf0\xea\x31\x97\xa8\xc4\x3d\xf3\xf9\x51\xad\x97\x93\x79\x52\x13\xc3\x28\xc2\x51\x4a\xe4\xb8\x93\x8f\x62\xd2\x44\x26\xd2\x64\x87\x48\x00\x62\x9b\xc5\x6a\xfd\x75\x0a\x9a\x2a\x36\x37\x39\xcc\x33\xa9\x81\xa5\xac\x0e\x7f\x9f\xde\xdd\x8e\xfe\x66\x92\xad\x9d\x32\x19\xe7\xe8\x5c\xa2\x4a\x81\xda\x5f\x83\x0b\x3c\x07\xe6\x6a\x16\x4d\xe9\x9b\xac\x60\x5a\xce\xd1\xf9\xac\xd2\x80\xd6\x7d\x7c\xf5\xa9\x0b\x33\x80\x1f\x8c\x05\x7c\x66\x45\xa9\xf0\x1a\x64\x42\xb9\xc9\x02\x35\x29\xa4\x4b\x40\x34\xf2\x60\x25\x7d\x2e\xbb\x1d\x67\x50\x1a\x51\x39\xbc\x8a\x8e\x7a\xf6\x84\x60\x2a\x47\x03\x82\x92\x4f\x38\x86\x0b\x62\xd9\x96\x89\x3f\x53\xc9\xfd\xe5\xa2\x53\xe6\x8b\x55\x8e\x16\xe1\x82\x96\x5c\x24\xc3\x9a\x44\x4f\x73\x35\x3f\x36\x06\xfa\x9c\x79\xf0\x56\x2e\x16\x68\xb1\x1b\xcd\x98\xbd\x28\x2b\x5c\x81\xb1\xe4\xbb\x36\x5b\x02\xa2\x58\x3a\xb3\x2a\x4c\x44\xcb\xe0\x8f\xaf\x3e\xf5\x58\xbb\x8b\x13\x48\x2d\xf0\x19\x5e\x81\xd4\x09\x95\xd2\x88\xab\x0c\x1e\x22\x23\xd6\xda\xb3\x67\xd2\xc3\x73\xe3\x50\x83\xd1\x6a\xdd\x6d\xad\x81\x9c\x2d\x11\x9c\x29\x10\x56\xa8\xd4\x30\x65\x11\x01\x2b\xb6\x26\xff\xeb\xe3\x22\x86\x31\x28\x99\xf5\xbb\x25\xb4\x53\xea\xc3\xdd\x9b\xbb\x71\xb2\x8a\x28\xb4\xd0\x64\x0a\xa5\xe6\xb9\xa4\x42\x49\x15\x32\xa5\x7b\xe2\x64\x84\x23\x24\x72\x78\x03\x3c\x67\x7a\x81\x9d\x62\xa3\xa7\x08\xf3\x40\x09\x38\xbb\x3c\x37\x5a\xf7\x6b\x5d\x3d\x3a\x6a\xde\x7e\x62\xf8\x83\x2a\xc7\x49\x6e\xc5\x36\xf4\xa8\x5b\xb7\x5b\x7c\x3e\xe8\x16\x35\xc4\x56\xa3\xc7\xe8\x99\x30\xdc\x91\x53\x1c\x4b\xef\x46\x66\x89\x76\x29\x71\x35\x5a\x19\xfb\x24\xf5\x62\x48\x44\x1c\x26\x26\xb8\x51\x6c\x6e\x47\xdf\xc4\x7f\x7e\x95\x17\xb1\x5d\x3d\xcd\x95\xb8\xf4\xf7\xf0\x87\xf4\xb8\xd1\xd9\xee\xd4\xcd\xd0\xa9\x55\xe9\x72\x5a\x17\xc7\xbd\x9d\x14\x12\xab\x5c\xf2\xbc\xee\x6c\x37\xd9\xb3\x33\x46\x0a\x26\x52\xca\x65\x7a\xfd\xd5\x69\x4b\x40\x06\x4b\xf6\xac\x87\xd5\xbd\x6a\xc8\xb4\xa0\xff\x3b\xe9\x3c\xcd\x9f\x8d\x5c\x90\x27\x04\xe9\xe3\xe4\xcd\xef\x43\xe6\x20\xcf\x8e\xc8\xce\x2e\x8e\x46\xc9\x2c\x2b\xd0\xa3\x6d\x35\x30\x4c\x88\x78\x73\x65\xea\xfe\x40\x93\xf3\xab\x74\x2a\xa6\xdf\x3e\x23\x0f\xfe\x58\x23\x77\xf9\x10\x8b\x21\xb3\x08\x7e\x65\x28\xfd\x53\x0b\x47\xfb\x01\x6b\x01\xc0\x99\xa6\xf6\xba\xa9\x80\x63\x80\x97\x57\x2d\x43\xa5\x16\xd2\x22\xf7\x6a\x0d\x3e\xb7\x26\x2c\xf2\xaa\x21\x8f\xa5\x03\xb8\xb1\x16\x5d\x69\xb4\xa0\xa2\xd2\xa0\x52\xa7\xf7\xed\x9e\x36\xbb\x6f\x30\x6b\x69\x29\x58\x09\xf0\xea\x0a\x5a\xba\x1c\xfa\x78\x33\xa9\x08\xb2\x2b\x6f\x1b\x8f\xf8\x89\xb2\x49\x77\x63\x07\xff\xca\xa5\xc2\xc6\x1b\x78\xf1\xf2\xaa\xf6\xdc\x41\xce\xca\x12\xb5\xa3\x52\x6f\xd7\xe0\x65\x81\xc0\x20\x38\xb4\x55\x01\x6b\xdb\xcb\x36\xae\x5e\x03\xdb\x98\xfd\xe2\xd5\xd5\x06\xd0\x04\x78\x0c\x74\x47\x57\x24\xd1\x5c\xa8\x9d\xf4\x21\xbd\x63\xb4\x24\xaf\x72\xd4\x5b\xec\x02\x61\xd0\xe9\xcb\x4b\x5f\x99\x02\x98\x2d\x32\x52\x8f\x56\x1a\x21\x39\xcc\x18\x7f\x0a\x65\xec\xbf\x7a\x5b\x19\x8a\x0e\x2b\x45\x7d\xc3\xc3\x67\xe9\x22\xa8\xd5\xde\xb9\x54\x98\xc1\xeb\x86\xb7\x6a\x5d\xf5\x66\x26\xa2\x62\x8d\x29\xda\xa0\x1a\x4b\x04\xe2\xa8\x62\x33\x41\x65\x76\xa3\x24\xe5\x11\xc2\xc3\x06\xad\x23\x31\x14\xd3\x6e\xaf\xe6\xb7\x64\xde\x1a\x8f\x63\xd8\x39\xd5\xea\xf0\xea\xdb\x50\x04\x34\xb6\x5d\xa4\xb1\x87\x7b\x6d\x4c\x63\xa7\x37\x99\xc2\xcd\xe3\xfb\xf7\x6f\x6f\x1f\xde\xfd\x58\x45\x01\x5d\x2a\xef\xe2\x95\x66\xeb\x91\x63\xeb\x51\x09\x5e\x4c\x6e\xae\x08\x5a\x61\x74\x9b\x57\xb1\x71\x4b\x78\x56\xd6\x5e\x6f\x77\x42\x2b\xa9\x14\xc5\x17\x57\xc8\x2c\x69\x7a\xcb\x78\xbe\x17\x83\x2d\x99\x39\xa3\x40\x0d\x5a\x7e\x0e\x08\x94\x18\x9d\xa9\xef\x02\x91\x37\xe4\x7a\x14\x31\xa3\x64\x39\xdc\x50\x4d\xfa\xa4\x90\x1a\xc0\x0e\xb6\x6a\x5c\x91\xb8\xfd\xec\x77\xe8\x1a\x56\x56\xf1\xd4\x95\xc0\x0f\x26\xfd\xea\x35\xea\x58\xde\x6f\xce\x78\x1a\xd7\x03\x67\x25\xd1\x22\x5d\x79\x9b\xab\x6e\xac\x0a\x46\x29\x13\xce\xbf\xd1\x9d\x52\x7d\x08\xe3\xf8\x28\x42\x92\x12\x51\x72\xa3\x84\xab\xcf\x60\xf2\xa6\x7a\xe7\xb9\x06\xa9\xb9\x0a\xa2\x4b\x11\x8d\xc7\xc7\xc9\x1b\x97\x01\xfc\x15\x39\x0b\x8e\xfa\x6f\x62\xcd\xa5\x87\xbb\xdb\x77\x3f\x52\x32\x49\x2b\x2a\x8a\x90\x4a\x0d\x4c\xc9\xf4\x1a\x95\x1c\x88\xbb\xfb\xe4\x57\x16\x36\x28\x49\xed\x51\xfb\x18\x07\x39\xaa\xd2\x41\x41\x57\x28\x17\x6c\xe5\x05\x29\x8b\xdf\xc6\xe2\xd7\x29\x52\x98\xd8\xc7\x2f\xd0\x13\xe7\xe7\x2a\xbe\xb2\xfc\x26\xf5\xb1\xfb\xf1\xa3\xc5\x8b\xee\xe7\x8f\x44\x87\xed\x07\x10\x33\xab\xf2\x67\xeb\x05\xe4\x84\x07\x10\xe2\xf1\xb4\x93\x92\xa7\x55\xea\x1d\x23\x2f\xee\x1b\x69\xb0\xfd\x36\x19\xef\xec\x69\x3a\x96\xc5\x18\xa3\x3f\x69\x78\xc8\xd1\x75\xdd\x7f\xa8\x32\xa7\x2b\x7d\x74\x29\x9d\x94\xb7\x4c\xbb\x68\x91\xa3\xbd\xdd\xe3\x0b\xdc\x52\x99\xea\x90\x59\xe7\x34\xf8\xd2\xb3\x75\x23\xe2\xf0\x58\x76\x08\x8f\x7b\xde\x5a\x6b\x6c\xfc\xf4\xe7\x61\x1c\x7f\x89\xd3\xf7\x98\x32\xf0\xb6\xec\x7f\xf7\xe9\xee\x90\xfd\xd3\x61\xb3\x96\x3d\x66\x7f\x9b\x6c\x18\xd6\xff\x0e\xbf\x3d\x5d\x76\x7b\x6f\x8f\x92\x13\xec\x5e\xf6\xda\xfd\x05\x7e\x60\x9e\x29\xc0\x88\x5b\x23\x3a\xfe\xe7\xc6\x14\xa5\x42\xdf\x45\x0e\x92\xfb\xa5\xfd\x6e\x70\x28\x59\x03\x28\xe6\xfc\x63\x7a\x29\xdd\xfc\x75\xa3\x33\xec\xe7\xc6\x16\xcc\x8f\x81\xd6\x0e\xa9\xd9\xe9\x5c\xa5\x83\x52\x6c\xa6\x70\x0c\xde\x86\xee\x25\x07\x93\x2f\x40\x81\xce\xb1\x45\x67\xfd\x38\xba\xb7\xef\x1e\x7c\x74\x63\x99\x33\xd7\x0d\x10\x80\xf4\x58\xf4\x7c\xb5\x17\xe6\xf7\x24\xe5\x94\x30\xa7\x75\x3d\x02\x0f\x1f\x57\x1a\x07\x21\x3a\xc9\xdf\x34\xfa\xe1\x3a\x43\x48\x7f\xdd\xae\xc7\x6f\x5f\xbf\xcf\x34\x10\xcb\x83\xf6\x1d\x3c\xe0\x0e\x17\xa6\x1e\xcb\x13\x4e\x99\xf4\x1e\x14\x7a\xca\x51\xa7\x71\xc2\x81\xa7\x71\x12\x20\x69\x1c\x3b\xfc\xb3\x05\x1e\x27\x42\x1a\xe7\xd3\xe1\xa8\x48\x38\x95\x30\x67\x3a\xd5\x7b\xa7\xee\x5a\xc6\xac\x65\xdd\x2f\xac\x27\x08\x3a\x2c\xe2\x10\xb4\x5f\x23\xba\x8e\x00\xd4\xd3\x21\x7f\xad\x1e\xf9\xff\xeb\x92\x7b\x44\xee\xf6\xce\xe7\xf6\xc9\x7d\x76\xee\x74\xcf\x27\x77\xca\x47\x00\x3f\x40\x9e\x1d\xc0\x9d\x92\x1c\xab\xbf\x8c\xcc\x10\x50\xc7\xa7\x90\xf8\xa4\x33\x0b\x9e\x40\xe3\xe9\xaf\xa3\x04\x58\x5a\x3c\x4b\x80\xb6\xaf\xfe\x56\xa0\x25\xaa\x38\xfc\x1c\xd2\x5b\xa3\x86\x35\x2b\x54\xfc\x83\x82\xd1\x4e\x8a\x78\x7f\x74\x72\xa1\xe5\x5c\x72\xa6\x3d\xac\xe2\x53\x49\x54\x27\xfd\x65\xfb\xee\xa0\xcd\xbe\xf5\xa7\x5f\x03\xf6\xa6\x36\x3f\xd1\xa8\x7e\x0d\xd2\x4c\xc5\x20\x19\x56\xbf\xcb\xd8\x7c\x0b\x90\xae\x02\x5b\x6d\x89\xf3\xc6\x52\x4e\x4d\x33\x9b\x08\x63\x9c\x63\xe9\x51\xdc\xee\xff\x4e\xe3\x22\xf5\x56\xf5\xcf\x30\xe2\x47\x6e\x74\xba\x0c\xb8\x31\x7c\xfc\x34\x48\x52\x51\x7c\xa8\x8d\xa1\xc9\xff\x05\x00\x00\xff\xff\xda\x91\xf1\x99\xd8\x22\x00\x00") func configCrdsKudoDev_instancesYamlBytes() ([]byte, error) { return bindataRead( @@ -99,7 +99,7 @@ func configCrdsKudoDev_instancesYaml() (*asset, error) { return a, nil } -var _configCrdsKudoDev_operatorsYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x56\x4d\x8f\xdc\x36\x0c\xbd\xfb\x57\x10\xe9\x21\x97\x8e\xa7\x69\x81\xa2\xf0\x2d\xd8\xe6\x10\xb4\x9b\x06\xd9\x60\x2f\x45\x0f\xb4\xc5\x99\x61\xd7\x96\x54\x92\x1a\x74\xf3\xeb\x0b\x49\x9e\xcf\x9d\xd9\x4d\x0b\xd4\x37\x3d\x89\x7c\xd4\xe3\x87\xd5\x2c\x16\x8b\x06\x23\xdf\x93\x28\x07\xdf\x01\x46\xa6\xbf\x8d\x7c\x5e\x69\xfb\xf0\x93\xb6\x1c\x96\xdb\x37\x3d\x19\xbe\x69\x1e\xd8\xbb\x0e\x6e\x92\x5a\x98\x3e\x91\x86\x24\x03\xfd\x4c\x2b\xf6\x6c\x1c\x7c\x33\x91\xa1\x43\xc3\xae\x01\x40\xef\x83\x61\x86\x35\x2f\x01\x86\xe0\x4d\xc2\x38\x92\x2c\xd6\xe4\xdb\x87\xd4\x53\x9f\x78\x74\x24\x85\x61\xc7\xbf\xfd\xae\xfd\xbe\xfd\xb1\x01\x18\x84\x8a\xf9\x67\x9e\x48\x0d\xa7\xd8\x81\x4f\xe3\xd8\x00\x78\x9c\xa8\x83\x10\x49\xd0\x82\x68\xfb\x90\x5c\x68\x1d\x6d\x1b\x8d\x34\x64\xb2\xb5\x84\x14\x3b\xd8\xe3\xd5\x64\x8e\xa3\xde\xe1\xb7\xd9\xba\x40\x23\xab\xfd\x72\x02\xff\xca\x6a\x65\x2b\x8e\x49\x70\x3c\x62\x2b\xa8\xb2\x5f\xa7\x11\xe5\x80\x37\x00\x3a\x84\x48\x1d\x7c\xc8\x54\x11\x07\x72\x0d\xc0\x16\x47\x76\xe5\x1a\x95\x3c\x44\xf2\x6f\x3f\xbe\xbf\xff\xe1\x6e\xd8\xd0\x84\x15\x04\x70\xa4\x83\x70\x2c\xe7\xf6\x31\x00\x2b\xd8\x86\xa0\x1e\x85\x55\x90\xb2\xdc\x31\xc2\xdb\x8f\xef\x67\xf3\x28\x19\x34\xde\x5d\x31\x7f\x47\x39\xdd\x63\x67\x44\xaf\x73\x24\xf5\x0c\xb8\x9c\x45\xaa\x84\x73\x2e\xc8\x81\x56\xea\xb0\x02\xdb\xb0\x82\x50\x14\x52\xf2\x35\xaf\x47\x6e\x21\x1f\x41\x0f\xa1\xff\x93\x06\x6b\xe1\x8e\x24\x3b\x01\xdd\x84\x34\xba\x9c\xfa\x2d\x89\x81\xd0\x10\xd6\x9e\xbf\xec\x3d\x2b\x58\x28\x94\x23\x1a\xcd\x8a\xef\x3e\xf6\x46\xe2\x71\xcc\x1a\x26\xfa\x16\xd0\x3b\x98\xf0\x11\x84\x32\x07\x24\x7f\xe4\xad\x1c\xd1\x16\x6e\x83\x10\xb0\x5f\x85\x0e\x36\x66\x51\xbb\xe5\x72\xcd\xb6\xab\xe2\x21\x4c\x53\xf2\x6c\x8f\xcb\x52\x8b\xdc\xa7\x9c\xd0\xa5\xa3\x2d\x8d\x4b\xe5\xf5\x02\x65\xd8\xb0\xd1\x60\x49\x68\x89\x91\x17\x25\x70\x5f\x8a\xb8\x9d\xdc\x37\x32\x97\xbc\xbe\x3e\x8a\xd4\x1e\x73\xd6\xd5\x84\xfd\x7a\x0f\x97\x22\xbb\xaa\x7b\xae\xb5\x9c\x5d\x9c\xcd\x6a\xfc\x07\x79\x33\x94\x55\xf9\xf4\xee\xee\x33\xec\x48\x4b\x0a\x4e\x35\x2f\x6a\x1f\xcc\xf4\x20\x7c\x16\x8a\xfd\x8a\xa4\x26\x6e\x25\x61\x2a\x1e\xc9\xbb\x18\xd8\x5b\x59\x0c\x23\x93\x3f\x15\x5d\x53\x3f\xb1\xe5\x4c\xff\x95\x48\x2d\xe7\xa7\x85\x9b\xd2\xcb\xd0\x13\xa4\xe8\xd0\xc8\xb5\xf0\xde\xc3\x0d\x4e\x34\xde\xa0\xd2\xff\x2e\x7b\x56\x58\x17\x59\xd2\x97\x85\x3f\x1e\x41\xa7\x07\xab\x5a\x7b\x78\x37\x2b\x2e\x66\x68\xd7\x82\x77\x91\x86\x93\xd6\x70\xa4\x2c\xb9\x7c\x0d\x8d\x72\xd1\x9f\xcc\x91\xeb\xdd\x78\xce\x70\xb2\x71\xe5\x2a\xa5\x8e\x52\x4f\xe2\xc9\x48\x2f\x34\xf3\x0b\x96\x2e\xfc\x5b\x9b\x09\xd9\x1b\xb2\x27\xd1\x73\x1b\x36\x9a\x9e\x80\x67\xaa\xdd\xee\xcd\x67\xbc\x27\xcd\x53\x61\x3f\xd0\x0e\xfe\xdb\x27\x9e\xae\xa9\x56\x3f\x9a\x90\xc7\x4b\x1b\x67\x21\xbc\xcb\xe7\x4a\x6b\x79\x08\x05\xc3\xb1\x1a\x03\x3a\x27\xa4\x65\xe2\xe4\x3a\xc4\xa1\x34\xc1\x45\x97\xf5\x7f\xe1\x9e\x8d\xf7\x59\x21\x0f\x4e\xbe\x22\xe6\xfc\xc3\xa8\xd3\x20\x29\x49\xb1\x82\x20\x10\x64\x8d\x9e\xbf\x94\x51\x5b\xc0\xff\x10\xc3\xc5\xca\x3f\xde\x42\x11\x7c\x6c\xce\x83\x2e\xbf\xaf\x5b\xf4\xbc\x22\xb5\xaf\xae\x9e\x24\x4f\x32\x74\xe5\xec\xe5\x86\x34\xb4\xa4\x2f\xb7\x64\x39\x76\xd2\x94\xa1\xd7\x3c\xf6\x9e\xef\xca\x0b\x9c\x67\xd0\xe1\x09\x32\xbf\x76\xf6\x50\x89\x6a\x31\xbf\x3b\x0e\xbb\x00\x95\xb7\x03\x93\x54\x2b\x49\x2d\x08\xae\x69\x46\x0e\x57\xc2\x61\xa0\x68\xe4\x3e\x9c\xbf\x43\x5e\xbd\x3a\x79\x66\x94\xe5\x10\xbc\xe3\xfa\x72\x82\xdf\xff\x68\xaa\x57\x72\xf7\xbb\x60\x32\xf8\x4f\x00\x00\x00\xff\xff\x86\x23\x1d\x6c\xb8\x09\x00\x00") +var _configCrdsKudoDev_operatorsYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x56\x4d\x8f\xdc\x36\x0c\xbd\xfb\x57\x10\xe9\x21\x97\x8e\x27\x41\x2e\x85\x6f\xc1\x36\x87\xa0\xdd\x34\xc8\x06\x7b\x29\x7a\xa0\x2d\xce\x0c\xbb\xb6\xa4\x92\xd4\xa0\x9b\x5f\x5f\x48\xf2\x7c\xee\xcc\x6e\x5a\xa0\xbe\xe9\x49\xe4\xa3\x1e\x3f\xac\x66\xb1\x58\x34\x18\xf9\x9e\x44\x39\xf8\x0e\x30\x32\xfd\x6d\xe4\xf3\x4a\xdb\x87\x9f\xb4\xe5\xb0\xdc\xbe\xed\xc9\xf0\x6d\xf3\xc0\xde\x75\x70\x93\xd4\xc2\xf4\x85\x34\x24\x19\xe8\x67\x5a\xb1\x67\xe3\xe0\x9b\x89\x0c\x1d\x1a\x76\x0d\x00\x7a\x1f\x0c\x33\xac\x79\x09\x30\x04\x6f\x12\xc6\x91\x64\xb1\x26\xdf\x3e\xa4\x9e\xfa\xc4\xa3\x23\x29\x0c\x3b\xfe\xed\x9b\xf6\x5d\xfb\xa6\x01\x18\x84\x8a\xf9\x57\x9e\x48\x0d\xa7\xd8\x81\x4f\xe3\xd8\x00\x78\x9c\xa8\x83\x10\x49\xd0\x82\x68\xfb\x90\x5c\x68\x1d\x6d\x1b\x8d\x34\x64\xb2\xb5\x84\x14\x3b\xd8\xe3\xd5\x64\x8e\xa3\xde\xe1\xb7\xd9\xba\x40\x23\xab\xfd\x72\x02\xff\xca\x6a\x65\x2b\x8e\x49\x70\x3c\x62\x2b\xa8\xb2\x5f\xa7\x11\xe5\x80\x37\x00\x3a\x84\x48\x1d\x7c\xca\x54\x11\x07\x72\x0d\xc0\x16\x47\x76\xe5\x1a\x95\x3c\x44\xf2\xef\x3f\x7f\xbc\x7f\x77\x37\x6c\x68\xc2\x0a\x02\x38\xd2\x41\x38\x96\x73\xfb\x18\x80\x15\x6c\x43\x50\x8f\xc2\x2a\x48\x59\xee\x18\xe1\xfd\xe7\x8f\xb3\x79\x94\x0c\x1a\xef\xae\x98\xbf\xa3\x9c\xee\xb1\x33\xa2\xd7\x39\x92\x7a\x06\x5c\xce\x22\x55\xc2\x39\x17\xe4\x40\x2b\x75\x58\x81\x6d\x58\x41\x28\x0a\x29\xf9\x9a\xd7\x23\xb7\x90\x8f\xa0\x87\xd0\xff\x49\x83\xb5\x70\x47\x92\x9d\x80\x6e\x42\x1a\x5d\x4e\xfd\x96\xc4\x40\x68\x08\x6b\xcf\xdf\xf6\x9e\x15\x2c\x14\xca\x11\x8d\x66\xc5\x77\x1f\x7b\x23\xf1\x38\x66\x0d\x13\xfd\x08\xe8\x1d\x4c\xf8\x08\x42\x99\x03\x92\x3f\xf2\x56\x8e\x68\x0b\xb7\x41\x08\xd8\xaf\x42\x07\x1b\xb3\xa8\xdd\x72\xb9\x66\xdb\x55\xf1\x10\xa6\x29\x79\xb6\xc7\x65\xa9\x45\xee\x53\x4e\xe8\xd2\xd1\x96\xc6\xa5\xf2\x7a\x81\x32\x6c\xd8\x68\xb0\x24\xb4\xc4\xc8\x8b\x12\xb8\x2f\x45\xdc\x4e\xee\x07\x99\x4b\x5e\x5f\x1f\x45\x6a\x8f\x39\xeb\x6a\xc2\x7e\xbd\x87\x4b\x91\x5d\xd5\x3d\xd7\x5a\xce\x2e\xce\x66\x35\xfe\x83\xbc\x19\xca\xaa\x7c\xf9\x70\xf7\x15\x76\xa4\x25\x05\xa7\x9a\x17\xb5\x0f\x66\x7a\x10\x3e\x0b\xc5\x7e\x45\x52\x13\xb7\x92\x30\x15\x8f\xe4\x5d\x0c\xec\xad\x2c\x86\x91\xc9\x9f\x8a\xae\xa9\x9f\xd8\x72\xa6\xff\x4a\xa4\x96\xf3\xd3\xc2\x4d\xe9\x65\xe8\x09\x52\x74\x68\xe4\x5a\xf8\xe8\xe1\x06\x27\x1a\x6f\x50\xe9\x7f\x97\x3d\x2b\xac\x8b\x2c\xe9\xcb\xc2\x1f\x8f\xa0\xd3\x83\x55\xad\x3d\xbc\x9b\x15\x17\x33\xb4\x6b\xc1\xbb\x48\xc3\x49\x6b\x38\x52\x96\x5c\xbe\x86\x46\xb9\xe8\x4f\xe6\xc8\xf5\x6e\x3c\x67\x38\xd9\xb8\x72\x95\x52\x47\xa9\x27\xf1\x64\xa4\x17\x9a\xf9\x05\x4b\x17\xfe\xad\xcd\x84\xec\x0d\xd9\x93\xe8\xb9\x0d\x1b\x4d\x4f\xc0\x33\xd5\x6e\xf7\xe6\x33\xde\x93\xe6\xa9\xb0\x1f\x68\x07\xff\xed\x13\x4f\xd7\x54\xab\x1f\x4d\xc8\xe3\xa5\x8d\xb3\x10\x3e\xe4\x73\xa5\xb5\x3c\x84\x82\xe1\x58\x8d\x01\x9d\x13\xd2\x32\x71\x72\x1d\xe2\x50\x9a\xe0\xa2\xcb\xfa\xbf\x70\xcf\xc6\xfb\xac\x90\x07\x27\xdf\x11\x73\xfe\x61\xd4\x69\x90\x94\xa4\x58\x41\x10\x08\xb2\x46\xcf\xdf\xca\xa8\x2d\xe0\x7f\x88\xe1\x62\xe5\x1f\x6f\xa1\x08\x3e\x36\xe7\x41\x97\xdf\xd7\x2d\x7a\x5e\x91\xda\x77\x57\x4f\x92\x27\x19\xba\x72\xf6\x72\x43\x1a\x5a\xd2\x97\x5b\xb2\x1c\x3b\x69\xca\xd0\x6b\x1e\x7b\xcf\x77\xe5\x05\xce\x33\xe8\xf0\x04\x99\x5f\x3b\x7b\xa8\x44\xb5\x98\xdf\x1d\x87\x5d\x80\xca\xdb\x81\x49\xaa\x95\xa4\x16\x04\xd7\x34\x23\x87\x2b\xe1\x30\x50\x34\x72\x9f\xce\xdf\x21\xaf\x5e\x9d\x3c\x33\xca\x72\x08\xde\x71\x7d\x39\xc1\xef\x7f\x34\xd5\x2b\xb9\xfb\x5d\x30\x19\xfc\x27\x00\x00\xff\xff\x3b\x1c\xc9\xce\xb8\x09\x00\x00") func configCrdsKudoDev_operatorsYamlBytes() ([]byte, error) { return bindataRead( @@ -119,7 +119,7 @@ func configCrdsKudoDev_operatorsYaml() (*asset, error) { return a, nil } -var _configCrdsKudoDev_operatorversionsYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x1b\x5d\x6f\xe4\xb6\xf1\xdd\xbf\x62\x70\x79\xb8\x24\xf0\xee\x36\x57\xa0\x28\xf6\xed\x70\x97\x14\x6e\x2e\xb6\x71\xf6\xa5\x28\xd2\x00\xe6\x8a\xb3\x2b\xc6\x14\xa9\x92\xd4\xee\x6d\x0f\xf9\xef\xc5\xf0\x43\xda\x0f\x51\x2b\xdb\xe7\xf4\xaa\x17\x7b\x25\x72\x38\xdf\x5f\x1a\x9d\x4d\x26\x93\x33\x56\x8b\x9f\xd1\x58\xa1\xd5\x1c\x58\x2d\xf0\xa3\x43\x45\xbf\xec\xf4\xfe\xaf\x76\x2a\xf4\x6c\xfd\xdd\x02\x1d\xfb\xee\xec\x5e\x28\x3e\x87\x37\x8d\x75\xba\x7a\x8f\x56\x37\xa6\xc0\xb7\xb8\x14\x4a\x38\xa1\xd5\x59\x85\x8e\x71\xe6\xd8\xfc\x0c\x80\x29\xa5\x1d\xa3\xdb\x96\x7e\x02\x14\x5a\x39\xa3\xa5\x44\x33\x59\xa1\x9a\xde\x37\x0b\x5c\x34\x42\x72\x34\xfe\x84\x74\xfe\xfa\x4f\xd3\x57\xd3\xbf\x9c\x01\x14\x06\xfd\xf6\x5b\x51\xa1\x75\xac\xaa\xe7\xa0\x1a\x29\xcf\x00\x14\xab\x70\x0e\xba\x46\xc3\x9c\x36\x71\xa7\x9d\xde\x37\x5c\x4f\x39\xae\xcf\x6c\x8d\x05\x9d\xb9\x32\xba\xa9\xe7\xd0\xde\x0f\x3b\x23\x3a\x81\x94\xab\x08\x24\x92\xef\x9f\x48\x61\xdd\x8f\x7d\x4f\xdf\x09\xeb\xfc\x8a\x5a\x36\x86\xc9\x63\x14\xfc\x43\x2b\xd4\xaa\x91\xcc\x1c\x3d\x3e\x03\xb0\x85\xae\x71\x0e\x97\x84\x46\xcd\x0a\xe4\x67\x00\x6b\x26\x05\xf7\x94\x06\xc4\x74\x8d\xea\xf5\xf5\xc5\xcf\x7f\xbe\x29\x4a\xac\x58\xb8\x09\xc0\xd1\x16\x46\xd4\x7e\xdd\x21\x62\x20\x2c\xb8\x12\x21\xec\x80\xa5\x36\xfe\xe7\x21\x7a\xf0\xfa\xfa\x62\x1a\xc1\xd5\x86\x9e\x3a\x91\xd8\x41\xd7\x8e\x1a\xb4\xf7\x0e\x0e\x7e\x49\x98\xc5\x43\x39\x09\x1e\xc3\xc9\xf1\x08\xe4\x60\x03\x0e\x7a\x09\xae\x14\x16\x0c\xd6\x06\x2d\xaa\xa0\x0a\x3b\x60\x81\x96\x30\x05\x7a\xf1\x1b\x16\x6e\x0a\x37\xe8\xf1\x04\x5b\xea\x46\x72\xd2\x96\x35\x1a\x07\x06\x0b\xbd\x52\xe2\x3f\x2d\x64\x0b\x4e\xfb\x23\x25\x73\x18\xe5\x91\x2e\xa1\x1c\x1a\xc5\x24\xf1\xb4\xc1\x73\x60\x8a\x43\xc5\xb6\x60\x90\xce\x80\x46\xed\x40\xf3\x4b\xec\x14\x7e\xd2\x06\x41\xa8\xa5\x9e\x43\xe9\x5c\x6d\xe7\xb3\xd9\x4a\xb8\xa4\xf8\x85\xae\xaa\x46\x09\xb7\x9d\x79\xf5\x15\x8b\xc6\x69\x63\x67\x1c\xd7\x28\x67\x56\xac\x26\xcc\x14\xa5\x70\x58\xb8\xc6\xe0\x8c\xd5\x62\xe2\x11\x57\x5e\xef\xa7\x15\xff\xca\x44\x2b\xb1\x2f\x77\x30\x75\x5b\xd2\x02\xeb\x8c\x50\xab\xf6\xb6\x57\xc8\x2c\xdf\x49\x21\x49\xcc\x2c\x6e\x0b\xf8\x77\xec\xa5\x5b\xc4\x95\xf7\xdf\xdf\xdc\x42\x3a\xd4\x8b\x60\x9f\xe7\x9e\xdb\xdd\x36\xdb\x31\x9e\x18\x25\xd4\x12\x4d\x10\xdc\xd2\xe8\xca\x43\x44\xc5\x6b\x2d\x94\xf3\x3f\x0a\x29\x50\xed\x33\xdd\x36\x8b\x4a\x38\x92\xf4\xbf\x1b\xb4\x8e\xe4\x33\x85\x37\xde\xfc\x61\x81\xd0\xd4\x9c\x39\xe4\x53\xb8\x50\xf0\x86\x55\x28\xdf\x30\x8b\xcf\xce\x76\xe2\xb0\x9d\x10\x4b\x4f\x33\x7e\xd7\x6b\xed\x2f\x0c\xdc\x6a\x6f\x27\xbf\xd2\x2b\xa1\x03\x93\xbc\xa9\xb1\xd8\xb3\x10\x8e\x56\x18\xd2\x62\xc7\x1c\x92\xee\x1f\x6c\x98\xee\x00\xee\x33\xce\x60\xa0\x75\x8f\x81\x66\x09\x83\xe0\x75\x15\x16\x84\xe2\x8d\x7f\x78\xb8\x71\x8f\x86\x37\x07\x8b\x5b\x02\x18\x38\xac\x6a\xb2\x38\x9e\xf4\xcf\x95\xcc\x41\xc1\x14\x2c\xf0\x00\x24\x40\x63\x91\x93\x99\xc6\xc3\xe9\x5f\xa6\x40\x28\xeb\x98\x2a\x30\xf8\x06\x6c\x19\x30\x1d\x4b\x4b\xf2\x67\x83\x34\x5c\x79\x99\xbd\xc7\x25\x1a\xa4\xc3\x48\x81\x98\x50\x16\x50\xe9\x66\x55\x7a\x9d\x33\x95\xf7\x46\x84\x97\x44\x07\x5b\xdd\x1c\x91\x20\x14\x49\xdb\x81\x36\x50\x69\x2e\x96\x5b\x8f\xb2\x21\xb0\x24\xc5\xe8\xb5\x0e\xb6\xe5\xe4\x06\x59\xe7\xda\x4b\xc2\xeb\xeb\x8b\xe4\x50\x13\xaf\x4c\xa0\xe7\xe8\xc4\x41\x7e\xd1\xb5\x14\x28\xf9\x35\x73\xe5\xc9\x53\x5f\x5e\x2c\x23\x7d\x5e\xbc\x1a\x18\xd4\x02\x83\xb8\x5a\x3f\xed\x85\x88\x8c\x87\x9b\x3d\x20\x01\xc8\x0a\x0d\xc6\xf5\xe7\xc1\x99\x44\x9d\xe9\x7c\x3b\x89\x04\x58\x88\x7d\xf0\xf7\x9b\xab\xcb\xd9\xdf\x74\xc0\xb5\x17\x26\x2b\x0a\xb4\x36\xd8\x4e\x85\xca\x9d\x83\x6d\x8a\x12\x98\x4d\x66\x75\x43\x4f\xa6\x15\x53\x62\x89\xd6\x4d\xe3\x09\x68\xec\x2f\xaf\x7e\xed\xe3\x19\xc0\x0f\xda\x00\x7e\x64\x55\x2d\xf1\x1c\x44\xe0\x72\xeb\x1d\x93\xf2\x08\x1b\x18\xd1\xc2\x83\x8d\x70\xa5\xe8\x27\x9c\x41\xad\x79\x24\x78\xe3\x09\x75\xec\x1e\x41\x47\x42\x1b\x04\x29\xee\x71\x0e\x2f\x48\xb3\x76\x50\xfc\x44\x59\xc9\xef\x2f\x7a\x61\x7e\xbd\x29\xd1\x20\xbc\xa0\x25\x2f\x02\x62\x6d\x00\xa4\x7b\x49\x3f\x3a\x04\xbd\x5d\x3a\x23\x56\x2b\x34\xd8\xcf\x4d\xef\xd5\xc9\x5b\x7e\x43\xea\x2d\x96\xa0\xf4\x0e\x00\x0f\x96\x64\x56\x63\x21\x96\x02\xf9\x11\xc2\xbf\xbc\xfa\x35\x83\xed\x3e\x9f\x40\x28\x8e\x1f\xe1\x15\x08\x15\xb8\x52\x6b\xfe\xcd\x14\x6e\xbd\x46\x6c\x95\x63\x1f\xe9\x9c\xa2\xd4\x16\x15\x68\x25\xb7\xfd\xd8\x6a\x28\xd9\x1a\xc1\xea\x0a\x61\x83\x52\x4e\x82\x57\xe2\xb0\x61\x5b\xa2\x3f\x89\x8b\x34\x8c\x41\xcd\x8c\xdb\x4f\x2d\x7a\xa1\xde\x5e\xbd\xbd\x9a\x07\xac\x48\x85\x56\x3e\x87\xa2\x90\xb5\x14\x94\x40\x50\xe6\x10\xc2\x20\xe9\xa4\x67\x47\x13\x94\x83\xdc\x5a\xc9\xd4\xea\xd8\xeb\x81\x77\x1b\x9e\xbb\xcb\x86\x02\xd3\xf4\xe5\x43\xad\xf5\x30\x07\x48\x57\x4f\x2e\x70\xe8\x18\xfe\x47\x11\x75\x14\x59\x3e\x61\x3f\x49\xd6\xe5\x8e\x3e\x0f\x92\x45\xa5\x83\x51\xe8\xd0\x53\xc6\x75\x61\x89\xa8\x02\x6b\x67\x67\x7a\x8d\x66\x2d\x70\x33\xdb\x68\x73\x2f\xd4\x6a\x42\x8a\x38\x09\x9a\x60\x67\x3e\xff\x9f\x7d\xe5\xff\x3c\x8a\x0a\x9f\xb5\x8f\x23\xc5\x2f\xfd\x23\xe8\xa1\x73\xec\xec\xc1\xe4\xa4\x24\x71\x6c\x54\x7a\x79\x13\x1c\x42\x71\xb8\x93\x4c\x62\x53\x8a\xa2\x4c\x19\x7f\xe7\x3d\x7b\x6d\xa4\x62\x3c\xb8\x5c\xa6\xb6\xcf\xae\xb6\xc4\xc8\xc6\x10\x3e\xdb\x49\xac\x40\x27\x4c\x71\xfa\xdf\x0a\xeb\xe8\xfe\x83\x39\xd7\x88\x11\x46\xfa\xe1\xe2\xed\x1f\xa3\xcc\x8d\x78\xb0\x45\xf6\x66\xb7\x74\xd5\xcc\xb0\x0a\x1d\x9a\xa3\x04\x46\x38\xac\x7a\xb2\x9a\x3d\x9a\xaf\xd3\x6e\x28\x58\x4d\x02\x89\xb5\x21\x33\x82\x2d\x84\x14\x6e\x1b\x1d\x73\x5f\xd5\xbd\x7f\x2d\x90\xbc\x79\xc8\x18\x9d\xf0\x79\x27\x25\x0c\x5d\x12\x79\xec\xd5\x87\x92\x2f\x42\x74\xc9\x1a\xe9\xfa\x1e\x1d\x50\xf1\x36\xac\x0c\xc5\x56\xdc\x16\xe3\x77\x08\x95\x2d\x93\x68\x49\x6d\xf4\x5a\xf0\x4c\xa0\x05\x58\x84\xbc\x31\x8f\x35\x9c\x52\xb6\x7d\xec\xc6\xa0\xdf\xfe\xe8\xc4\xc0\x40\x6a\xb5\x42\xb3\xbb\x94\x64\x51\xea\x4d\x06\x71\xc2\xba\x23\x74\x23\xa4\xf4\xc5\x9c\x45\xfe\x38\x1a\x84\xad\x25\xdb\x5e\x66\x02\xc1\x21\x0d\xdd\xea\x58\x62\x84\x92\x62\xb1\x85\x0f\x17\xf6\x51\x08\xe4\x42\xd0\xc1\xc9\x2f\x2e\x63\xf6\x43\xf4\xef\x56\x3a\x31\x75\x4d\x98\xc4\x38\x9f\xaa\xa2\x0c\x13\x97\x42\xa2\xef\xc6\xec\x26\x9a\x77\xa1\x7d\xf5\xe6\xea\xc3\xe5\xed\x1d\x41\x51\xd0\xd8\x54\xbe\x07\x5b\x91\xa4\x31\x19\x98\xcc\x27\x66\x31\x95\xfc\x97\x0a\x45\xa9\x77\xe7\xb5\x14\x05\xb3\x73\x80\x4f\x9f\x60\xea\x6d\xd1\x4e\xfd\x29\xf0\x7b\x26\xbb\x3c\xc1\x33\xaa\xe8\x29\xb9\x1e\xc1\xb7\xf7\x71\x69\x9b\x35\xda\x94\x53\xef\x59\x4b\x82\x08\x4e\xe7\x0c\x06\x5b\x93\x22\x71\x33\x29\x5b\xe3\xb1\xe7\x94\xae\x6e\x4a\x74\x25\x9a\x1d\xdb\x24\x0d\xb1\xcd\x72\x29\x86\xed\x6b\xa1\xb5\xc4\xde\x9a\x25\x66\xcb\x23\xc8\xbc\x0d\x2b\x41\x70\x0a\x31\x9e\x4c\x4f\xa3\x64\x2a\xa8\xc9\x0a\x9d\x05\xfc\x88\x45\x43\x2e\x6b\x53\x62\x4e\x8c\x21\x1f\xee\x1c\xa6\x4f\x29\x6d\xd2\xab\x8b\xb6\x54\x8e\xdd\xb1\x1d\xa7\x74\x17\x3a\x2a\x77\x19\xc0\x14\x57\x03\x42\x3e\x05\xf7\x58\xf9\x94\x1e\x3f\x0a\xeb\x88\x87\xc4\xbe\x8d\xb0\x08\xc2\xbd\xb4\x70\xc7\xb1\x96\x7a\x7b\xf7\x28\xab\xf2\x6e\x71\xe2\x17\x8d\x60\xde\xb6\xc6\x1d\xfd\x08\xea\x4e\x6e\x95\xf6\xb7\x24\xfa\xf2\xe6\x2e\x9c\xf8\x18\xa4\xb2\xb1\x2d\x3d\x62\xc6\xb0\xfd\x4a\x83\xb8\x75\x14\x34\x18\xe7\xbe\xa9\xcd\xe4\xf5\x40\x60\xd9\x8f\x7f\xc4\xf5\x8e\x40\x06\x16\x0d\xfd\xa3\x97\x70\x5d\x32\xeb\x69\x26\x69\x60\xe8\x8e\x2c\xa8\x6c\x23\xb7\xe0\xfa\x9c\xea\x70\x38\xab\x3d\xbc\x11\x4c\x8f\x07\x57\xac\x26\x84\xfc\xb6\xa0\x0e\xbe\xae\xf5\x4f\x07\xeb\xa4\x4c\xdc\xcf\x9d\xb4\x47\xbe\x14\xd6\x97\x62\xd6\x61\x1d\x69\x4f\xa5\xff\x8f\x6d\xd6\x93\x01\x9d\x5a\x95\x19\x6f\x7f\x8a\x3f\xe1\xca\x3b\xfd\x70\x9d\xd0\xee\x70\x79\xec\x87\xa0\xec\x71\xe1\xc6\xd3\x1a\xd9\x4d\x5b\x77\xb8\x9d\xf8\xd1\xf6\xd2\x06\x80\xc2\x0e\x8b\x12\x2b\xc0\x3a\x4d\xce\x93\x75\x6d\xe0\x1c\x77\xe0\x94\xe8\x32\xa8\xef\x74\xfc\x6c\x4a\xf7\x2d\x7a\xac\x43\xf7\xad\x7d\xcd\x91\xbf\xbc\xa0\x75\x51\x34\x47\x9d\xbd\xfd\x6b\x8c\x04\xc3\x75\x4a\x8e\xf1\xdc\x31\xd2\x8c\x4b\x99\xbd\x3f\x79\xea\x28\x0e\x3e\xf8\xe8\xbc\x1b\xea\x5f\xd7\xeb\xc9\x1e\x0a\xce\x3a\xc3\x1c\xae\xb6\xa3\xd5\xf8\xca\x70\x0c\x2d\xbb\xd6\x9e\x4b\xbd\x09\x59\x51\xb3\xf0\x7c\x49\x5d\x9d\x61\x19\x4b\xa6\x66\xc1\xeb\x74\x19\x94\x7f\x0b\xc8\x41\x37\x19\x9f\xb3\x4b\xd7\x20\x4f\x4f\x72\x48\x35\x52\x52\x3a\x35\x07\x67\x9a\xfe\x2c\x6d\x98\x7d\xc3\x8c\x7b\x2c\xcb\x76\xd8\x92\xa1\x6c\x3c\xb3\x1e\x1b\x0c\x8f\x22\x57\x17\x24\x28\x8c\x75\x5e\x8b\x7e\x1e\x1e\x3d\xc8\xd7\xec\xa1\xbd\x56\xb7\x87\xc7\xbb\xe8\x21\x29\xed\xf3\xab\x81\xad\x99\x90\x31\x23\x0e\xbc\x1b\x78\x6f\x02\x23\x0b\xd5\x5b\x66\xef\x43\x7d\xb7\x92\x7a\xc1\xe4\x39\xd4\x5a\x6e\x2b\x6d\xea\x52\x14\x20\x28\x26\x57\xe9\x95\x65\x42\xa7\x6e\x16\x52\x14\xbd\x3d\xca\x0e\x47\x8f\xf3\x03\x43\x79\xae\xe7\xf7\x84\x92\xe6\xc4\xc6\xc3\xf7\x58\x03\x5c\xf2\xaf\xb1\xb0\x5a\x20\xb7\x81\x0b\xda\x5a\x91\x28\xf5\x80\x6c\x6c\xe8\x32\x29\xf5\x26\xe7\x0c\x9a\xd0\x47\x5f\x6b\xc1\x61\x63\x84\x7f\x5b\x59\xf8\x29\x02\x68\xd4\xac\x62\xc6\x96\x4c\x4a\xdf\xdb\xa6\xe0\x11\xba\xe7\x5a\xc9\x2d\xa5\xc8\x59\x23\x29\xd0\xf8\x64\xc2\xf7\x68\x2d\x70\xac\x51\x71\x02\xad\x63\x75\x46\x38\xfe\x28\x14\x27\x14\x11\xb8\xde\x28\x2b\x38\xa6\x77\xd3\xb9\x02\xab\xae\x8d\x66\x45\x09\xc2\x9e\x07\x74\x3c\xfd\x54\x90\xf8\x1e\xa8\xaf\x37\x94\x76\xa1\x2b\x1d\xcf\x8e\xb9\x76\xd6\x9c\xc9\x9a\x7e\xb3\x3a\xd8\x95\xa5\x08\x2e\x12\x99\x0b\x2c\x74\x85\xc0\xaa\x85\x58\x35\xba\xb1\xed\xeb\xfb\x58\xdf\xe4\xf2\x1f\x62\x8c\x99\xc2\x3f\x10\x2a\xb1\x2a\x1d\x18\x5c\x0b\x2b\x5c\x30\x92\x8e\x88\xdd\x86\x74\x74\x2b\x43\x25\x49\xc2\x46\x81\xb0\xb6\xc9\x14\x54\xa7\x23\x77\xfe\x4d\x65\x77\xed\x29\xdb\x4e\xbe\xc1\xea\xba\x7d\xfd\x15\xd1\xd7\x54\xdd\x09\x26\xa9\xca\xd5\xe7\x83\x41\xac\x2b\x22\x68\x63\xa5\xad\x9f\x21\x38\x7c\x69\xbd\x47\xf7\xe9\x40\xc3\xb5\x1a\x48\x40\x4e\xd5\x97\x74\x2d\x99\x63\xf2\x69\x20\x52\x1d\x9c\x6f\xa2\x8c\xa4\x46\xef\x7b\xd0\x87\x4b\x28\x01\x78\x0e\x31\x81\x56\x39\x2b\x1a\x45\x5c\xcd\x8a\x7b\xb6\x1a\x60\xd0\x1e\x51\x28\x7c\x33\x81\xf0\x4d\x3b\xbd\x89\x9e\x83\xd4\x05\x93\xed\xbd\xa5\x96\x1c\xcd\x00\x45\xda\x90\xcd\x7c\x78\xff\x8e\x48\x4a\xbb\x1c\x33\x0b\x26\xe5\x14\x78\xe3\x33\x83\x96\x6f\x5e\x94\x52\xfa\x00\x33\xc4\xa7\xfb\x86\xeb\xc2\xc9\xd0\x7f\x33\x68\xb5\x5c\x63\xec\xaa\x84\x13\x98\xe2\xa0\xd7\x68\x0c\xf9\xb5\xee\x85\xd5\x00\xc8\xe4\xa9\x12\x38\xde\x61\x45\x84\xe7\x33\xb2\x51\xbc\x8f\xfd\x8c\x27\xa9\x67\x0b\xe5\x07\x21\xc7\xca\x71\xf7\x5d\x68\x2a\xaf\x42\xfb\xed\x6b\x12\xa4\xeb\x5a\x76\x77\xe9\xb1\xcd\x75\x50\xe8\x0a\xf2\xfe\x26\x4c\xc1\xa4\x97\x1b\x08\xdf\xd6\xcc\xa0\x72\xdf\x76\xb3\x0c\x2b\x54\xc4\x3d\x5f\x31\xb5\x88\x0f\x01\x26\x9c\xd2\x7c\x44\xad\xeb\xc6\x63\xea\x61\x17\xa5\x90\xfc\xdb\xb6\xf7\x33\xa5\xd8\x3b\x6d\x7b\xea\xf9\x3c\x7b\x0c\x4b\x45\xae\x43\x03\x63\xca\x9c\xfd\x5c\x51\xd4\x18\xa7\x5b\xe8\xee\x22\xe6\xb9\x2c\x90\x96\xf8\xc1\x61\x31\x5c\xdd\x30\x0f\x28\x65\x62\xa9\xb2\x55\xbc\x7b\x7f\x34\xa4\xc5\x63\x6b\x47\x54\xeb\x61\x2d\x0a\xd7\xe8\xfa\x6d\xf9\x39\x81\xdd\xe3\x60\x41\xf6\x30\x58\xd9\x2c\xf2\xc1\xc0\x46\xd5\x9d\x23\x2a\x2b\x18\x55\x9c\xd6\x7a\x00\xef\x11\x18\xb7\x03\x76\x4f\xd0\xef\x51\x8c\xf9\x6c\x14\x6f\x98\x72\xdf\x9b\x93\x3e\x72\x28\x19\x18\x14\xd1\x23\x3a\xa0\xad\x4f\x7c\x5c\x17\x74\x80\x7f\xfb\x15\x45\x3a\x26\x14\x5f\xa9\x1f\xd6\x5a\xbc\xcf\x07\xfe\xf9\xfa\xa7\x77\x1d\x42\x10\xdd\xf7\xd1\x99\x07\x6f\x60\x6c\x74\xd9\xde\x85\xd0\x0d\xb3\xe3\x48\xe2\x30\x23\x15\x67\xfd\xc3\x66\x3d\xcc\x6a\xea\x95\x61\x9c\x04\xfe\x83\xd1\xd5\x60\xd5\xfa\x61\x6f\xa9\x27\x2b\x54\x4b\x07\xa5\xaa\xed\x86\xe6\x02\xf4\x63\x2d\xf2\xf9\xd0\xe7\x29\x72\x3f\xd3\x20\xdc\x23\x47\xe1\x4e\xb9\xe8\xe1\x71\xb8\xa7\x0d\xc4\x9d\x34\xe8\xc1\xa1\xb8\x27\x8e\xc5\xe5\x0a\x22\xf5\xf8\xc1\xb8\x5c\x49\xe1\x47\x93\x9e\x61\x34\xee\x39\x86\xe3\x9e\x67\x3c\xee\x99\x06\xe4\x9e\x71\x44\xee\x49\x43\x72\xb9\x7a\x4e\xc9\xed\x23\xc7\xe4\xf2\xda\x9a\xde\x3c\x3e\x74\x50\x2e\xd7\x01\x39\x1c\x9f\x1b\x31\x2a\x77\xd2\x8e\xf3\x49\xcf\x97\x3f\x30\xf7\xb9\x26\x16\xbe\x84\xb1\xb9\x51\xb4\x64\x47\xe7\xbe\xd0\xe1\xb9\x11\xe3\x11\x27\x07\xe8\x9e\x3a\x42\x97\xeb\x04\xd9\xff\x8b\x21\xba\x93\x1c\xcc\x0c\xd2\x7d\x71\xa3\x74\x9f\x7f\xe4\x60\xfd\xa0\xcf\x38\xfa\xbf\x46\x71\xcc\x35\x76\xf4\xf7\x28\x7e\xf5\xde\x17\x29\x7a\x61\xd1\xac\x47\x7e\x92\xd2\x83\xc2\xc1\xad\xee\x0b\xbe\xf8\xb1\x60\x7b\xcb\x23\x39\x89\x9f\xed\x75\x4f\x01\xc2\xf9\x3b\x05\x95\x75\xda\xb0\x55\x2a\xb1\x3a\x0a\x29\xc9\xa9\x1d\xf2\xcb\xc3\xef\xf7\x5e\x84\x28\x9b\x3e\xc8\xf3\x3f\x0b\xad\x42\xd1\x62\xe7\xf0\xcb\xaf\x67\x10\x9b\x0b\x29\x09\xf7\x37\xff\x1b\x00\x00\xff\xff\x29\xb8\x8e\x7c\xf7\x38\x00\x00") +var _configCrdsKudoDev_operatorversionsYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5c\xdd\x8f\xdc\x38\x72\x7f\x9f\xbf\xa2\x30\xfb\xe0\xdb\xc5\xb4\xfa\xbc\xce\x21\xc1\xbc\xf9\xec\xdb\x60\xb2\x3e\xdb\xf0\xd8\x17\x04\x9b\x05\xcc\x16\xab\xbb\x79\x43\x91\x0a\x49\x75\xbb\xb3\xb8\xff\x3d\xa8\x22\x29\xf5\x87\xa4\xd6\xcc\x78\x36\x3e\xbd\xd8\xa3\x8f\x62\x55\xb1\xbe\xf9\x43\x5f\xcc\x66\xb3\x0b\x51\xab\xbf\xa1\xf3\xca\x9a\x6b\x10\xb5\xc2\x2f\x01\x0d\xfd\xe5\x8b\xbb\x7f\xf3\x85\xb2\xf3\xcd\xf3\x05\x06\xf1\xfc\xe2\x4e\x19\x79\x0d\xaf\x1a\x1f\x6c\xf5\x01\xbd\x6d\x5c\x89\xaf\x71\xa9\x8c\x0a\xca\x9a\x8b\x0a\x83\x90\x22\x88\xeb\x0b\x00\x61\x8c\x0d\x82\x6e\x7b\xfa\x13\xa0\xb4\x26\x38\xab\x35\xba\xd9\x0a\x4d\x71\xd7\x2c\x70\xd1\x28\x2d\xd1\xf1\x0a\x79\xfd\xcd\x1f\x8b\x17\xc5\x1f\x2f\x00\x4a\x87\xfc\xf9\x47\x55\xa1\x0f\xa2\xaa\xaf\xc1\x34\x5a\x5f\x00\x18\x51\xe1\x35\xd8\x1a\x9d\x08\xd6\xa5\x2f\x7d\x71\xd7\x48\x5b\x48\xdc\x5c\xf8\x1a\x4b\x5a\x73\xe5\x6c\x53\x5f\x43\x7b\x3f\x7e\x99\xd8\x89\xa2\xbc\x4b\x44\x92\xf8\xfc\x44\x2b\x1f\x7e\xee\x7b\xfa\x46\xf9\xc0\x6f\xd4\xba\x71\x42\x9f\xb2\xc0\x0f\xbd\x32\xab\x46\x0b\x77\xf2\xf8\x02\xc0\x97\xb6\xc6\x6b\x78\x4b\x6c\xd4\xa2\x44\x79\x01\xb0\x11\x5a\x49\x96\x34\x32\x66\x6b\x34\x2f\xdf\xdf\xfc\xed\xc5\x6d\xb9\xc6\x4a\xc4\x9b\x00\x12\x7d\xe9\x54\xcd\xef\x1d\x33\x06\xca\x43\x58\x23\xc4\x2f\x60\x69\x1d\xff\x79\xcc\x1e\xbc\x7c\x7f\x53\x24\x72\xb5\xa3\xa7\x41\x65\x75\xd0\xb5\x67\x06\xed\xbd\xa3\x85\x9f\x11\x67\x69\x51\x49\x1b\x8f\x71\xe5\xb4\x04\x4a\xf0\x91\x07\xbb\x84\xb0\x56\x1e\x1c\xd6\x0e\x3d\x9a\x68\x0a\x7b\x64\x81\x5e\x11\x06\xec\xe2\xef\x58\x86\x02\x6e\x91\xf9\x04\xbf\xb6\x8d\x96\x64\x2d\x1b\x74\x01\x1c\x96\x76\x65\xd4\xff\xb6\x94\x3d\x04\xcb\x4b\x6a\x11\x30\xed\x47\xbe\x94\x09\xe8\x8c\xd0\xa4\xd3\x06\xaf\x40\x18\x09\x95\xd8\x81\x43\x5a\x03\x1a\xb3\x47\x8d\x5f\xf1\x05\xfc\xd5\x3a\x04\x65\x96\xf6\x1a\xd6\x21\xd4\xfe\x7a\x3e\x5f\xa9\x90\x0d\xbf\xb4\x55\xd5\x18\x15\x76\x73\x36\x5f\xb5\x68\x82\x75\x7e\x2e\x71\x83\x7a\xee\xd5\x6a\x26\x5c\xb9\x56\x01\xcb\xd0\x38\x9c\x8b\x5a\xcd\x98\x71\xc3\x76\x5f\x54\xf2\x3b\x97\xbc\xc4\x3f\xdb\xe3\x34\xec\xc8\x0a\x7c\x70\xca\xac\xda\xdb\x6c\x90\x83\x7a\x27\x83\xa4\x6d\x16\xe9\xb3\xc8\x7f\xa7\x5e\xba\x45\x5a\xf9\xf0\x97\xdb\x8f\x90\x17\xe5\x2d\x38\xd4\x39\x6b\xbb\xfb\xcc\x77\x8a\x27\x45\x29\xb3\x44\x17\x37\x6e\xe9\x6c\xc5\x14\xd1\xc8\xda\x2a\x13\xf8\x8f\x52\x2b\x34\x87\x4a\xf7\xcd\xa2\x52\x81\x76\xfa\x7f\x1a\xf4\x81\xf6\xa7\x80\x57\xec\xfe\xb0\x40\x68\x6a\x29\x02\xca\x02\x6e\x0c\xbc\x12\x15\xea\x57\xc2\xe3\x93\xab\x9d\x34\xec\x67\xa4\xd2\xf3\x8a\xdf\x8f\x5a\x87\x2f\x46\x6d\xb5\xb7\x73\x5c\xe9\xdd\xa1\x23\x97\xbc\xad\xb1\x3c\xf0\x10\x89\x5e\x39\xb2\xe2\x20\x02\x92\xed\x1f\x7d\x50\xec\x11\xee\x73\xce\xe8\xa0\x75\x8f\x83\x0e\x0a\x06\x31\xea\x1a\x2c\x89\xc5\x5b\x7e\x78\xfc\xe1\x81\x0c\xaf\x8e\x5e\x6e\x05\x10\x10\xb0\xaa\xc9\xe3\x64\xb6\xbf\xb0\x16\x01\x4a\x61\x60\x81\x47\x24\x01\x1a\x8f\x92\xdc\x34\x2d\x4e\xff\x15\x06\x94\xf1\x41\x98\x12\x63\x6c\xc0\x56\x01\xc5\x54\x59\x72\x3c\x1b\x95\xe1\xd9\x3b\xde\xb4\x0f\xb8\x44\x87\xb4\x1a\x59\x90\x50\xc6\x03\x1a\xdb\xac\xd6\x6c\x74\xae\xe2\x70\x44\x8c\x69\x0c\xb0\xb3\xcd\x89\x0c\xca\xd0\x76\x07\xb0\x0e\x2a\x2b\xd5\x72\xc7\x3c\x3b\x22\x4b\xdb\x98\xc3\xd6\x6c\x36\x83\xb7\xb8\x25\x91\x7d\x1b\xf4\x48\x02\x10\xee\x54\x31\x52\xf9\xd2\x36\x4e\xac\x50\xc2\x02\x4b\xd1\x78\xd6\x86\x54\xcb\xa5\x2a\x1b\x1d\x76\x49\x96\x05\x69\x98\x9c\xaa\xf1\x62\x85\xb0\x5d\xa3\x01\xac\x16\x28\x25\xa7\x8c\x63\x4e\x29\xb0\xfb\x02\xe0\x79\x01\x37\x2b\x63\x89\xbf\xa5\x42\x2d\xe9\xde\x4d\x00\x65\x4a\xdd\x48\x24\x17\x37\xbb\xf4\x04\xb6\x6b\x55\xae\x89\x49\x30\x36\x9c\xd0\x5c\xa1\x41\x27\xb4\xde\xc1\xda\x32\xc1\x02\xe0\x27\xeb\xda\x3d\xbc\x82\x9c\xfe\x73\x36\xa0\x58\xfb\x13\x91\x7e\x2f\xc2\xba\x57\xf8\x85\x0d\x6b\x4a\x14\x3b\x70\xc2\xa1\xde\xc5\xcc\x47\xec\x8b\x32\x34\x42\x47\x61\x0b\x80\x1f\x29\x58\xc4\x87\x51\xfe\x35\xea\x9a\x45\x39\x95\xdd\x83\xaa\x6a\xeb\xbd\x5a\x68\x64\x3b\x93\x92\xfd\x54\x2d\x55\xc9\xdf\x71\x36\x54\x46\xaa\x8d\x92\xfb\x8b\xdc\x18\xa8\xac\x3f\xa5\x98\xd5\x1c\x5f\xf4\x57\xb4\xed\x8e\x77\x13\x6a\xe1\x02\x6d\x93\x70\xfc\xa6\x43\xb2\x51\x76\x17\x0f\x5a\xdd\xe1\x15\x5c\x56\x4d\x0f\x49\x36\x1a\xb0\x46\xef\x38\x77\x51\x68\x82\x97\xac\xb0\x3f\x5f\x92\x7d\x5d\x7e\xba\x79\x4d\xbb\x90\x75\x1d\x6f\x52\xad\x02\x44\xaf\xcf\xc3\xf2\xda\x28\x2f\x0b\xbe\xf1\x71\x6d\x3d\x92\x3f\xa6\xb0\xbb\x45\xad\xb3\x31\xa1\x3c\xb4\xa0\x02\xe0\xc5\xb1\xd3\x91\x42\x4a\x6b\xbc\xf2\x01\x4d\xd8\x2b\x4a\x0a\x80\x3f\x27\x4b\x25\x07\x88\x5a\x61\x75\x90\xd5\x92\x8f\x85\xab\x58\x02\xb4\x9f\x9c\x72\xdb\xe8\xe3\x6f\x60\xb1\x8b\xb4\xae\x92\x25\x56\xe2\x0e\x3d\xa8\x00\x6b\xe1\x24\x6f\x5a\xe3\x29\x2d\x05\x0b\xb5\x43\xa9\xca\x53\xbd\x6e\x29\x04\x6d\x95\xd6\xb0\x16\x75\x8d\xc4\xea\xbf\x14\xf0\x71\x8d\xd9\xc6\x69\x45\xb6\x3a\x55\xd5\x0e\x4b\xe5\x91\xb5\x6e\x37\xe8\xf4\x0e\xd2\xad\x02\x80\x92\x6b\x9f\x69\x91\x2e\x45\x7e\x0f\x2a\x51\xd7\x1c\xf9\x2c\x08\xf8\xf4\xe1\x0d\x2d\xa5\x3c\xc7\xc0\xda\x59\xd9\x94\x08\xa2\x5a\xa8\x55\xa3\xc2\x8e\x29\xc8\xe6\x24\x84\x41\xae\x52\x6a\x87\xb1\x24\x62\x8e\x28\x77\x2a\xb2\xb2\x98\xbf\xd3\x4a\x9d\x95\x42\x29\x7c\xb2\x45\x90\x58\xa3\x91\x68\xca\x5d\x1f\xcb\x14\xd4\xd6\x18\x4b\xdf\xab\xae\x0e\x68\x6a\x8d\xfc\x0a\xad\xb6\x57\xb0\xe5\x58\x9c\x3c\xd0\x07\xd7\xf4\x28\x9a\xbc\xcc\x39\xd4\xb8\x11\x26\x14\x00\x7f\x2a\xe0\x3f\x5b\x63\x43\xe1\x95\xde\x41\xb9\x16\x66\x85\xa0\xc2\x81\xc1\xa4\x60\xd8\x47\xb1\x75\x34\x65\x62\x60\xd2\xb6\x8c\xfd\xc2\x55\x2a\x1a\x52\xa9\x97\x03\x2a\x6f\x39\xed\xb6\x58\x2e\xb1\x87\x4b\xd3\x54\xe8\x6c\xe3\x73\xa1\x58\x00\xbc\xb6\xe6\xd9\xb3\xc0\xb6\x05\x06\xb7\x1c\x27\xe3\xc2\x94\x90\x1a\x23\xd1\xa5\x60\x81\x92\x1e\x9e\xd0\xe4\x85\xc3\x1a\x77\x20\x2d\x9b\x43\xea\x62\x28\x42\xf9\x80\x42\x92\x02\x1b\x1f\x13\x62\x62\xf4\x2a\xb6\x2e\xb4\x9b\x24\x92\xd6\xa7\x1b\x55\x3b\xbb\x51\x92\xb9\x90\x29\x5b\xc6\x85\x44\x20\xd5\x90\xf3\xce\x96\xb6\xe4\x27\xd6\x50\x7e\x72\x31\x8a\x50\x46\x2b\x28\x12\x9f\xc6\xad\x2f\xa2\xaa\x35\x5e\x71\x3d\xa7\x4a\x6c\x13\xa0\x67\x67\x12\xb2\x52\x9e\x77\xdc\xe1\x4a\xf9\xe0\x62\xc7\xb1\x5f\x7c\xad\x9b\x45\x51\xda\x6a\x4e\x9d\x99\x33\x18\xd0\x53\x65\x35\x5f\x68\xbb\x98\xd3\xe6\x0b\x8f\xb3\xe7\xc5\xf3\x7f\x9d\xb7\xb4\xf6\x49\xcd\x37\xcf\xe7\x1c\xda\x8a\x95\xfd\xee\xcd\x9f\x5e\xbc\x38\xe1\xb0\x78\x76\x71\xa2\x85\xde\x32\x07\x06\x7b\x91\x7c\x1d\x64\xfc\x97\xef\x6f\x8e\xcd\x39\xe9\x2a\x9c\x46\xb9\x91\xf2\x82\xae\x65\xce\x60\x67\x57\x7d\x76\xb3\x4c\xd5\x40\x1b\x13\x6a\x85\xb1\xba\x69\xdb\x1a\xce\x97\xc9\x4a\xc4\x69\x5c\xe4\x7d\x33\x81\x3c\x3f\xbe\x7f\x15\xad\x28\x95\x58\x5d\x2b\x44\x05\x0c\x88\x94\x30\xff\xe3\xf6\xdd\xdb\xf9\xbf\xdb\xc8\x6b\x2f\x4d\x51\x96\xe8\x7d\x2c\x35\x2b\x0e\xd0\xbe\xa1\x64\xef\x73\x15\x7a\x4b\x4f\x8a\x4a\x18\xb5\x44\x1f\x8a\xb4\x02\x3a\xff\xcb\x8f\xbf\xf6\xe9\x2c\x26\xff\xd6\xc4\x54\xd4\x72\xdb\x4c\xe4\x52\x4b\xf9\xa8\x88\x96\x1e\x6c\x55\x58\xab\x7e\xc1\x05\xd4\x56\x26\x81\xb7\x2c\x68\x20\x37\xb5\x49\xd0\x06\x39\xa7\x5e\xc3\x25\x79\xe8\x1e\x8b\xbf\x51\x62\xfc\xc7\x65\x2f\xcd\x3f\x6c\x39\x59\x73\xee\xbc\x8c\x8c\xb5\xfd\x22\xe7\xd3\x64\x1f\x1d\x83\xec\x72\xc1\xa9\xd5\x0a\x5d\x4f\x6d\x45\x17\x37\x41\xd4\x5c\x7c\x4f\x79\x59\x2d\xc1\xd8\x3d\x02\x4c\x96\xf6\xac\x8d\x23\xc7\x0c\xff\xf2\xe3\xaf\x03\xdc\x1e\xea\x89\xaa\x14\xfc\x02\x3f\x52\x40\x64\xad\xd4\x56\x7e\x9f\x92\x8c\xdf\x99\x20\xbe\xd0\x3a\x25\x25\x7a\xc3\xd5\x44\x3f\xb7\x16\xd6\x62\x83\xe0\x6d\x15\xab\x80\x59\x2c\xe2\x25\x6c\xc5\x8e\xe4\xcf\xdb\x45\x16\x26\xb8\xa6\x39\xec\xc4\x7b\xa9\x7e\x7c\xf7\xfa\xdd\x75\xe4\x8a\x4c\x68\x65\x72\x7a\x5c\x2a\xea\xb7\x63\x56\xa1\xae\x91\x6c\x92\xd5\xd1\x44\xe3\xa0\x2e\x80\x33\x43\x2f\x59\x15\xb3\xd5\xb2\xa1\x3e\xee\x24\x3e\xc0\x39\x6f\x3d\x6e\x99\xf3\xd5\xd3\x3a\x1f\x07\x86\xff\xa7\x06\x74\x92\x58\x3c\xdf\x3a\x2b\xd6\xdb\x3d\x7b\x1e\x15\xab\x8b\xe7\x24\x99\xb4\xa5\x27\xa1\x4a\xac\x83\x9f\x53\x29\xb4\x51\xb8\x9d\x6f\xad\xbb\x53\x66\x35\x23\x43\x9c\x45\x4b\xf0\x73\x1e\x97\xcd\xbf\xe3\x7f\x1e\x24\x05\x0f\xb9\xa6\x89\xc2\xaf\xfe\x1e\xf2\xd0\x3a\x7e\x7e\x6f\x71\xdc\x61\xbf\x73\x5e\xa8\xdb\xdc\x85\x1c\x7d\x49\x2e\x11\x4b\xde\x34\x20\xeb\xa2\x67\xaf\x8f\x54\x42\xc6\x90\x2b\xcc\xee\xc9\xcd\x96\x14\xd9\x38\xe2\x67\x37\x4b\xa5\xce\x4c\x18\x39\x6b\x5b\x83\x72\x77\x6f\xcd\x35\x6a\x82\x93\x52\x0b\xf4\xbb\x18\x73\xa3\xee\xed\x91\xbd\xc3\x20\xba\x6a\xe1\x44\x85\x01\xdd\x49\x01\xa3\x02\x56\x3d\x55\xcd\x81\xcc\xef\xf3\xd7\x50\x8a\x9a\x36\x24\x8d\x52\x85\x53\x62\xa1\x34\x75\x11\x31\x30\xf7\x0d\xa9\x0f\xaf\x05\xf2\xc0\x80\x9b\xf3\xa0\x78\x4c\x43\x05\x43\x37\x73\x39\x8d\xea\x63\xc5\x17\x31\xba\x14\x8d\x0e\x7d\x8f\x8e\xa4\x78\x1d\xdf\x8c\xb3\xc9\xf4\x59\xca\xdf\x31\x55\xb6\x4a\xa2\x57\x72\xe1\xdb\x4b\x17\xa8\x29\x24\x15\x0c\x73\x0d\xe7\x8c\xed\x90\xbb\x29\xec\xb7\x7f\x74\xdb\x40\x85\xbb\x59\xa1\xdb\x7f\x95\xf6\x62\x6d\xb7\x03\x8c\x13\xd7\x9d\xa0\xdc\xa5\x2c\x90\x2b\xfb\x87\xc9\xa0\x7c\xad\xc5\xee\xed\x40\x22\x38\x96\xa1\x7b\x3b\x4d\xe4\x62\x4f\xb1\xd8\xc1\xa7\x1b\xff\x20\x06\x86\x52\xd0\xd1\xca\x97\x6f\x53\xf5\x43\xf2\xef\x0f\x06\x53\xe9\x9a\x39\x49\x79\x3e\x0f\x11\x07\x94\xb8\x54\x1a\xb9\x59\xd9\x2f\x34\x3f\xc7\xd3\x9e\x57\xef\x3e\xbd\xfd\xf8\x99\xa8\x98\xb6\xdf\xca\xbe\xa2\xc9\x62\x06\x68\x0a\x2e\xcc\x52\x29\xf9\xdf\x26\xce\x70\x39\x9c\xd7\x5a\x95\xc2\x5f\x03\xfc\xf6\x1b\x14\xec\x8b\xbe\xe0\x55\xe0\x1f\x03\xd5\xe5\x19\x9d\xa5\x26\xbe\x37\xd8\x1d\xe9\xed\x43\x7a\xb5\xad\x1a\x7d\xae\xa9\x0f\xbc\x25\x53\x84\x60\x87\x1c\x06\xbb\x5e\x72\xb1\x03\xa1\x75\xeb\x3c\xfe\x8a\xca\xd5\xed\x1a\xc3\x1a\xdd\x9e\x6f\x92\x85\xf8\x66\xb9\x54\xe3\xfe\xb5\xb0\x56\x63\x6f\xcf\x92\xaa\xe5\x09\x62\x7e\x8c\x6f\x82\x92\x94\x62\x58\x4c\x96\x51\x0b\x13\xcd\x64\x85\xc1\x03\x7e\xc1\xb2\x09\x69\x48\x35\xe8\x5f\x14\x3c\xba\x80\xc9\x25\xa5\xcf\x76\x75\xd3\x4e\x96\xd3\x54\x76\x2f\x28\x7d\x8e\xb3\x84\xcf\x03\x84\x29\xaf\x46\x86\xb8\x04\x67\xae\xb8\xa4\xc7\x2f\xca\x07\xd2\x21\xa9\x6f\xab\x3c\x82\x0a\xcf\x3c\x7c\x96\x58\x6b\xbb\xfb\xfc\x20\xaf\xe2\xb0\x38\xe3\x97\x26\x28\x6f\x57\xe3\x9e\x7d\xa4\x11\x5b\x83\xbc\x48\x2b\x22\xb7\x37\x9f\xe3\x8a\x0f\x61\x6a\x30\xb7\xe5\x47\xc2\x39\x71\xd8\x69\x90\xb6\x4e\x92\x86\x90\x92\xcf\x80\x85\x7e\x3f\x92\x58\x0e\xf3\x1f\x69\xbd\x13\x50\x80\x47\xa7\xe2\x14\xfd\xfd\x5a\x78\x96\x99\x76\x03\xe3\x61\xc2\x82\xda\x36\x0a\x0b\xa1\x2f\xa8\x8e\xa7\xb3\x9a\xe9\x4d\x50\x7a\x5a\xb8\x12\x35\x31\xc4\x9f\x45\x73\xe0\xbe\x96\x9f\x8e\xf6\x49\x03\x79\x7f\x68\xa5\x03\xf1\xb5\xf2\xdc\x8a\xf9\x80\x75\x92\x3d\xb7\xfe\x3f\xb7\x55\xcf\x00\xe9\x7c\xb2\x37\x10\xed\xcf\xe9\x27\x5e\xc3\x41\x3f\x5e\x67\xac\x3b\x5e\xcc\xfd\x18\x95\x03\x2d\xdc\xb2\xac\x49\xdd\xf4\xe9\x9e\xb6\xb3\x3e\xda\xa3\xa7\x11\xa2\xb0\xa7\xa2\xac\x0a\xf0\x81\x8f\x42\x44\x77\x6a\x3a\xa4\x1d\x38\xb7\x75\x03\xac\xef\x1d\x90\xb5\x87\x0e\x1e\x99\xeb\x78\x58\xd5\xa2\x02\x86\x2f\xde\x68\x5b\x96\xcd\xc9\x41\xd8\xe1\x35\x65\x07\xe3\x75\x6e\x1f\xd3\xba\x53\x76\x33\xbd\x2a\xfc\xdd\xd9\x55\x27\x69\xf0\xde\x4b\x0f\x87\xa1\xfe\xf7\x7a\x23\xd9\x7d\xc9\xf1\x4c\x13\x57\xbb\xc9\x66\xfc\xce\x49\x8c\x23\xbb\xd6\x9f\xd7\x76\x1b\xab\xa2\x66\xc1\x7a\xc9\x53\x9d\xf1\x3d\xd6\xc2\xcc\x63\xd4\xe9\x2a\x28\x06\xcd\x48\xb0\xcd\x40\xcc\xd9\x97\x6b\x54\xa7\x67\x35\x64\x1a\xad\xa9\x9c\xba\x86\xe0\x9a\xfe\x2a\x6d\x5c\x7d\xe3\x8a\x7b\xa8\xca\xf6\xd4\x32\x20\xd9\x74\x65\x3d\x34\x19\x9e\x64\xae\x2e\x49\x50\x1a\xeb\xa2\x16\xfd\x79\xbc\xf4\xa8\x5e\x07\x17\xed\xf5\xba\x03\x3e\xde\xa4\x08\x49\x65\x1f\xbf\x0d\x62\x23\x94\x4e\x15\x71\xd4\xdd\x08\xcc\x00\x26\x36\xaa\x1f\x85\xbf\x8b\xfd\xdd\x4a\xdb\x85\xd0\x57\x50\x5b\xbd\xab\xac\xab\xd7\xaa\x04\x45\x39\xb9\xca\x08\x9f\xcc\x4e\xdd\x2c\xb4\x2a\x7b\x67\x94\x1d\x8f\xcc\xf3\x3d\x53\xf9\xd0\xcc\xef\x11\x2d\xcd\x99\x0f\x8f\x61\x1f\x23\x5a\x62\xd4\x07\x9f\x2f\xf9\xa8\x85\xf6\x64\x9a\x54\x48\x84\x7c\x1a\xe8\x0a\xad\xed\x76\x28\x18\x34\x71\x8e\xbe\xb1\x4a\xc2\xd6\x29\x06\xf7\x94\x0c\xba\x83\xc6\xcc\x2b\xe1\xfc\x5a\x68\xcd\xb3\x6d\x3e\x02\x65\xe3\xe7\xf3\xe5\x5a\xb8\x41\x27\x29\xd1\x71\x31\x91\x0e\x47\xe3\x39\x22\x91\x4e\x67\x86\xcc\xe3\xcf\xca\xc8\x78\x86\x2a\xed\xd6\x78\x25\x31\xa3\x1a\x86\x1a\xac\xba\x76\x56\x94\x6b\x50\x7c\x3e\x29\x42\x77\xb0\x17\x4f\xba\xa9\xdf\xe0\xc3\x6d\xb1\x69\x0f\x66\x53\xad\x3d\xe8\xce\xe4\x4d\x7f\xf7\x36\xfa\x95\xa7\x0c\xae\xb2\x98\x0b\x2c\x6d\x95\x4f\x5a\x6d\xe3\x5b\xb4\x5b\xea\x6f\x86\xea\x1f\x52\x8c\xe3\x73\xcb\x4a\xad\xd6\x01\x1c\x6e\x94\x57\x21\x3a\x49\x27\xc4\xfe\x40\x3a\x85\x95\xb1\x96\x24\x73\x63\x40\x79\xdf\x0c\x34\x54\xe7\x33\xf7\x30\xb0\xa7\xbb\x0e\x8c\x6d\xaf\xde\x10\x75\xdd\x1e\x7f\x25\xf6\x2d\x75\x77\x4a\x68\xea\x72\xed\xd5\x68\x12\xeb\x9a\x08\xfa\x90\xcf\x9a\x1d\x96\xc7\x18\xaf\x03\xb9\xcf\x27\x1a\x69\xcd\x48\x01\x72\xae\xbf\xa4\x6b\x29\x82\xd0\x8f\x23\x91\xfb\xe0\xe1\x21\xca\x44\x69\xec\x61\x04\xbd\xff\x0e\x65\x02\x4f\xb1\x4d\x60\xcd\x90\x17\x4d\x12\xae\x16\xe5\x9d\x58\x8d\x28\xe8\x40\x28\x54\x3c\x4c\x20\x7e\xf3\x97\xec\xa2\x57\xf1\xa4\xbb\xbd\xb7\xb4\x5a\xe2\xe9\x19\xf5\x9e\x4e\x1d\xf9\xcc\xa7\x0f\x6f\x18\xdf\x91\xbe\x0a\xc2\x2d\x84\xd6\x45\x02\x4e\x74\x7a\xe3\xad\xd4\x9a\x13\xcc\x98\x9e\xee\x1a\x69\xcb\xa0\xe3\xfc\xcd\xa1\xb7\x7a\x83\x69\xaa\x12\x57\xc8\xe8\x0f\x47\x71\xad\x3b\xb0\x1a\x21\x99\x23\x55\x26\x27\x3b\xae\x48\xf0\xe1\x8a\x6c\x92\xee\xd3\x3c\xe3\x51\xe6\xd9\x52\xf9\x49\xe9\xa9\xfb\xb8\x7f\x16\x9a\xdb\xab\x38\x7e\xfb\x03\xa3\x30\xba\x91\xdd\xe7\xfc\xd8\x0f\x4d\x50\xe8\x8a\xfb\xfd\x7d\x04\x8d\xe6\xc3\x0d\x84\x1f\x6a\xe1\xd0\x84\x1f\x3a\xe8\x5f\xc4\x95\x05\xee\x98\x5a\xc6\xc7\x08\x13\x4f\x19\x4e\x58\xdb\xba\x61\x4e\x99\x76\xb9\x56\x5a\xfe\xd0\xce\x7e\x0a\xca\xbd\x45\x3b\x53\x1f\xae\xb3\xa7\xa8\x54\x0d\x4d\x68\x60\x4a\x9b\x73\x58\x2b\xaa\x1a\x13\x18\x34\x82\xb1\x62\x9d\x2b\xa2\x68\x59\x1f\x12\x16\xe3\xdd\x8d\x60\x42\xb9\x12\xcb\x9d\x2d\x43\x87\xd2\xf9\xd1\x98\x15\x4f\xed\x1d\xd1\x6c\xc6\xad\x28\x5e\x93\xfb\xb7\xe5\xd7\x24\x76\x87\xa3\x0d\xd9\xfd\x68\x0d\x56\x91\xf7\x26\x36\xa9\xef\x9c\xd0\x59\xc1\xa4\xe6\xb4\xb6\x23\x7c\x4f\xe0\xb8\xc5\xa3\x3f\xc2\xbe\x27\x29\xe6\xab\x49\xbc\x15\x26\xfc\xc5\x9d\x8d\x91\x63\xc5\xc0\xe8\x16\x3d\x60\x02\xda\xc6\xc4\x87\x4d\x41\x47\xf4\x77\xd8\x51\xe4\x65\x62\xf3\x95\xe7\x61\xae\x43\x76\x05\x0b\xff\xf5\xf2\xaf\x6f\x3a\x86\x20\x85\xef\x93\x35\x8f\x4e\x60\x7c\x0a\xd9\x1c\x42\xe8\xc6\x1e\xbe\x4c\x26\xec\x3f\x35\x67\xfd\xd8\xec\x1e\x65\x35\xf5\xca\x09\x49\x1b\xfe\x93\xb3\xd5\x68\xd7\xfa\xe9\xe0\x55\x16\x2b\x76\x4b\x47\xad\xaa\xef\x30\xe6\x91\xfa\xa9\x15\x65\x7c\xe0\x57\x68\x72\xbf\x16\x6e\xfc\xf1\xc8\xf1\xbe\x96\x99\xa1\xb3\x0f\xc6\x8e\xf7\x50\xdc\x47\x5f\x3e\x14\x3d\x3e\xc0\x28\x35\x7b\x8f\xc4\x8f\x0f\x50\x7e\x0a\x04\xf9\x53\x60\xc8\x9f\x04\x45\xfe\x68\x1c\x79\x0f\xc5\x05\x3e\x05\x92\xfc\xd1\x58\xf2\x1e\x8a\x1d\x91\x87\xa1\xc9\x7b\x48\x1e\xe3\xcb\x1f\x82\x27\xef\x33\xd4\x21\x84\xf9\x54\x44\x79\x0f\xcd\x73\x18\xf3\xf3\x98\xf2\x1e\xa2\x13\x51\xe6\x83\xa8\xf2\x1e\x92\xf7\xc3\x99\xf7\xe0\xca\x7b\x68\xde\x0f\x69\xde\x87\x2c\xef\x21\x7a\x4f\xac\xf9\x30\xb6\xbc\x57\xaf\x13\xd1\xe6\xc3\xe8\xf2\x5e\x97\x9a\x8e\x37\x1f\xc0\x97\xf7\x6d\xd8\x74\xc4\xf9\x08\xc2\xbc\x87\xf0\x37\x82\x39\xef\x41\x9d\x9f\xeb\x86\xc6\x91\xe7\x8f\xc3\x9e\x9f\xad\x9d\x47\xf1\xe7\x8f\x44\xa0\x0f\xcd\x1e\xcd\xc3\x31\xe8\x43\xd3\x3b\x46\x01\x3f\x01\x0a\xfd\x29\x70\xe8\x4f\x83\x44\x7f\x22\x2c\xfa\x13\xa2\xd1\x1f\x85\x47\x1f\x1a\x9d\xa6\x5a\xe5\x01\x88\xf4\x61\x6b\xcd\x05\xf4\x7d\x31\xe9\x43\x87\x0d\xc7\x48\xf5\x09\xa8\xf4\xb3\x7e\x3c\x3c\x5f\xf8\xf6\xb1\xe9\x5f\x0b\x1c\xf8\x2d\x20\xd4\x27\xc9\x32\x88\x52\xff\x46\x71\xea\x13\x90\x88\x67\xb1\xea\x8f\x45\xab\x0f\x1d\xba\xf8\x7f\x0a\xbc\xfa\x59\x0d\x0e\x60\xd6\xbf\x39\xd4\xfa\xd7\x47\xf7\x6d\xee\xf5\x03\x03\xfd\xbf\x93\x10\x44\x68\xfc\xe4\x5f\x4a\xe0\xb7\x0f\x7e\x2b\xc1\x2e\x3c\xba\xcd\xc4\x1f\x4b\xe8\x61\xe1\xe8\x56\xf7\xdb\x32\xe9\x67\x6c\xda\x5b\xcc\xe4\x2c\xfd\xa0\x4c\xf7\x14\x20\xae\xbf\x37\xbb\xf4\xc1\x3a\xb1\xca\xd3\xcc\x4e\x42\x2a\x72\xea\x80\xf2\xed\xf1\x2f\xcb\x5c\xc6\x2c\x9b\x7f\x2a\x86\xff\x2c\xad\x89\xf3\x41\x7f\x0d\xbf\xfc\x7a\x01\x69\x8e\x9f\xe7\x5d\x7c\xf3\xff\x02\x00\x00\xff\xff\xe0\x76\x9e\x71\x91\x47\x00\x00") func configCrdsKudoDev_operatorversionsYamlBytes() ([]byte, error) { return bindataRead( diff --git a/pkg/kudoctl/kudoinit/crd/crds.go b/pkg/kudoctl/kudoinit/crd/crds.go index 1fecfeceb..16bfcb37f 100644 --- a/pkg/kudoctl/kudoinit/crd/crds.go +++ b/pkg/kudoctl/kudoinit/crd/crds.go @@ -2,6 +2,7 @@ package crd import ( + "context" "fmt" "os" @@ -78,7 +79,7 @@ func (c Initializer) Install(client *kube.Client) error { } func (c Initializer) verifyInstallation(client v1beta1.CustomResourceDefinitionsGetter, crd *apiextv1beta1.CustomResourceDefinition, result *verifier.Result) error { - existingCrd, err := client.CustomResourceDefinitions().Get(crd.Name, v1.GetOptions{}) + existingCrd, err := client.CustomResourceDefinitions().Get(context.TODO(), crd.Name, v1.GetOptions{}) if err != nil { if os.IsTimeout(err) { return err @@ -97,7 +98,7 @@ func (c Initializer) verifyInstallation(client v1beta1.CustomResourceDefinitions } func (c Initializer) install(client v1beta1.CustomResourceDefinitionsGetter, crd *apiextv1beta1.CustomResourceDefinition) error { - _, err := client.CustomResourceDefinitions().Create(crd) + _, err := client.CustomResourceDefinitions().Create(context.TODO(), crd, v1.CreateOptions{}) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("crd %v already exists", crd.Name) return nil diff --git a/pkg/kudoctl/kudoinit/manager/manager.go b/pkg/kudoctl/kudoinit/manager/manager.go index b74d36e2d..b4007bac7 100644 --- a/pkg/kudoctl/kudoinit/manager/manager.go +++ b/pkg/kudoctl/kudoinit/manager/manager.go @@ -1,6 +1,7 @@ package manager import ( + "context" "fmt" appsv1 "k8s.io/api/apps/v1" @@ -61,7 +62,12 @@ func (m Initializer) Install(client *kube.Client) error { } func (m Initializer) installStatefulSet(client appsv1client.StatefulSetsGetter) error { - _, err := client.StatefulSets(m.options.Namespace).Create(m.deployment) + opts := metav1.CreateOptions{} + + _, err := client.StatefulSets(m.options.Namespace).Create( + context.TODO(), + m.deployment, + opts) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("statefulset %v already exists", m.deployment.Name) return nil @@ -73,7 +79,12 @@ func (m Initializer) installStatefulSet(client appsv1client.StatefulSetsGetter) } func (m Initializer) installService(client corev1.ServicesGetter) error { - _, err := client.Services(m.options.Namespace).Create(m.service) + opts := metav1.CreateOptions{} + + _, err := client.Services(m.options.Namespace).Create( + context.TODO(), + m.service, + opts) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("service %v already exists", m.service.Name) return nil diff --git a/pkg/kudoctl/kudoinit/prereq/namespace.go b/pkg/kudoctl/kudoinit/prereq/namespace.go index 717e57d2d..3fadabb19 100644 --- a/pkg/kudoctl/kudoinit/prereq/namespace.go +++ b/pkg/kudoctl/kudoinit/prereq/namespace.go @@ -1,6 +1,7 @@ package prereq import ( + "context" "fmt" v1 "k8s.io/api/core/v1" @@ -36,7 +37,7 @@ func (o KudoNamespace) String() string { func (o KudoNamespace) PreInstallVerify(client *kube.Client, result *verifier.Result) error { // We only manage kudo-system namespace. For others we expect they exist. if !o.opts.IsDefaultNamespace() { - _, err := client.KubeClient.CoreV1().Namespaces().Get(o.opts.Namespace, metav1.GetOptions{}) + _, err := client.KubeClient.CoreV1().Namespaces().Get(context.TODO(), o.opts.Namespace, metav1.GetOptions{}) if err != nil { if kerrors.IsNotFound(err) { result.AddErrors(fmt.Sprintf("Namespace %s does not exist - KUDO expects that any namespace except the default %s is created beforehand", o.opts.Namespace, kudoinit.DefaultNamespace)) @@ -49,7 +50,7 @@ func (o KudoNamespace) PreInstallVerify(client *kube.Client, result *verifier.Re } func (o KudoNamespace) Install(client *kube.Client) error { - _, err := client.KubeClient.CoreV1().Namespaces().Create(o.ns) + _, err := client.KubeClient.CoreV1().Namespaces().Create(context.TODO(), o.ns, metav1.CreateOptions{}) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("namespace %v already exists", o.ns.Name) return nil diff --git a/pkg/kudoctl/kudoinit/prereq/serviceaccount.go b/pkg/kudoctl/kudoinit/prereq/serviceaccount.go index f0fefe22d..f637132d3 100644 --- a/pkg/kudoctl/kudoinit/prereq/serviceaccount.go +++ b/pkg/kudoctl/kudoinit/prereq/serviceaccount.go @@ -1,6 +1,7 @@ package prereq import ( + "context" "fmt" v1 "k8s.io/api/core/v1" @@ -77,7 +78,7 @@ func (o KudoServiceAccount) Resources() []runtime.Object { // Validate whether the serviceAccount exists func (o KudoServiceAccount) validateServiceAccountExists(client *kube.Client, result *verifier.Result) error { coreClient := client.KubeClient.CoreV1() - saList, err := coreClient.ServiceAccounts(o.opts.Namespace).List(metav1.ListOptions{}) + saList, err := coreClient.ServiceAccounts(o.opts.Namespace).List(context.TODO(), metav1.ListOptions{}) if err != nil { return fmt.Errorf("failed to retrieve list of service accounts from namespace %v: %v", o.opts.Namespace, err) } @@ -93,7 +94,7 @@ func (o KudoServiceAccount) validateServiceAccountExists(client *kube.Client, re // Validate whether the serviceAccount has cluster-admin role func (o KudoServiceAccount) validateClusterAdminRoleForSA(client *kube.Client, result *verifier.Result) error { // Check whether the serviceAccount has clusterrolebinding cluster-admin - crbs, err := client.KubeClient.RbacV1().ClusterRoleBindings().List(metav1.ListOptions{}) + crbs, err := client.KubeClient.RbacV1().ClusterRoleBindings().List(context.TODO(), metav1.ListOptions{}) if err != nil { return fmt.Errorf("failed to retrieve list of role bindings: %v", err) } @@ -112,7 +113,7 @@ func (o KudoServiceAccount) validateClusterAdminRoleForSA(client *kube.Client, r func (o KudoServiceAccount) installServiceAccount(client *kube.Client) error { coreClient := client.KubeClient.CoreV1() - _, err := coreClient.ServiceAccounts(o.opts.Namespace).Create(o.serviceAccount) + _, err := coreClient.ServiceAccounts(o.opts.Namespace).Create(context.TODO(), o.serviceAccount, metav1.CreateOptions{}) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("service account %v already exists", o.serviceAccount.Name) return nil @@ -121,7 +122,7 @@ func (o KudoServiceAccount) installServiceAccount(client *kube.Client) error { } func (o KudoServiceAccount) installRoleBinding(client *kube.Client) error { - _, err := client.KubeClient.RbacV1().ClusterRoleBindings().Create(o.roleBinding) + _, err := client.KubeClient.RbacV1().ClusterRoleBindings().Create(context.TODO(), o.roleBinding, metav1.CreateOptions{}) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("role binding %v already exists", o.roleBinding.Name) return nil diff --git a/pkg/kudoctl/kudoinit/prereq/webhook.go b/pkg/kudoctl/kudoinit/prereq/webhook.go index 66ed50ff6..f66bc820a 100644 --- a/pkg/kudoctl/kudoinit/prereq/webhook.go +++ b/pkg/kudoctl/kudoinit/prereq/webhook.go @@ -1,6 +1,7 @@ package prereq import ( + "context" "fmt" "strings" @@ -178,7 +179,7 @@ func (k *KudoWebHook) detectCertManagerVersion(client *kube.Client, result *veri func detectCertManagerCRD(extClient clientset.Interface, api certManagerVersion) (string, string, error) { testCRD := fmt.Sprintf("certificates.%s", api.group) clog.V(4).Printf("Try to retrieve cert-manager CRD %s", testCRD) - crd, err := extClient.ApiextensionsV1().CustomResourceDefinitions().Get(testCRD, metav1.GetOptions{}) + crd, err := extClient.ApiextensionsV1().CustomResourceDefinitions().Get(context.TODO(), testCRD, metav1.GetOptions{}) if err == nil { // crd.Spec.Versions[0] must be the one that is stored and served, we should use that one clog.V(4).Printf("Got CRD. Group: %s, Version: %s", api.group, crd.Spec.Versions[0].Name) @@ -218,7 +219,7 @@ func (k *KudoWebHook) validateCertManagerInstallation(client *kube.Client, resul // A couple extra checks, checking for cert manager, detection requires the label app=cert-manager which is the // default according to k8s.io docs. - deployments, err := client.KubeClient.AppsV1().Deployments("").List(metav1.ListOptions{ + deployments, err := client.KubeClient.AppsV1().Deployments("").List(context.TODO(), metav1.ListOptions{ LabelSelector: "app=cert-manager", }) if err != nil { @@ -251,7 +252,7 @@ func (k *KudoWebHook) validateCertManagerInstallation(client *kube.Client, resul } func validateCrdVersion(extClient clientset.Interface, crdName string, expectedVersion string, result *verifier.Result) error { - certCRD, err := extClient.ApiextensionsV1().CustomResourceDefinitions().Get(crdName, metav1.GetOptions{}) + certCRD, err := extClient.ApiextensionsV1().CustomResourceDefinitions().Get(context.TODO(), crdName, metav1.GetOptions{}) if err != nil { if kerrors.IsNotFound(err) { result.AddErrors(fmt.Sprintf("failed to find CRD '%s': %s", crdName, err)) @@ -274,7 +275,7 @@ func installUnstructured(dynamicClient dynamic.Interface, item *unstructured.Uns Group: gvk.Group, Version: gvk.Version, Resource: fmt.Sprintf("%ss", strings.ToLower(gvk.Kind)), // since we know what kinds are we dealing with here, this is OK - }).Namespace(item.GetNamespace()).Create(item, metav1.CreateOptions{}) + }).Namespace(item.GetNamespace()).Create(context.TODO(), item, metav1.CreateOptions{}) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("resource %s already registered", item.GetName()) } else if err != nil { @@ -284,7 +285,7 @@ func installUnstructured(dynamicClient dynamic.Interface, item *unstructured.Uns } func installAdmissionWebhook(client clientv1beta1.MutatingWebhookConfigurationsGetter, webhook admissionv1beta1.MutatingWebhookConfiguration) error { - _, err := client.MutatingWebhookConfigurations().Create(&webhook) + _, err := client.MutatingWebhookConfigurations().Create(context.TODO(), &webhook, metav1.CreateOptions{}) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("admission webhook %v already registered", webhook.Name) return nil @@ -293,7 +294,7 @@ func installAdmissionWebhook(client clientv1beta1.MutatingWebhookConfigurationsG } func installWebhookSecret(client kubernetes.Interface, secret corev1.Secret) error { - _, err := client.CoreV1().Secrets(secret.Namespace).Create(&secret) + _, err := client.CoreV1().Secrets(secret.Namespace).Create(context.TODO(), &secret, metav1.CreateOptions{}) if kerrors.IsAlreadyExists(err) { clog.V(4).Printf("webhook secret %v already exists", secret.Name) return nil diff --git a/pkg/kudoctl/kudoinit/setup/wait.go b/pkg/kudoctl/kudoinit/setup/wait.go index 9e5019e42..5ff93cd75 100644 --- a/pkg/kudoctl/kudoinit/setup/wait.go +++ b/pkg/kudoctl/kudoinit/setup/wait.go @@ -1,6 +1,7 @@ package setup import ( + "context" "errors" "time" @@ -51,7 +52,7 @@ func getKUDOPodImage(client corev1.PodsGetter, namespace string) (string, error) func getFirstRunningPod(client corev1.PodsGetter, namespace string, selector labels.Selector) (*v1.Pod, error) { //nolint:interfacer options := metav1.ListOptions{LabelSelector: selector.String()} - pods, err := client.Pods(namespace).List(options) + pods, err := client.Pods(namespace).List(context.TODO(), options) if err != nil { return nil, err } diff --git a/pkg/kudoctl/util/kudo/kudo.go b/pkg/kudoctl/util/kudo/kudo.go index a6f7dbef4..85b8493df 100644 --- a/pkg/kudoctl/util/kudo/kudo.go +++ b/pkg/kudoctl/util/kudo/kudo.go @@ -1,6 +1,7 @@ package kudo import ( + "context" "encoding/json" "fmt" "os" @@ -96,7 +97,7 @@ func NewClientFromK8s(kudo versioned.Interface, kube kubernetes.Interface) *Clie // OperatorExistsInCluster checks if a given Operator object is installed on the current k8s cluster func (c *Client) OperatorExistsInCluster(name, namespace string) bool { - operator, err := c.kudoClientset.KudoV1beta1().Operators(namespace).Get(name, v1.GetOptions{}) + operator, err := c.kudoClientset.KudoV1beta1().Operators(namespace).Get(context.TODO(), name, v1.GetOptions{}) if err != nil { clog.V(2).Printf("operator.kudo.dev %s/%s does not exist\n", namespace, name) return false @@ -107,7 +108,7 @@ func (c *Client) OperatorExistsInCluster(name, namespace string) bool { // OperatorVersionExistsInCluster checks if a given OperatorVersion object is installed on the current k8s cluster func (c *Client) OperatorVersionExistsInCluster(name, namespace string) bool { - operator, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).Get(name, v1.GetOptions{}) + operator, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).Get(context.TODO(), name, v1.GetOptions{}) if err != nil { clog.V(2).Printf("operatorversion.kudo.dev %s/%s does not exist\n", namespace, name) return false @@ -131,7 +132,7 @@ func (c *Client) OperatorVersionExistsInCluster(name, namespace string) bool { // kudo.dev/operator: kafka // This function also just returns true if the Instance matches a specific OperatorVersion of an Operator func (c *Client) InstanceExistsInCluster(operatorName, namespace, version, instanceName string) (bool, error) { - instances, err := c.kudoClientset.KudoV1beta1().Instances(namespace).List(v1.ListOptions{LabelSelector: fmt.Sprintf("%s=%s", label.OperatorLabel, operatorName)}) + instances, err := c.kudoClientset.KudoV1beta1().Instances(namespace).List(context.TODO(), v1.ListOptions{LabelSelector: fmt.Sprintf("%s=%s", label.OperatorLabel, operatorName)}) if err != nil { return false, err } @@ -176,7 +177,7 @@ func setGVKFromScheme(object runtime.Object) error { // GetInstance queries kubernetes api for instance of given name in given namespace // returns error for error conditions. Instance not found is not considered an error and will result in 'nil, nil' func (c *Client) GetInstance(name, namespace string) (*v1beta1.Instance, error) { - instance, err := c.kudoClientset.KudoV1beta1().Instances(namespace).Get(name, v1.GetOptions{}) + instance, err := c.kudoClientset.KudoV1beta1().Instances(namespace).Get(context.TODO(), name, v1.GetOptions{}) if apierrors.IsNotFound(err) { return nil, nil } @@ -190,7 +191,7 @@ func (c *Client) GetInstance(name, namespace string) (*v1beta1.Instance, error) // GetOperatorVersion queries kubernetes api for operatorversion of given name in given namespace // returns error for all other errors that not found, not found is treated as result being 'nil, nil' func (c *Client) GetOperatorVersion(name, namespace string) (*v1beta1.OperatorVersion, error) { - ov, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).Get(name, v1.GetOptions{}) + ov, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).Get(context.TODO(), name, v1.GetOptions{}) if apierrors.IsNotFound(err) { return nil, nil } @@ -204,7 +205,7 @@ func (c *Client) GetOperatorVersion(name, namespace string) (*v1beta1.OperatorVe // GetOperatorVersion queries kubernetes api for operator of given name in given namespace // returns error for all other errors that not found, not found is treated as result being 'nil, nil' func (c *Client) GetOperator(name, namespace string) (*v1beta1.Operator, error) { - o, err := c.kudoClientset.KudoV1beta1().Operators(namespace).Get(name, v1.GetOptions{}) + o, err := c.kudoClientset.KudoV1beta1().Operators(namespace).Get(context.TODO(), name, v1.GetOptions{}) if apierrors.IsNotFound(err) { return nil, nil } @@ -252,7 +253,7 @@ func (c *Client) UpdateInstance(instanceName, namespace string, operatorVersion if err != nil { return err } - _, err = c.kudoClientset.KudoV1beta1().Instances(namespace).Patch(instanceName, types.MergePatchType, serializedPatch) + _, err = c.kudoClientset.KudoV1beta1().Instances(namespace).Patch(context.TODO(), instanceName, types.MergePatchType, serializedPatch, v1.PatchOptions{}) if err != nil { return err } @@ -331,7 +332,7 @@ func (c *Client) IsInstanceByNameDone(name string, namespace string, oldInstance // ListInstances lists all instances of given operator installed in the cluster in a given ns func (c *Client) ListInstances(namespace string) ([]string, error) { - instances, err := c.kudoClientset.KudoV1beta1().Instances(namespace).List(v1.ListOptions{}) + instances, err := c.kudoClientset.KudoV1beta1().Instances(namespace).List(context.TODO(), v1.ListOptions{}) if err != nil { return nil, err } @@ -345,7 +346,7 @@ func (c *Client) ListInstances(namespace string) ([]string, error) { // OperatorVersionsInstalled lists all the versions of given operator installed in the cluster in given ns func (c *Client) OperatorVersionsInstalled(operatorName, namespace string) ([]string, error) { - ov, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).List(v1.ListOptions{}) + ov, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).List(context.TODO(), v1.ListOptions{}) if err != nil { return nil, err } @@ -361,7 +362,7 @@ func (c *Client) OperatorVersionsInstalled(operatorName, namespace string) ([]st // InstallOperatorObjToCluster expects a valid Operator obj to install func (c *Client) InstallOperatorObjToCluster(obj *v1beta1.Operator, namespace string) (*v1beta1.Operator, error) { - createdObj, err := c.kudoClientset.KudoV1beta1().Operators(namespace).Create(obj) + createdObj, err := c.kudoClientset.KudoV1beta1().Operators(namespace).Create(context.TODO(), obj, v1.CreateOptions{}) if err != nil { // we do NOT wrap timeouts if os.IsTimeout(err) { @@ -374,7 +375,7 @@ func (c *Client) InstallOperatorObjToCluster(obj *v1beta1.Operator, namespace st // InstallOperatorVersionObjToCluster expects a valid Operator obj to install func (c *Client) InstallOperatorVersionObjToCluster(obj *v1beta1.OperatorVersion, namespace string) (*v1beta1.OperatorVersion, error) { - createdObj, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).Create(obj) + createdObj, err := c.kudoClientset.KudoV1beta1().OperatorVersions(namespace).Create(context.TODO(), obj, v1.CreateOptions{}) if err != nil { // we do NOT wrap timeouts if os.IsTimeout(err) { @@ -387,7 +388,7 @@ func (c *Client) InstallOperatorVersionObjToCluster(obj *v1beta1.OperatorVersion // InstallInstanceObjToCluster expects a valid Instance obj to install func (c *Client) InstallInstanceObjToCluster(obj *v1beta1.Instance, namespace string) (*v1beta1.Instance, error) { - createdObj, err := c.kudoClientset.KudoV1beta1().Instances(namespace).Create(obj) + createdObj, err := c.kudoClientset.KudoV1beta1().Instances(namespace).Create(context.TODO(), obj, v1.CreateOptions{}) if err != nil { // we do NOT wrap timeouts if os.IsTimeout(err) { @@ -402,11 +403,11 @@ func (c *Client) InstallInstanceObjToCluster(obj *v1beta1.Instance, namespace st // DeleteInstance deletes an instance. func (c *Client) DeleteInstance(instanceName, namespace string) error { propagationPolicy := v1.DeletePropagationBackground - options := &v1.DeleteOptions{ + options := v1.DeleteOptions{ PropagationPolicy: &propagationPolicy, } - return c.kudoClientset.KudoV1beta1().Instances(namespace).Delete(instanceName, options) + return c.kudoClientset.KudoV1beta1().Instances(namespace).Delete(context.TODO(), instanceName, options) } // ValidateServerForOperator validates that the k8s server version and kudo version are valid for operator @@ -454,13 +455,13 @@ func (c *Client) CreateNamespace(namespace, manifest string) error { } ns.Annotations["created-by"] = "kudo-cli" - _, err := c.KubeClientset.CoreV1().Namespaces().Create(ns) + _, err := c.KubeClientset.CoreV1().Namespaces().Create(context.TODO(), ns, v1.CreateOptions{}) return err } // GetChildInstances returns all instances that were created as dependencies of a parent instance func (c *Client) GetChildInstances(parent *v1beta1.Instance) ([]v1beta1.Instance, error) { - instances, err := c.kudoClientset.KudoV1beta1().Instances(parent.Namespace).List(v1.ListOptions{}) + instances, err := c.kudoClientset.KudoV1beta1().Instances(parent.Namespace).List(context.TODO(), v1.ListOptions{}) if err != nil { return nil, err } diff --git a/pkg/kudoctl/util/kudo/kudo_test.go b/pkg/kudoctl/util/kudo/kudo_test.go index 48593ec33..f8ec774cc 100644 --- a/pkg/kudoctl/util/kudo/kudo_test.go +++ b/pkg/kudoctl/util/kudo/kudo_test.go @@ -1,6 +1,7 @@ package kudo import ( + "context" "fmt" "reflect" "testing" @@ -65,7 +66,10 @@ func TestKudoClient_OperatorExistsInCluster(t *testing.T) { k2o := newTestSimpleK2o() // create Operator - _, err := k2o.kudoClientset.KudoV1beta1().Operators(tt.createns).Create(tt.obj) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Operators(tt.createns). + Create(context.TODO(), tt.obj, metav1.CreateOptions{}) if err != nil { if err.Error() != "object does not implement the Object interfaces" { t.Errorf("unexpected error: %+v", err) @@ -138,7 +142,10 @@ func TestKudoClient_InstanceExistsInCluster(t *testing.T) { // create Instance if tt.obj != nil { - _, err := k2o.kudoClientset.KudoV1beta1().Instances(instanceNamespace).Create(tt.obj) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Instances(instanceNamespace). + Create(context.TODO(), tt.obj, metav1.CreateOptions{}) if err != nil { t.Fatalf("%s: Error during test setup, cannot create test instance %v", tt.name, err) } @@ -187,7 +194,10 @@ func TestKudoClient_ListInstances(t *testing.T) { // create Instance if tt.obj != nil { - _, err := k2o.kudoClientset.KudoV1beta1().Instances(installNamespace).Create(tt.obj) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Instances(installNamespace). + Create(context.TODO(), tt.obj, metav1.CreateOptions{}) if err != nil { t.Errorf("%d: Error creating instance in tests setup", i+1) } @@ -239,7 +249,10 @@ func TestKudoClient_OperatorVersionsInstalled(t *testing.T) { // create Instance if tt.obj != nil { - _, err := k2o.kudoClientset.KudoV1beta1().OperatorVersions(installNamespace).Create(tt.obj) + _, err := k2o.kudoClientset. + KudoV1beta1(). + OperatorVersions(installNamespace). + Create(context.TODO(), tt.obj, metav1.CreateOptions{}) if err != nil { t.Errorf("Error creating operator version in tests setup for %s", tt.name) } @@ -281,12 +294,18 @@ func TestKudoClient_InstallOperatorObjToCluster(t *testing.T) { k2o := newTestSimpleK2o() // create Operator - k2o.kudoClientset.KudoV1beta1().Operators(tt.createns).Create(tt.obj) //nolint:errcheck + k2o.kudoClientset. + KudoV1beta1(). + Operators(tt.createns). + Create(context.TODO(), tt.obj, metav1.CreateOptions{}) //nolint:errcheck // test if Operator exists in namespace k2o.InstallOperatorObjToCluster(tt.obj, tt.createns) //nolint:errcheck - _, err := k2o.kudoClientset.KudoV1beta1().Operators(tt.createns).Get(tt.name, metav1.GetOptions{}) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Operators(tt.createns). + Get(context.TODO(), tt.name, metav1.GetOptions{}) if tt.err != "" { assert.ErrorContains(t, err, tt.err, "failure in %v test case", i+1) } @@ -321,12 +340,18 @@ func TestKudoClient_InstallOperatorVersionObjToCluster(t *testing.T) { k2o := newTestSimpleK2o() // create Operator - k2o.kudoClientset.KudoV1beta1().OperatorVersions(tt.createns).Create(tt.obj) //nolint:errcheck + k2o.kudoClientset. + KudoV1beta1(). + OperatorVersions(tt.createns). + Create(context.TODO(), tt.obj, metav1.CreateOptions{}) //nolint:errcheck // test if Operator exists in namespace k2o.InstallOperatorVersionObjToCluster(tt.obj, tt.createns) //nolint:errcheck - _, err := k2o.kudoClientset.KudoV1beta1().OperatorVersions(tt.createns).Get(tt.name, metav1.GetOptions{}) + _, err := k2o.kudoClientset. + KudoV1beta1(). + OperatorVersions(tt.createns). + Get(context.TODO(), tt.name, metav1.GetOptions{}) if tt.err != "" { assert.ErrorContains(t, err, tt.err, "failure in %v test case", i+1) } @@ -361,12 +386,18 @@ func TestKudoClient_InstallInstanceObjToCluster(t *testing.T) { k2o := newTestSimpleK2o() // create Operator - k2o.kudoClientset.KudoV1beta1().Instances(tt.createns).Create(tt.obj) //nolint:errcheck + k2o.kudoClientset. + KudoV1beta1(). + Instances(tt.createns). + Create(context.TODO(), tt.obj, metav1.CreateOptions{}) //nolint:errcheck // test if Operator exists in namespace k2o.InstallInstanceObjToCluster(tt.obj, tt.createns) //nolint:errcheck - _, err := k2o.kudoClientset.KudoV1beta1().Instances(tt.createns).Get(tt.name, metav1.GetOptions{}) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Instances(tt.createns). + Get(context.TODO(), tt.name, metav1.GetOptions{}) if tt.err != "" { assert.ErrorContains(t, err, tt.err, "failure in %v test case", i+1) } @@ -408,7 +439,10 @@ func TestKudoClient_GetInstance(t *testing.T) { // create Instance if tt.storedInstance != nil { - _, err := k2o.kudoClientset.KudoV1beta1().Instances(installNamespace).Create(tt.storedInstance) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Instances(installNamespace). + Create(context.TODO(), tt.storedInstance, metav1.CreateOptions{}) if err != nil { t.Errorf("%d: Error creating instance in tests setup", i+1) } @@ -453,7 +487,10 @@ func TestKudoClient_GetOperatorVersion(t *testing.T) { // create Instance if tt.storedOv != nil { - _, err := k2o.kudoClientset.KudoV1beta1().OperatorVersions(installNamespace).Create(tt.storedOv) + _, err := k2o.kudoClientset. + KudoV1beta1(). + OperatorVersions(installNamespace). + Create(context.TODO(), tt.storedOv, metav1.CreateOptions{}) if err != nil { t.Errorf("Error creating operator version in tests setup for %s", tt.name) } @@ -508,7 +545,10 @@ func TestKudoClient_UpdateOperatorVersion(t *testing.T) { // create Instance instanceToCreate := testInstance instanceToCreate.Spec.Parameters = tt.existingParameters - _, err := k2o.kudoClientset.KudoV1beta1().Instances(installNamespace).Create(&instanceToCreate) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Instances(installNamespace). + Create(context.TODO(), &instanceToCreate, metav1.CreateOptions{}) if err != nil { t.Errorf("Error creating operator version in tests setup for %s", tt.name) } @@ -584,7 +624,10 @@ func TestKudoClient_DeleteInstance(t *testing.T) { for _, test := range tests { k2o := newTestSimpleK2o() - _, err := k2o.kudoClientset.KudoV1beta1().Instances(installNamespace).Create(&testInstance) + _, err := k2o.kudoClientset. + KudoV1beta1(). + Instances(installNamespace). + Create(context.TODO(), &testInstance, metav1.CreateOptions{}) if err != nil { t.Fatalf("error creating instance in tests setup for") } @@ -654,7 +697,7 @@ metadata: namespace, err := k2o.KubeClientset. CoreV1(). Namespaces(). - Get(test.namespace, metav1.GetOptions{}) + Get(context.TODO(), test.namespace, metav1.GetOptions{}) assert.NilError(t, err) assert.Equal(t, namespace.Annotations["created-by"], "kudo-cli")