diff --git a/.github/workflows/e2e-test-darts-cifar10.yaml b/.github/workflows/e2e-test-darts-cifar10.yaml index 3550f412917..e6a181201fb 100644 --- a/.github/workflows/e2e-test-darts-cifar10.yaml +++ b/.github/workflows/e2e-test-darts-cifar10.yaml @@ -33,6 +33,6 @@ jobs: strategy: fail-fast: false matrix: - kubernetes-version: ["v1.27.11", "v1.28.7", "v1.29.2"] + kubernetes-version: ["v1.28.7", "v1.29.2", "v1.30.7"] # Comma Delimited experiments: ["darts-cpu"] diff --git a/.github/workflows/e2e-test-enas-cifar10.yaml b/.github/workflows/e2e-test-enas-cifar10.yaml index ccfe5538b95..33b06470f11 100644 --- a/.github/workflows/e2e-test-enas-cifar10.yaml +++ b/.github/workflows/e2e-test-enas-cifar10.yaml @@ -33,6 +33,6 @@ jobs: strategy: fail-fast: false matrix: - kubernetes-version: ["v1.27.11", "v1.28.7", "v1.29.2"] + kubernetes-version: ["v1.28.7", "v1.29.2", "v1.30.7"] # Comma Delimited experiments: ["enas-cpu"] diff --git a/.github/workflows/e2e-test-pytorch-mnist.yaml b/.github/workflows/e2e-test-pytorch-mnist.yaml index dd715975166..499a629e494 100644 --- a/.github/workflows/e2e-test-pytorch-mnist.yaml +++ b/.github/workflows/e2e-test-pytorch-mnist.yaml @@ -34,7 +34,7 @@ jobs: strategy: fail-fast: false matrix: - kubernetes-version: ["v1.27.11", "v1.28.7", "v1.29.2"] + kubernetes-version: ["v1.28.7", "v1.29.2", "v1.30.7"] # Comma Delimited experiments: # suggestion-hyperopt diff --git a/.github/workflows/e2e-test-simple-pbt.yaml b/.github/workflows/e2e-test-simple-pbt.yaml index c91f6a3cb57..26040436f92 100644 --- a/.github/workflows/e2e-test-simple-pbt.yaml +++ b/.github/workflows/e2e-test-simple-pbt.yaml @@ -33,6 +33,6 @@ jobs: fail-fast: false matrix: # Detail: https://hub.docker.com/r/kindest/node - kubernetes-version: ["v1.27.11", "v1.28.7", "v1.29.2"] + kubernetes-version: ["v1.28.7", "v1.29.2", "v1.30.7"] # Comma Delimited experiments: ["simple-pbt"] diff --git a/.github/workflows/e2e-test-tf-mnist-with-summaries.yaml b/.github/workflows/e2e-test-tf-mnist-with-summaries.yaml index 4bc5730c5a6..8b4726442de 100644 --- a/.github/workflows/e2e-test-tf-mnist-with-summaries.yaml +++ b/.github/workflows/e2e-test-tf-mnist-with-summaries.yaml @@ -33,6 +33,6 @@ jobs: strategy: fail-fast: false matrix: - kubernetes-version: ["v1.27.11", "v1.28.7", "v1.29.2"] + kubernetes-version: ["v1.28.7", "v1.29.2", "v1.30.7"] # Comma Delimited experiments: ["tfjob-mnist-with-summaries"] diff --git a/.github/workflows/e2e-test-tune-api.yaml b/.github/workflows/e2e-test-tune-api.yaml index e1f37a3701b..07c5894e67a 100644 --- a/.github/workflows/e2e-test-tune-api.yaml +++ b/.github/workflows/e2e-test-tune-api.yaml @@ -31,4 +31,4 @@ jobs: fail-fast: false matrix: # Detail: https://hub.docker.com/r/kindest/node - kubernetes-version: ["v1.27.11", "v1.28.7", "v1.29.2"] + kubernetes-version: ["v1.28.7", "v1.29.2", "v1.30.7"] diff --git a/.github/workflows/e2e-test-ui-random-search-postgres.yaml b/.github/workflows/e2e-test-ui-random-search-postgres.yaml index 16f74350d94..a3ff7075e76 100644 --- a/.github/workflows/e2e-test-ui-random-search-postgres.yaml +++ b/.github/workflows/e2e-test-ui-random-search-postgres.yaml @@ -32,4 +32,4 @@ jobs: strategy: fail-fast: false matrix: - kubernetes-version: ["v1.27.11", "v1.28.7", "v1.29.2"] + kubernetes-version: ["v1.28.7", "v1.29.2", "v1.30.7"] diff --git a/.github/workflows/test-go.yaml b/.github/workflows/test-go.yaml index e18b569c6c2..6df1ace4657 100644 --- a/.github/workflows/test-go.yaml +++ b/.github/workflows/test-go.yaml @@ -67,7 +67,7 @@ jobs: fail-fast: false matrix: # Detail: `setup-envtest list` - kubernetes-version: ["1.27.1", "1.28.3", "1.29.3"] + kubernetes-version: ["1.28.3", "1.29.3", "1.30.0"] # notifies that all test jobs are finished. finish: diff --git a/Makefile b/Makefile index a6708de7f5b..172116d525b 100755 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ HAS_MOCKGEN := $(shell command -v mockgen;) COMMIT := v1beta1-$(shell git rev-parse --short=7 HEAD) KATIB_REGISTRY := docker.io/kubeflowkatib CPU_ARCH ?= linux/amd64,linux/arm64 -ENVTEST_K8S_VERSION ?= 1.29 +ENVTEST_K8S_VERSION ?= 1.30 MOCKGEN_VERSION ?= $(shell grep 'go.uber.org/mock' go.mod | cut -d ' ' -f 2) GO_VERSION=$(shell grep '^go' go.mod | cut -d ' ' -f 2) GOPATH ?= $(shell go env GOPATH) @@ -21,7 +21,7 @@ test: envtest envtest: ifndef HAS_SETUP_ENVTEST - go install sigs.k8s.io/controller-runtime/tools/setup-envtest@bf15e44028f908c790721fc8fe67c7bf2d06a611 #v0.17.3 + go install sigs.k8s.io/controller-runtime/tools/setup-envtest@release-0.18 $(info "setup-envtest has been installed") endif $(info "setup-envtest has already installed") @@ -82,7 +82,7 @@ sync-go-mod: CONTROLLER_GEN = $(shell pwd)/bin/controller-gen .PHONY: controller-gen controller-gen: - @GOBIN=$(shell pwd)/bin GO111MODULE=on go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0 + @GOBIN=$(shell pwd)/bin GO111MODULE=on go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.5 # Run this if you update any existing controller APIs. # 1. Generate deepcopy, clientset, listers, informers for the APIs (hack/update-codegen.sh) diff --git a/examples/v1beta1/kind-cluster/README.md b/examples/v1beta1/kind-cluster/README.md index 82e80b2074b..89d603a8881 100644 --- a/examples/v1beta1/kind-cluster/README.md +++ b/examples/v1beta1/kind-cluster/README.md @@ -10,7 +10,7 @@ Install the following tools to run the example: - [Docker](https://docs.docker.com/get-docker) >= 20.10 - [Kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation) >= 0.13 -- [`kubectl`](https://kubernetes.io/docs/tasks/tools/#kubectl) >= 1.27 +- [`kubectl`](https://kubernetes.io/docs/tasks/tools/#kubectl) >= 1.28 ## Installation diff --git a/go.mod b/go.mod index 3219346c9f4..5d4d26afe8c 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/kubeflow/katib -go 1.22 +go 1.22.0 require ( github.com/DATA-DOG/go-sqlmock v1.5.0 @@ -14,29 +14,28 @@ require ( github.com/lib/pq v1.10.6 github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a github.com/nxadm/tail v1.4.11 - github.com/onsi/gomega v1.30.0 - github.com/open-policy-agent/cert-controller v0.10.1 - github.com/prometheus/client_golang v1.18.0 + github.com/onsi/gomega v1.34.1 + github.com/open-policy-agent/cert-controller v0.11.0 + github.com/prometheus/client_golang v1.19.1 github.com/shirou/gopsutil/v3 v3.22.5 github.com/spf13/viper v1.9.0 github.com/tidwall/gjson v1.14.1 go.uber.org/mock v0.4.0 google.golang.org/grpc v1.58.3 - google.golang.org/protobuf v1.33.0 - k8s.io/api v0.29.3 - k8s.io/apimachinery v0.29.3 - k8s.io/client-go v0.29.3 - k8s.io/code-generator v0.29.3 + google.golang.org/protobuf v1.34.1 + k8s.io/api v0.30.7 + k8s.io/apimachinery v0.30.7 + k8s.io/client-go v0.30.7 + k8s.io/code-generator v0.30.7 k8s.io/klog v1.0.0 - k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 - sigs.k8s.io/controller-runtime v0.17.3 + k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f + sigs.k8s.io/controller-runtime v0.18.5 sigs.k8s.io/structured-merge-diff/v4 v4.4.1 sigs.k8s.io/yaml v1.4.0 ) require ( - cloud.google.com/go/compute v1.21.0 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect github.com/Azure/go-autorest/autorest v0.11.29 // indirect @@ -62,7 +61,7 @@ require ( github.com/aws/smithy-go v1.13.5 // indirect github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20230510185313-f5e39e5f34c7 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 // indirect github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect github.com/davecgh/go-spew v1.1.1 // indirect @@ -71,16 +70,16 @@ require ( github.com/docker/distribution v2.8.2+incompatible // indirect github.com/docker/docker v26.1.5+incompatible // indirect github.com/docker/docker-credential-helpers v0.7.0 // indirect - github.com/emicklei/go-restful/v3 v3.11.0 // indirect + github.com/emicklei/go-restful/v3 v3.12.0 // indirect github.com/evanphx/json-patch v5.6.0+incompatible // indirect - github.com/evanphx/json-patch/v5 v5.8.0 // indirect + github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/zapr v1.3.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect @@ -88,7 +87,7 @@ require ( github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20230516205744-dbecb1de8cfa // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/imdario/mergo v0.3.12 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -98,7 +97,6 @@ require ( github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/magiconair/properties v1.8.5 // indirect github.com/mailru/easyjson v0.7.7 // indirect - github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.4.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -109,9 +107,9 @@ require ( github.com/pelletier/go-toml v1.9.4 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_model v0.5.0 // indirect - github.com/prometheus/common v0.45.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/procfs v0.15.0 // indirect github.com/sirupsen/logrus v1.9.1 // indirect github.com/spf13/afero v1.6.0 // indirect github.com/spf13/cast v1.4.1 // indirect @@ -127,30 +125,28 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/mod v0.14.0 // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/oauth2 v0.12.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/term v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.16.1 // indirect + golang.org/x/crypto v0.25.0 // indirect + golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect + golang.org/x/mod v0.19.0 // indirect + golang.org/x/net v0.27.0 // indirect + golang.org/x/oauth2 v0.20.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.23.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.8.2 // indirect - google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.63.2 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.29.2 // indirect - k8s.io/component-base v0.29.2 // indirect - k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 // indirect - k8s.io/klog/v2 v2.110.1 // indirect - k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect + k8s.io/apiextensions-apiserver v0.30.3 // indirect + k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 // indirect + k8s.io/klog/v2 v2.120.1 // indirect + k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect ) diff --git a/go.sum b/go.sum index d8ee4e246b7..50d36804444 100644 --- a/go.sum +++ b/go.sum @@ -29,10 +29,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.21.0 h1:JNBsyXVoOoNJtTQcnEY5uYpZIbeCTYIeDe0Xh1bySMk= -cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= @@ -132,8 +130,8 @@ github.com/c-bata/goptuna v0.8.0 h1:LKIgHVIU73KF5MWAS+mjIZA3b3NMhHVJJhlwfAE3TcA= github.com/c-bata/goptuna v0.8.0/go.mod h1:YXwrUpiw4bkBma0YEL8etW6CTAxKox2m6cWRJDs3F1U= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chewxy/hm v1.0.0/go.mod h1:qg9YI4q6Fkj/whwHR1D+bOGeF7SniIP40VweVepLjg0= github.com/chewxy/math32 v1.0.0/go.mod h1:Miac6hA1ohdDUTagnvJy/q+aNnEk16qWUdb8ZVhvCN0= github.com/chewxy/math32 v1.0.6/go.mod h1:dOB2rcuFrCn6UHrze36WSLVPKtzPMRAQvBvUwkSsLqs= @@ -161,7 +159,6 @@ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfc github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cznic/cc v0.0.0-20181122101902-d673e9b70d4d/go.mod h1:m3fD/V+XTB35Kh9zw6dzjMY+We0Q7PMf6LLIC4vuG9k= github.com/cznic/golex v0.0.0-20181122101858-9c343928389c/go.mod h1:+bmmJDNmKlhWNG+gwWCkaBoTy39Fs+bzRxVBzoTQbIc= github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548/go.mod h1:e6NPNENfs9mPDVNRekM7lKScauxd5kXTr1Mfyig6TDM= @@ -184,8 +181,8 @@ github.com/docker/docker v26.1.5+incompatible h1:NEAxTwEjxV6VbBMBoGG3zPqbiJosIAp github.com/docker/docker v26.1.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.12.0 h1:y2DdzBAURM29NFF94q6RaY4vjIH1rtwDapwQtU84iWk= +github.com/emicklei/go-restful/v3 v3.12.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -197,8 +194,8 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch/v5 v5.8.0 h1:lRj6N9Nci7MvzrXuX6HFzU8XjmhPiXPlsKEy1u0KQro= -github.com/evanphx/json-patch/v5 v5.8.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= +github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= +github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= @@ -217,25 +214,24 @@ github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -318,7 +314,6 @@ github.com/google/go-containerregistry/pkg/authn/k8schain v0.0.0-20230517160804- github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20230516205744-dbecb1de8cfa h1:+MG+Q2Q7mtW6kCIbUPZ9ZMrj7xOWDKI1hhy1qp0ygI0= github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20230516205744-dbecb1de8cfa/go.mod h1:KdL98/Va8Dy1irB6lTxIRIQ7bQj4lbrlvqUzKEQ+ZBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -338,13 +333,14 @@ github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= +github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -465,7 +461,6 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -508,8 +503,6 @@ github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -537,12 +530,12 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo/v2 v2.14.0 h1:vSmGj2Z5YPb9JwCWT6z6ihcUvDhuXLc3sJiqd3jMKAY= -github.com/onsi/ginkgo/v2 v2.14.0/go.mod h1:JkUdW7JkN0V6rFvsHcJ478egV3XH9NxpD27Hal/PhZw= -github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= -github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= -github.com/open-policy-agent/cert-controller v0.10.1 h1:RXSYoyn8FdCenWecRP//UV5nbVfmstNpj4kHQFkvPK4= -github.com/open-policy-agent/cert-controller v0.10.1/go.mod h1:4uRbBLY5DsPOog+a9pqk3JLxuuhrWsbUedQW65HcLTI= +github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= +github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= +github.com/open-policy-agent/cert-controller v0.11.0 h1:zXaXeaS4eRAZXhUH5SxWqky681Y2KWjQv/z3X8iMcaQ= +github.com/open-policy-agent/cert-controller v0.11.0/go.mod h1:456gr2XKHzxDOjxJZUST5rLIX8olrHkBUymy49FZzps= github.com/open-policy-agent/frameworks/constraint v0.0.0-20230822235116-f0b62fe1e4c4 h1:5dum5SLEz+95JDLkMls7Z7IDPjvSq3UhJSFe4f5einQ= github.com/open-policy-agent/frameworks/constraint v0.0.0-20230822235116-f0b62fe1e4c4/go.mod h1:54/KzLMvA5ndBVpm7B1OjLeV0cUtTLTz2bZ2OtydLpU= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -567,29 +560,29 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= -github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= +github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= +github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= 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.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= -github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= +github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= +github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/prometheus/procfs v0.15.0 h1:A82kmvXJq2jTu5YUhSGNlYoxh85zLnKgPz4bMZgI5Ek= +github.com/prometheus/procfs v0.15.0/go.mod h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= @@ -647,8 +640,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tidwall/gjson v1.14.1 h1:iymTbGkQBhveq21bEvAQ81I0LEBork8BFe1CUZXdyuo= @@ -729,8 +722,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -745,8 +738,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -774,8 +767,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= +golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/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= @@ -823,8 +816,8 @@ golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -840,8 +833,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= -golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -854,8 +847,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -931,13 +924,13 @@ golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -948,13 +941,13 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1000,7 +993,6 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1021,8 +1013,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= -golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg= +golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1075,7 +1067,6 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1177,8 +1168,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1237,31 +1228,28 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.29.3 h1:2ORfZ7+bGC3YJqGpV0KSDDEVf8hdGQ6A03/50vj8pmw= -k8s.io/api v0.29.3/go.mod h1:y2yg2NTyHUUkIoTC+phinTnEa3KFM6RZ3szxt014a80= -k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg= -k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8= -k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU= -k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU= -k8s.io/client-go v0.29.3 h1:R/zaZbEAxqComZ9FHeQwOh3Y1ZUs7FaHKZdQtIc2WZg= -k8s.io/client-go v0.29.3/go.mod h1:tkDisCvgPfiRpxGnOORfkljmS+UrW+WtXAy2fTvXJB0= -k8s.io/code-generator v0.29.3 h1:m7E25/t9R9NvejspO2zBdyu+/Gl0Z5m7dCRc680KS14= -k8s.io/code-generator v0.29.3/go.mod h1:x47ofBhN4gxYFcxeKA1PYXeaPreAGaDN85Y/lNUsPoM= -k8s.io/component-base v0.29.2 h1:lpiLyuvPA9yV1aQwGLENYyK7n/8t6l3nn3zAtFTJYe8= -k8s.io/component-base v0.29.2/go.mod h1:BfB3SLrefbZXiBfbM+2H1dlat21Uewg/5qtKOl8degM= -k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 h1:pWEwq4Asjm4vjW7vcsmijwBhOr1/shsbSYiWXmNGlks= -k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/api v0.30.7 h1:wB2eHI+IptVYsz5WsAQpI6+Dqi3+11wEWBqIh4fh980= +k8s.io/api v0.30.7/go.mod h1:bR0EwbmhYmJvUoeza7ZzBUmYCrVXccQ9JOdfv0BxhH0= +k8s.io/apiextensions-apiserver v0.30.3 h1:oChu5li2vsZHx2IvnGP3ah8Nj3KyqG3kRSaKmijhB9U= +k8s.io/apiextensions-apiserver v0.30.3/go.mod h1:uhXxYDkMAvl6CJw4lrDN4CPbONkF3+XL9cacCT44kV4= +k8s.io/apimachinery v0.30.7 h1:CoQFxvzPFKwU1eJGN/8LgM3ZJBC3hKgvwGqRrL43uIY= +k8s.io/apimachinery v0.30.7/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= +k8s.io/client-go v0.30.7 h1:DQRfuGWxDzxPEyyiTE/fxzAsZcj2p9sbc5671njR52w= +k8s.io/client-go v0.30.7/go.mod h1:oED9+njB91ExCc4BNPAotniB7WH1ig7CmiBx5pVA1yw= +k8s.io/code-generator v0.30.7 h1:Vw8991AoEjwW3qjkJhsTJosrlCN+6+VA3KR7wU28Sc0= +k8s.io/code-generator v0.30.7/go.mod h1:kMe4cE9rGqC9SoXwHqV7VaD4F8G7UL0BQF6NbRqxOdo= +k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 h1:NGrVE502P0s0/1hudf8zjgwki1X/TByhmAoILTarmzo= +k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8= 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/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= -k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= -k8s.io/kube-aggregator v0.28.1 h1:rvG4llYnQKHjj6YjjoBPEJxfD1uH0DJwkrJTNKGAaCs= -k8s.io/kube-aggregator v0.28.1/go.mod h1:JaLizMe+AECSpO2OmrWVsvnG0V3dX1RpW+Wq/QHbu18= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= +k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/kube-aggregator v0.30.3 h1:hy5zfQ7p6BuJgc/XtGp3GBh2MPfOj6b1n3raKKMHOQE= +k8s.io/kube-aggregator v0.30.3/go.mod h1:2SP0IckvQoOwwZN8lmtWUnTZTgIpwOWvidWtxyqLwuk= +k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f h1:0LQagt0gDpKqvIkAMPaRGcXawNMouPECM1+F9BVxEaM= +k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f/go.mod h1:S9tOR0FxgyusSNR+MboCuiDpVWkAifZvaYI1Q2ubgro= +k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak= +k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= 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= @@ -1271,12 +1259,11 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/controller-runtime v0.17.3 h1:65QmN7r3FWgTxDMz9fvGnO1kbf2nu+acg9p2R9oYYYk= -sigs.k8s.io/controller-runtime v0.17.3/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY= +sigs.k8s.io/controller-runtime v0.18.5 h1:nTHio/W+Q4aBlQMgbnC5hZb4IjIidyrizMai9P6n4Rk= +sigs.k8s.io/controller-runtime v0.18.5/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/hack/tools.go b/hack/tools.go index d4ae070e257..4accf08943f 100644 --- a/hack/tools.go +++ b/hack/tools.go @@ -26,5 +26,5 @@ import ( _ "k8s.io/code-generator/cmd/defaulter-gen" _ "k8s.io/code-generator/cmd/informer-gen" _ "k8s.io/code-generator/cmd/lister-gen" - _ "k8s.io/code-generator/cmd/openapi-gen" + _ "k8s.io/kube-openapi/cmd/openapi-gen" ) diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index ae1925f6253..f80fb984321 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -20,42 +20,26 @@ set -o pipefail echo "Generate deepcopy, clientset, listers, informers for the APIs" -if [[ -z "${GOPATH:-}" ]]; then - GOPATH=$(go env GOPATH) - export GOPATH -fi - -# Grab code-generator version from go.mod -CODEGEN_VERSION=$(cd ../.. && grep 'k8s.io/code-generator' go.mod | awk '{print $2}') -CODEGEN_PKG="$GOPATH/pkg/mod/k8s.io/code-generator@${CODEGEN_VERSION}" - -if [[ ! -d "${CODEGEN_PKG}" ]]; then - echo "${CODEGEN_PKG} is missing. Please run 'go mod download'." - exit 0 -fi - -echo ">> Using ${CODEGEN_PKG} for the code generator" - -# Ensure we can execute. -chmod +x "${CODEGEN_PKG}/generate-groups.sh" -chmod +x "${CODEGEN_PKG}/generate-internal-groups.sh" - -PROJECT_ROOT=${GOPATH}/src/github.com/kubeflow/katib - -modules=(experiments suggestions trials common) -versions=(v1beta1) -versionStr=$(printf ",%s" "${versions[@]}") -GROUP_VERSIONS=$(printf "%s:${versionStr:1} " "${modules[@]}") - -echo "Generating clients for ${GROUP_VERSIONS} ..." -"${CODEGEN_PKG}/generate-groups.sh" \ - all \ - github.com/kubeflow/katib/pkg/client/controller \ - github.com/kubeflow/katib/pkg/apis/controller \ - "${GROUP_VERSIONS}" \ - --go-header-file "${PROJECT_ROOT}/hack/boilerplate/boilerplate.go.txt" - -echo "Generating deepcopy for config.kubeflow.org ..." -"${PROJECT_ROOT}/bin/controller-gen" \ - object:headerFile="${PROJECT_ROOT}/hack/boilerplate/boilerplate.go.txt" \ - paths="${PROJECT_ROOT}/pkg/apis/config/..." +CURRENT_DIR=$(dirname "${BASH_SOURCE[0]}") +KATIB_ROOT=$(realpath "${CURRENT_DIR}/..") +KATIB_PKG="github.com/kubeflow/katib" +CODEGEN_PKG=$(go list -m -mod=readonly -f "{{.Dir}}" k8s.io/code-generator) + +cd "$CURRENT_DIR/.." + +# shellcheck source=/dev/null +source "${CODEGEN_PKG}/kube_codegen.sh" + +echo "Generating deepcopy and defaults for config.kubeflow.org ..." +kube::codegen::gen_helpers \ + --boilerplate "${KATIB_ROOT}/hack/boilerplate/boilerplate.go.txt" \ + "${KATIB_ROOT}/pkg/apis/config" + +echo "Generating clients for v1beta1" +kube::codegen::gen_client \ + --boilerplate "${KATIB_ROOT}/hack/boilerplate/boilerplate.go.txt" \ + --output-dir "${KATIB_ROOT}/pkg/client/controller" \ + --output-pkg "${KATIB_PKG}/pkg/client/controller" \ + --with-watch \ + --with-applyconfig \ + "${KATIB_ROOT}/pkg/apis/controller" diff --git a/hack/update-openapigen.sh b/hack/update-openapigen.sh index 1b5639454c9..1646b725fe5 100755 --- a/hack/update-openapigen.sh +++ b/hack/update-openapigen.sh @@ -20,41 +20,35 @@ set -o pipefail echo "Generate open-api for the APIs" -if [[ -z "${GOPATH:-}" ]]; then - GOPATH=$(go env GOPATH) - export GOPATH -fi +CURRENT_DIR=$(dirname "${BASH_SOURCE[0]}") +KATIB_ROOT=$(realpath "${CURRENT_DIR}/..") +KATIB_PKG="github.com/kubeflow/katib" -# Grab code-generator version from go.mod -CODEGEN_VERSION=$(cd ../.. && grep 'k8s.io/code-generator' go.mod | awk '{print $2}') -CODEGEN_PKG="${GOPATH}/pkg/mod/k8s.io/code-generator@${CODEGEN_VERSION}" +cd "$CURRENT_DIR/.." -if [[ ! -d ${CODEGEN_PKG} ]]; then - echo "${CODEGEN_PKG} is missing. Please run 'go mod download'." - exit 0 -fi +# Get the kube-openapi binary. +OPENAPI_PKG=$(go list -m -mod=readonly -f "{{.Dir}}" k8s.io/kube-openapi) +echo ">> Using ${OPENAPI_PKG}" -echo ">> Using ${CODEGEN_PKG} for the code generator" - -# Ensure we can execute. -chmod +x "${CODEGEN_PKG}/generate-groups.sh" - -PROJECT_ROOT=${GOPATH}/src/github.com/kubeflow/katib VERSION_LIST=(v1beta1) SWAGGER_VERSION="0.1" for VERSION in "${VERSION_LIST[@]}"; do - SWAGGER_CODEGEN_FILE=${PROJECT_ROOT}/pkg/apis/${VERSION}/swagger.json + SWAGGER_CODEGEN_FILE=${KATIB_ROOT}/pkg/apis/${VERSION}/swagger.json echo "Generating OpenAPI specification for ${VERSION} ..." - - # shellcheck disable=SC2140 - go run "${CODEGEN_PKG}/cmd/openapi-gen/main.go" \ - --go-header-file "${PROJECT_ROOT}/hack/boilerplate/boilerplate.go.txt" \ - --input-dirs "github.com/kubeflow/katib/pkg/apis/controller/common/$VERSION","github.com/kubeflow/katib/pkg/apis/controller/experiments/$VERSION","github.com/kubeflow/katib/pkg/apis/controller/suggestions/${VERSION}","github.com/kubeflow/katib/pkg/apis/controller/trials/${VERSION}" \ - --output-package "github.com/kubeflow/katib/pkg/apis/${VERSION}" \ - "$@" - - echo "Generating swagger file for ${VERSION} ..." - go run "${PROJECT_ROOT}/hack/swagger/main.go" "${VERSION}-${SWAGGER_VERSION}" "${VERSION}" >"${SWAGGER_CODEGEN_FILE}" + + go run "${OPENAPI_PKG}/cmd/openapi-gen" \ + --go-header-file "${KATIB_ROOT}/hack/boilerplate/boilerplate.go.txt" \ + --output-pkg "${KATIB_PKG}/pkg/apis/${VERSION}" \ + --output-dir "${KATIB_ROOT}/pkg/apis/${VERSION}" \ + --output-file "zz_generated.openapi.go" \ + --report-filename "${KATIB_ROOT}/hack/violation_exception_${VERSION}.list" \ + "${KATIB_ROOT}/pkg/apis/controller/common/${VERSION}" \ + "${KATIB_ROOT}/pkg/apis/controller/experiments/${VERSION}" \ + "${KATIB_ROOT}/pkg/apis/controller/suggestions/${VERSION}" \ + "${KATIB_ROOT}/pkg/apis/controller/trials/${VERSION}" + + echo "Generating OpenAPI Swagger for ${VERSION} ..." + go run "${KATIB_ROOT}/hack/swagger/main.go" "${VERSION}-${SWAGGER_VERSION}" "${VERSION}" >"${SWAGGER_CODEGEN_FILE}" done diff --git a/hack/violation_exception_v1beta1.list b/hack/violation_exception_v1beta1.list new file mode 100644 index 00000000000..1ed6c8e7602 --- /dev/null +++ b/hack/violation_exception_v1beta1.list @@ -0,0 +1,30 @@ +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1,AlgorithmSpec,AlgorithmSettings +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1,EarlyStoppingSpec,AlgorithmSettings +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1,FilterSpec,MetricsFormat +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1,ObjectiveSpec,AdditionalMetricNames +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1,ObjectiveSpec,MetricStrategies +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1,Observation,Metrics +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentSpec,Parameters +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,Conditions +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,EarlyStoppedTrialList +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,FailedTrialList +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,KilledTrialList +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,MetricsUnavailableTrialList +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,PendingTrialList +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,RunningTrialList +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,ExperimentStatus,SucceededTrialList +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,FeasibleSpace,List +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,GraphConfig,InputSizes +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,GraphConfig,OutputSizes +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,NasConfig,Operations +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,Operation,Parameters +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,OptimalTrial,ParameterAssignments +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1,TrialTemplate,TrialParameters +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1,SuggestionStatus,AlgorithmSettings +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1,SuggestionStatus,Conditions +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1,SuggestionStatus,Suggestions +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1,TrialAssignment,EarlyStoppingRules +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1,TrialAssignment,ParameterAssignments +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/trials/v1beta1,TrialSpec,EarlyStoppingRules +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/trials/v1beta1,TrialSpec,ParameterAssignments +API rule violation: list_type_missing,github.com/kubeflow/katib/pkg/apis/controller/trials/v1beta1,TrialStatus,Conditions diff --git a/pkg/apis/v1beta1/openapi_generated.go b/pkg/apis/v1beta1/zz_generated.openapi.go similarity index 99% rename from pkg/apis/v1beta1/openapi_generated.go rename to pkg/apis/v1beta1/zz_generated.openapi.go index 503dbc64b33..986c37d3ed6 100644 --- a/pkg/apis/v1beta1/openapi_generated.go +++ b/pkg/apis/v1beta1/zz_generated.openapi.go @@ -17,9 +17,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Code generated by main. DO NOT EDIT. - -// This file was autogenerated by openapi-gen. Do not edit it manually! +// Code generated by openapi-gen. DO NOT EDIT. package v1beta1 diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/algorithmsetting.go b/pkg/client/controller/applyconfiguration/common/v1beta1/algorithmsetting.go deleted file mode 100644 index 4fba0d09e86..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/algorithmsetting.go +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// AlgorithmSettingApplyConfiguration represents an declarative configuration of the AlgorithmSetting type for use -// with apply. -type AlgorithmSettingApplyConfiguration struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// AlgorithmSettingApplyConfiguration constructs an declarative configuration of the AlgorithmSetting type for use with -// apply. -func AlgorithmSetting() *AlgorithmSettingApplyConfiguration { - return &AlgorithmSettingApplyConfiguration{} -} - -// WithName sets the Name field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Name field is set to the value of the last call. -func (b *AlgorithmSettingApplyConfiguration) WithName(value string) *AlgorithmSettingApplyConfiguration { - b.Name = &value - return b -} - -// WithValue sets the Value field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Value field is set to the value of the last call. -func (b *AlgorithmSettingApplyConfiguration) WithValue(value string) *AlgorithmSettingApplyConfiguration { - b.Value = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/algorithmspec.go b/pkg/client/controller/applyconfiguration/common/v1beta1/algorithmspec.go deleted file mode 100644 index 099f7bc4944..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/algorithmspec.go +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// AlgorithmSpecApplyConfiguration represents an declarative configuration of the AlgorithmSpec type for use -// with apply. -type AlgorithmSpecApplyConfiguration struct { - AlgorithmName *string `json:"algorithmName,omitempty"` - AlgorithmSettings []AlgorithmSettingApplyConfiguration `json:"algorithmSettings,omitempty"` -} - -// AlgorithmSpecApplyConfiguration constructs an declarative configuration of the AlgorithmSpec type for use with -// apply. -func AlgorithmSpec() *AlgorithmSpecApplyConfiguration { - return &AlgorithmSpecApplyConfiguration{} -} - -// WithAlgorithmName sets the AlgorithmName field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the AlgorithmName field is set to the value of the last call. -func (b *AlgorithmSpecApplyConfiguration) WithAlgorithmName(value string) *AlgorithmSpecApplyConfiguration { - b.AlgorithmName = &value - return b -} - -// WithAlgorithmSettings adds the given value to the AlgorithmSettings field in the declarative configuration -// and returns the receiver, so that objects can be build by chaining "With" function invocations. -// If called multiple times, values provided by each call will be appended to the AlgorithmSettings field. -func (b *AlgorithmSpecApplyConfiguration) WithAlgorithmSettings(values ...*AlgorithmSettingApplyConfiguration) *AlgorithmSpecApplyConfiguration { - for i := range values { - if values[i] == nil { - panic("nil value passed to WithAlgorithmSettings") - } - b.AlgorithmSettings = append(b.AlgorithmSettings, *values[i]) - } - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/collectorspec.go b/pkg/client/controller/applyconfiguration/common/v1beta1/collectorspec.go deleted file mode 100644 index 532caaa4eb1..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/collectorspec.go +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" - v1 "k8s.io/api/core/v1" -) - -// CollectorSpecApplyConfiguration represents an declarative configuration of the CollectorSpec type for use -// with apply. -type CollectorSpecApplyConfiguration struct { - Kind *v1beta1.CollectorKind `json:"kind,omitempty"` - CustomCollector *v1.Container `json:"customCollector,omitempty"` -} - -// CollectorSpecApplyConfiguration constructs an declarative configuration of the CollectorSpec type for use with -// apply. -func CollectorSpec() *CollectorSpecApplyConfiguration { - return &CollectorSpecApplyConfiguration{} -} - -// WithKind sets the Kind field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Kind field is set to the value of the last call. -func (b *CollectorSpecApplyConfiguration) WithKind(value v1beta1.CollectorKind) *CollectorSpecApplyConfiguration { - b.Kind = &value - return b -} - -// WithCustomCollector sets the CustomCollector field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the CustomCollector field is set to the value of the last call. -func (b *CollectorSpecApplyConfiguration) WithCustomCollector(value v1.Container) *CollectorSpecApplyConfiguration { - b.CustomCollector = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingrule.go b/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingrule.go deleted file mode 100644 index 6e5883f13fa..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingrule.go +++ /dev/null @@ -1,70 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" -) - -// EarlyStoppingRuleApplyConfiguration represents an declarative configuration of the EarlyStoppingRule type for use -// with apply. -type EarlyStoppingRuleApplyConfiguration struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` - Comparison *v1beta1.ComparisonType `json:"comparison,omitempty"` - StartStep *int `json:"startStep,omitempty"` -} - -// EarlyStoppingRuleApplyConfiguration constructs an declarative configuration of the EarlyStoppingRule type for use with -// apply. -func EarlyStoppingRule() *EarlyStoppingRuleApplyConfiguration { - return &EarlyStoppingRuleApplyConfiguration{} -} - -// WithName sets the Name field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Name field is set to the value of the last call. -func (b *EarlyStoppingRuleApplyConfiguration) WithName(value string) *EarlyStoppingRuleApplyConfiguration { - b.Name = &value - return b -} - -// WithValue sets the Value field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Value field is set to the value of the last call. -func (b *EarlyStoppingRuleApplyConfiguration) WithValue(value string) *EarlyStoppingRuleApplyConfiguration { - b.Value = &value - return b -} - -// WithComparison sets the Comparison field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Comparison field is set to the value of the last call. -func (b *EarlyStoppingRuleApplyConfiguration) WithComparison(value v1beta1.ComparisonType) *EarlyStoppingRuleApplyConfiguration { - b.Comparison = &value - return b -} - -// WithStartStep sets the StartStep field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the StartStep field is set to the value of the last call. -func (b *EarlyStoppingRuleApplyConfiguration) WithStartStep(value int) *EarlyStoppingRuleApplyConfiguration { - b.StartStep = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingsetting.go b/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingsetting.go deleted file mode 100644 index cc529f10fe7..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingsetting.go +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// EarlyStoppingSettingApplyConfiguration represents an declarative configuration of the EarlyStoppingSetting type for use -// with apply. -type EarlyStoppingSettingApplyConfiguration struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// EarlyStoppingSettingApplyConfiguration constructs an declarative configuration of the EarlyStoppingSetting type for use with -// apply. -func EarlyStoppingSetting() *EarlyStoppingSettingApplyConfiguration { - return &EarlyStoppingSettingApplyConfiguration{} -} - -// WithName sets the Name field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Name field is set to the value of the last call. -func (b *EarlyStoppingSettingApplyConfiguration) WithName(value string) *EarlyStoppingSettingApplyConfiguration { - b.Name = &value - return b -} - -// WithValue sets the Value field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Value field is set to the value of the last call. -func (b *EarlyStoppingSettingApplyConfiguration) WithValue(value string) *EarlyStoppingSettingApplyConfiguration { - b.Value = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingspec.go b/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingspec.go deleted file mode 100644 index e8755a76b06..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/earlystoppingspec.go +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// EarlyStoppingSpecApplyConfiguration represents an declarative configuration of the EarlyStoppingSpec type for use -// with apply. -type EarlyStoppingSpecApplyConfiguration struct { - AlgorithmName *string `json:"algorithmName,omitempty"` - AlgorithmSettings []EarlyStoppingSettingApplyConfiguration `json:"algorithmSettings,omitempty"` -} - -// EarlyStoppingSpecApplyConfiguration constructs an declarative configuration of the EarlyStoppingSpec type for use with -// apply. -func EarlyStoppingSpec() *EarlyStoppingSpecApplyConfiguration { - return &EarlyStoppingSpecApplyConfiguration{} -} - -// WithAlgorithmName sets the AlgorithmName field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the AlgorithmName field is set to the value of the last call. -func (b *EarlyStoppingSpecApplyConfiguration) WithAlgorithmName(value string) *EarlyStoppingSpecApplyConfiguration { - b.AlgorithmName = &value - return b -} - -// WithAlgorithmSettings adds the given value to the AlgorithmSettings field in the declarative configuration -// and returns the receiver, so that objects can be build by chaining "With" function invocations. -// If called multiple times, values provided by each call will be appended to the AlgorithmSettings field. -func (b *EarlyStoppingSpecApplyConfiguration) WithAlgorithmSettings(values ...*EarlyStoppingSettingApplyConfiguration) *EarlyStoppingSpecApplyConfiguration { - for i := range values { - if values[i] == nil { - panic("nil value passed to WithAlgorithmSettings") - } - b.AlgorithmSettings = append(b.AlgorithmSettings, *values[i]) - } - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/filesystempath.go b/pkg/client/controller/applyconfiguration/common/v1beta1/filesystempath.go deleted file mode 100644 index 634943c1314..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/filesystempath.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" -) - -// FileSystemPathApplyConfiguration represents an declarative configuration of the FileSystemPath type for use -// with apply. -type FileSystemPathApplyConfiguration struct { - Path *string `json:"path,omitempty"` - Kind *v1beta1.FileSystemKind `json:"kind,omitempty"` - Format *v1beta1.FileFormat `json:"format,omitempty"` -} - -// FileSystemPathApplyConfiguration constructs an declarative configuration of the FileSystemPath type for use with -// apply. -func FileSystemPath() *FileSystemPathApplyConfiguration { - return &FileSystemPathApplyConfiguration{} -} - -// WithPath sets the Path field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Path field is set to the value of the last call. -func (b *FileSystemPathApplyConfiguration) WithPath(value string) *FileSystemPathApplyConfiguration { - b.Path = &value - return b -} - -// WithKind sets the Kind field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Kind field is set to the value of the last call. -func (b *FileSystemPathApplyConfiguration) WithKind(value v1beta1.FileSystemKind) *FileSystemPathApplyConfiguration { - b.Kind = &value - return b -} - -// WithFormat sets the Format field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Format field is set to the value of the last call. -func (b *FileSystemPathApplyConfiguration) WithFormat(value v1beta1.FileFormat) *FileSystemPathApplyConfiguration { - b.Format = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/filterspec.go b/pkg/client/controller/applyconfiguration/common/v1beta1/filterspec.go deleted file mode 100644 index e5fa98c995b..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/filterspec.go +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// FilterSpecApplyConfiguration represents an declarative configuration of the FilterSpec type for use -// with apply. -type FilterSpecApplyConfiguration struct { - MetricsFormat []string `json:"metricsFormat,omitempty"` -} - -// FilterSpecApplyConfiguration constructs an declarative configuration of the FilterSpec type for use with -// apply. -func FilterSpec() *FilterSpecApplyConfiguration { - return &FilterSpecApplyConfiguration{} -} - -// WithMetricsFormat adds the given value to the MetricsFormat field in the declarative configuration -// and returns the receiver, so that objects can be build by chaining "With" function invocations. -// If called multiple times, values provided by each call will be appended to the MetricsFormat field. -func (b *FilterSpecApplyConfiguration) WithMetricsFormat(values ...string) *FilterSpecApplyConfiguration { - for i := range values { - b.MetricsFormat = append(b.MetricsFormat, values[i]) - } - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/metric.go b/pkg/client/controller/applyconfiguration/common/v1beta1/metric.go deleted file mode 100644 index f8437349a62..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/metric.go +++ /dev/null @@ -1,66 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// MetricApplyConfiguration represents an declarative configuration of the Metric type for use -// with apply. -type MetricApplyConfiguration struct { - Name *string `json:"name,omitempty"` - Min *string `json:"min,omitempty"` - Max *string `json:"max,omitempty"` - Latest *string `json:"latest,omitempty"` -} - -// MetricApplyConfiguration constructs an declarative configuration of the Metric type for use with -// apply. -func Metric() *MetricApplyConfiguration { - return &MetricApplyConfiguration{} -} - -// WithName sets the Name field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Name field is set to the value of the last call. -func (b *MetricApplyConfiguration) WithName(value string) *MetricApplyConfiguration { - b.Name = &value - return b -} - -// WithMin sets the Min field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Min field is set to the value of the last call. -func (b *MetricApplyConfiguration) WithMin(value string) *MetricApplyConfiguration { - b.Min = &value - return b -} - -// WithMax sets the Max field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Max field is set to the value of the last call. -func (b *MetricApplyConfiguration) WithMax(value string) *MetricApplyConfiguration { - b.Max = &value - return b -} - -// WithLatest sets the Latest field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Latest field is set to the value of the last call. -func (b *MetricApplyConfiguration) WithLatest(value string) *MetricApplyConfiguration { - b.Latest = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/metricscollectorspec.go b/pkg/client/controller/applyconfiguration/common/v1beta1/metricscollectorspec.go deleted file mode 100644 index 74919f36f36..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/metricscollectorspec.go +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// MetricsCollectorSpecApplyConfiguration represents an declarative configuration of the MetricsCollectorSpec type for use -// with apply. -type MetricsCollectorSpecApplyConfiguration struct { - Source *SourceSpecApplyConfiguration `json:"source,omitempty"` - Collector *CollectorSpecApplyConfiguration `json:"collector,omitempty"` -} - -// MetricsCollectorSpecApplyConfiguration constructs an declarative configuration of the MetricsCollectorSpec type for use with -// apply. -func MetricsCollectorSpec() *MetricsCollectorSpecApplyConfiguration { - return &MetricsCollectorSpecApplyConfiguration{} -} - -// WithSource sets the Source field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Source field is set to the value of the last call. -func (b *MetricsCollectorSpecApplyConfiguration) WithSource(value *SourceSpecApplyConfiguration) *MetricsCollectorSpecApplyConfiguration { - b.Source = value - return b -} - -// WithCollector sets the Collector field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Collector field is set to the value of the last call. -func (b *MetricsCollectorSpecApplyConfiguration) WithCollector(value *CollectorSpecApplyConfiguration) *MetricsCollectorSpecApplyConfiguration { - b.Collector = value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/metricstrategy.go b/pkg/client/controller/applyconfiguration/common/v1beta1/metricstrategy.go deleted file mode 100644 index 93e0a13358e..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/metricstrategy.go +++ /dev/null @@ -1,52 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" -) - -// MetricStrategyApplyConfiguration represents an declarative configuration of the MetricStrategy type for use -// with apply. -type MetricStrategyApplyConfiguration struct { - Name *string `json:"name,omitempty"` - Value *v1beta1.MetricStrategyType `json:"value,omitempty"` -} - -// MetricStrategyApplyConfiguration constructs an declarative configuration of the MetricStrategy type for use with -// apply. -func MetricStrategy() *MetricStrategyApplyConfiguration { - return &MetricStrategyApplyConfiguration{} -} - -// WithName sets the Name field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Name field is set to the value of the last call. -func (b *MetricStrategyApplyConfiguration) WithName(value string) *MetricStrategyApplyConfiguration { - b.Name = &value - return b -} - -// WithValue sets the Value field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Value field is set to the value of the last call. -func (b *MetricStrategyApplyConfiguration) WithValue(value v1beta1.MetricStrategyType) *MetricStrategyApplyConfiguration { - b.Value = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/objectivespec.go b/pkg/client/controller/applyconfiguration/common/v1beta1/objectivespec.go deleted file mode 100644 index eff376e20ec..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/objectivespec.go +++ /dev/null @@ -1,86 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" -) - -// ObjectiveSpecApplyConfiguration represents an declarative configuration of the ObjectiveSpec type for use -// with apply. -type ObjectiveSpecApplyConfiguration struct { - Type *v1beta1.ObjectiveType `json:"type,omitempty"` - Goal *float64 `json:"goal,omitempty"` - ObjectiveMetricName *string `json:"objectiveMetricName,omitempty"` - AdditionalMetricNames []string `json:"additionalMetricNames,omitempty"` - MetricStrategies []MetricStrategyApplyConfiguration `json:"metricStrategies,omitempty"` -} - -// ObjectiveSpecApplyConfiguration constructs an declarative configuration of the ObjectiveSpec type for use with -// apply. -func ObjectiveSpec() *ObjectiveSpecApplyConfiguration { - return &ObjectiveSpecApplyConfiguration{} -} - -// WithType sets the Type field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Type field is set to the value of the last call. -func (b *ObjectiveSpecApplyConfiguration) WithType(value v1beta1.ObjectiveType) *ObjectiveSpecApplyConfiguration { - b.Type = &value - return b -} - -// WithGoal sets the Goal field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Goal field is set to the value of the last call. -func (b *ObjectiveSpecApplyConfiguration) WithGoal(value float64) *ObjectiveSpecApplyConfiguration { - b.Goal = &value - return b -} - -// WithObjectiveMetricName sets the ObjectiveMetricName field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the ObjectiveMetricName field is set to the value of the last call. -func (b *ObjectiveSpecApplyConfiguration) WithObjectiveMetricName(value string) *ObjectiveSpecApplyConfiguration { - b.ObjectiveMetricName = &value - return b -} - -// WithAdditionalMetricNames adds the given value to the AdditionalMetricNames field in the declarative configuration -// and returns the receiver, so that objects can be build by chaining "With" function invocations. -// If called multiple times, values provided by each call will be appended to the AdditionalMetricNames field. -func (b *ObjectiveSpecApplyConfiguration) WithAdditionalMetricNames(values ...string) *ObjectiveSpecApplyConfiguration { - for i := range values { - b.AdditionalMetricNames = append(b.AdditionalMetricNames, values[i]) - } - return b -} - -// WithMetricStrategies adds the given value to the MetricStrategies field in the declarative configuration -// and returns the receiver, so that objects can be build by chaining "With" function invocations. -// If called multiple times, values provided by each call will be appended to the MetricStrategies field. -func (b *ObjectiveSpecApplyConfiguration) WithMetricStrategies(values ...*MetricStrategyApplyConfiguration) *ObjectiveSpecApplyConfiguration { - for i := range values { - if values[i] == nil { - panic("nil value passed to WithMetricStrategies") - } - b.MetricStrategies = append(b.MetricStrategies, *values[i]) - } - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/observation.go b/pkg/client/controller/applyconfiguration/common/v1beta1/observation.go deleted file mode 100644 index 0d40846837b..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/observation.go +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// ObservationApplyConfiguration represents an declarative configuration of the Observation type for use -// with apply. -type ObservationApplyConfiguration struct { - Metrics []MetricApplyConfiguration `json:"metrics,omitempty"` -} - -// ObservationApplyConfiguration constructs an declarative configuration of the Observation type for use with -// apply. -func Observation() *ObservationApplyConfiguration { - return &ObservationApplyConfiguration{} -} - -// WithMetrics adds the given value to the Metrics field in the declarative configuration -// and returns the receiver, so that objects can be build by chaining "With" function invocations. -// If called multiple times, values provided by each call will be appended to the Metrics field. -func (b *ObservationApplyConfiguration) WithMetrics(values ...*MetricApplyConfiguration) *ObservationApplyConfiguration { - for i := range values { - if values[i] == nil { - panic("nil value passed to WithMetrics") - } - b.Metrics = append(b.Metrics, *values[i]) - } - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/parameterassignment.go b/pkg/client/controller/applyconfiguration/common/v1beta1/parameterassignment.go deleted file mode 100644 index 2a49007c020..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/parameterassignment.go +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -// ParameterAssignmentApplyConfiguration represents an declarative configuration of the ParameterAssignment type for use -// with apply. -type ParameterAssignmentApplyConfiguration struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ParameterAssignmentApplyConfiguration constructs an declarative configuration of the ParameterAssignment type for use with -// apply. -func ParameterAssignment() *ParameterAssignmentApplyConfiguration { - return &ParameterAssignmentApplyConfiguration{} -} - -// WithName sets the Name field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Name field is set to the value of the last call. -func (b *ParameterAssignmentApplyConfiguration) WithName(value string) *ParameterAssignmentApplyConfiguration { - b.Name = &value - return b -} - -// WithValue sets the Value field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Value field is set to the value of the last call. -func (b *ParameterAssignmentApplyConfiguration) WithValue(value string) *ParameterAssignmentApplyConfiguration { - b.Value = &value - return b -} diff --git a/pkg/client/controller/applyconfiguration/common/v1beta1/sourcespec.go b/pkg/client/controller/applyconfiguration/common/v1beta1/sourcespec.go deleted file mode 100644 index 792fd4220cd..00000000000 --- a/pkg/client/controller/applyconfiguration/common/v1beta1/sourcespec.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by applyconfiguration-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1 "k8s.io/api/core/v1" -) - -// SourceSpecApplyConfiguration represents an declarative configuration of the SourceSpec type for use -// with apply. -type SourceSpecApplyConfiguration struct { - HttpGet *v1.HTTPGetAction `json:"httpGet,omitempty"` - FileSystemPath *FileSystemPathApplyConfiguration `json:"fileSystemPath,omitempty"` - Filter *FilterSpecApplyConfiguration `json:"filter,omitempty"` -} - -// SourceSpecApplyConfiguration constructs an declarative configuration of the SourceSpec type for use with -// apply. -func SourceSpec() *SourceSpecApplyConfiguration { - return &SourceSpecApplyConfiguration{} -} - -// WithHttpGet sets the HttpGet field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the HttpGet field is set to the value of the last call. -func (b *SourceSpecApplyConfiguration) WithHttpGet(value v1.HTTPGetAction) *SourceSpecApplyConfiguration { - b.HttpGet = &value - return b -} - -// WithFileSystemPath sets the FileSystemPath field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the FileSystemPath field is set to the value of the last call. -func (b *SourceSpecApplyConfiguration) WithFileSystemPath(value *FileSystemPathApplyConfiguration) *SourceSpecApplyConfiguration { - b.FileSystemPath = value - return b -} - -// WithFilter sets the Filter field in the declarative configuration to the given value -// and returns the receiver, so that objects can be built by chaining "With" function invocations. -// If called multiple times, the Filter field is set to the value of the last call. -func (b *SourceSpecApplyConfiguration) WithFilter(value *FilterSpecApplyConfiguration) *SourceSpecApplyConfiguration { - b.Filter = value - return b -} diff --git a/pkg/client/controller/applyconfiguration/experiments/v1beta1/experimentspec.go b/pkg/client/controller/applyconfiguration/experiments/v1beta1/experimentspec.go index 95f11e62882..5070044bbb9 100644 --- a/pkg/client/controller/applyconfiguration/experiments/v1beta1/experimentspec.go +++ b/pkg/client/controller/applyconfiguration/experiments/v1beta1/experimentspec.go @@ -19,24 +19,24 @@ limitations under the License. package v1beta1 import ( + commonv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" experimentsv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1" - commonv1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" ) // ExperimentSpecApplyConfiguration represents an declarative configuration of the ExperimentSpec type for use // with apply. type ExperimentSpecApplyConfiguration struct { - Parameters []ParameterSpecApplyConfiguration `json:"parameters,omitempty"` - Objective *commonv1beta1.ObjectiveSpecApplyConfiguration `json:"objective,omitempty"` - Algorithm *commonv1beta1.AlgorithmSpecApplyConfiguration `json:"algorithm,omitempty"` - EarlyStopping *commonv1beta1.EarlyStoppingSpecApplyConfiguration `json:"earlyStopping,omitempty"` - TrialTemplate *TrialTemplateApplyConfiguration `json:"trialTemplate,omitempty"` - ParallelTrialCount *int32 `json:"parallelTrialCount,omitempty"` - MaxTrialCount *int32 `json:"maxTrialCount,omitempty"` - MaxFailedTrialCount *int32 `json:"maxFailedTrialCount,omitempty"` - MetricsCollectorSpec *commonv1beta1.MetricsCollectorSpecApplyConfiguration `json:"metricsCollectorSpec,omitempty"` - NasConfig *NasConfigApplyConfiguration `json:"nasConfig,omitempty"` - ResumePolicy *experimentsv1beta1.ResumePolicyType `json:"resumePolicy,omitempty"` + Parameters []ParameterSpecApplyConfiguration `json:"parameters,omitempty"` + Objective *commonv1beta1.ObjectiveSpec `json:"objective,omitempty"` + Algorithm *commonv1beta1.AlgorithmSpec `json:"algorithm,omitempty"` + EarlyStopping *commonv1beta1.EarlyStoppingSpec `json:"earlyStopping,omitempty"` + TrialTemplate *TrialTemplateApplyConfiguration `json:"trialTemplate,omitempty"` + ParallelTrialCount *int32 `json:"parallelTrialCount,omitempty"` + MaxTrialCount *int32 `json:"maxTrialCount,omitempty"` + MaxFailedTrialCount *int32 `json:"maxFailedTrialCount,omitempty"` + MetricsCollectorSpec *commonv1beta1.MetricsCollectorSpec `json:"metricsCollectorSpec,omitempty"` + NasConfig *NasConfigApplyConfiguration `json:"nasConfig,omitempty"` + ResumePolicy *experimentsv1beta1.ResumePolicyType `json:"resumePolicy,omitempty"` } // ExperimentSpecApplyConfiguration constructs an declarative configuration of the ExperimentSpec type for use with @@ -61,24 +61,24 @@ func (b *ExperimentSpecApplyConfiguration) WithParameters(values ...*ParameterSp // WithObjective sets the Objective field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the Objective field is set to the value of the last call. -func (b *ExperimentSpecApplyConfiguration) WithObjective(value *commonv1beta1.ObjectiveSpecApplyConfiguration) *ExperimentSpecApplyConfiguration { - b.Objective = value +func (b *ExperimentSpecApplyConfiguration) WithObjective(value commonv1beta1.ObjectiveSpec) *ExperimentSpecApplyConfiguration { + b.Objective = &value return b } // WithAlgorithm sets the Algorithm field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the Algorithm field is set to the value of the last call. -func (b *ExperimentSpecApplyConfiguration) WithAlgorithm(value *commonv1beta1.AlgorithmSpecApplyConfiguration) *ExperimentSpecApplyConfiguration { - b.Algorithm = value +func (b *ExperimentSpecApplyConfiguration) WithAlgorithm(value commonv1beta1.AlgorithmSpec) *ExperimentSpecApplyConfiguration { + b.Algorithm = &value return b } // WithEarlyStopping sets the EarlyStopping field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the EarlyStopping field is set to the value of the last call. -func (b *ExperimentSpecApplyConfiguration) WithEarlyStopping(value *commonv1beta1.EarlyStoppingSpecApplyConfiguration) *ExperimentSpecApplyConfiguration { - b.EarlyStopping = value +func (b *ExperimentSpecApplyConfiguration) WithEarlyStopping(value commonv1beta1.EarlyStoppingSpec) *ExperimentSpecApplyConfiguration { + b.EarlyStopping = &value return b } @@ -117,8 +117,8 @@ func (b *ExperimentSpecApplyConfiguration) WithMaxFailedTrialCount(value int32) // WithMetricsCollectorSpec sets the MetricsCollectorSpec field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the MetricsCollectorSpec field is set to the value of the last call. -func (b *ExperimentSpecApplyConfiguration) WithMetricsCollectorSpec(value *commonv1beta1.MetricsCollectorSpecApplyConfiguration) *ExperimentSpecApplyConfiguration { - b.MetricsCollectorSpec = value +func (b *ExperimentSpecApplyConfiguration) WithMetricsCollectorSpec(value commonv1beta1.MetricsCollectorSpec) *ExperimentSpecApplyConfiguration { + b.MetricsCollectorSpec = &value return b } diff --git a/pkg/client/controller/applyconfiguration/experiments/v1beta1/optimaltrial.go b/pkg/client/controller/applyconfiguration/experiments/v1beta1/optimaltrial.go index 43b8f7714a1..b02f5bdf245 100644 --- a/pkg/client/controller/applyconfiguration/experiments/v1beta1/optimaltrial.go +++ b/pkg/client/controller/applyconfiguration/experiments/v1beta1/optimaltrial.go @@ -19,15 +19,15 @@ limitations under the License. package v1beta1 import ( - v1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" + v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" ) // OptimalTrialApplyConfiguration represents an declarative configuration of the OptimalTrial type for use // with apply. type OptimalTrialApplyConfiguration struct { - BestTrialName *string `json:"bestTrialName,omitempty"` - ParameterAssignments []v1beta1.ParameterAssignmentApplyConfiguration `json:"parameterAssignments,omitempty"` - Observation *v1beta1.ObservationApplyConfiguration `json:"observation,omitempty"` + BestTrialName *string `json:"bestTrialName,omitempty"` + ParameterAssignments []v1beta1.ParameterAssignment `json:"parameterAssignments,omitempty"` + Observation *v1beta1.Observation `json:"observation,omitempty"` } // OptimalTrialApplyConfiguration constructs an declarative configuration of the OptimalTrial type for use with @@ -47,12 +47,9 @@ func (b *OptimalTrialApplyConfiguration) WithBestTrialName(value string) *Optima // WithParameterAssignments adds the given value to the ParameterAssignments field in the declarative configuration // and returns the receiver, so that objects can be build by chaining "With" function invocations. // If called multiple times, values provided by each call will be appended to the ParameterAssignments field. -func (b *OptimalTrialApplyConfiguration) WithParameterAssignments(values ...*v1beta1.ParameterAssignmentApplyConfiguration) *OptimalTrialApplyConfiguration { +func (b *OptimalTrialApplyConfiguration) WithParameterAssignments(values ...v1beta1.ParameterAssignment) *OptimalTrialApplyConfiguration { for i := range values { - if values[i] == nil { - panic("nil value passed to WithParameterAssignments") - } - b.ParameterAssignments = append(b.ParameterAssignments, *values[i]) + b.ParameterAssignments = append(b.ParameterAssignments, values[i]) } return b } @@ -60,7 +57,7 @@ func (b *OptimalTrialApplyConfiguration) WithParameterAssignments(values ...*v1b // WithObservation sets the Observation field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the Observation field is set to the value of the last call. -func (b *OptimalTrialApplyConfiguration) WithObservation(value *v1beta1.ObservationApplyConfiguration) *OptimalTrialApplyConfiguration { - b.Observation = value +func (b *OptimalTrialApplyConfiguration) WithObservation(value v1beta1.Observation) *OptimalTrialApplyConfiguration { + b.Observation = &value return b } diff --git a/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionspec.go b/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionspec.go index fbe7bfd67e4..b56ca1a9f3d 100644 --- a/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionspec.go +++ b/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionspec.go @@ -19,17 +19,17 @@ limitations under the License. package v1beta1 import ( + v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" experimentsv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1" - v1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" ) // SuggestionSpecApplyConfiguration represents an declarative configuration of the SuggestionSpec type for use // with apply. type SuggestionSpecApplyConfiguration struct { - Algorithm *v1beta1.AlgorithmSpecApplyConfiguration `json:"algorithm,omitempty"` - EarlyStopping *v1beta1.EarlyStoppingSpecApplyConfiguration `json:"earlyStopping,omitempty"` - Requests *int32 `json:"requests,omitempty"` - ResumePolicy *experimentsv1beta1.ResumePolicyType `json:"resumePolicy,omitempty"` + Algorithm *v1beta1.AlgorithmSpec `json:"algorithm,omitempty"` + EarlyStopping *v1beta1.EarlyStoppingSpec `json:"earlyStopping,omitempty"` + Requests *int32 `json:"requests,omitempty"` + ResumePolicy *experimentsv1beta1.ResumePolicyType `json:"resumePolicy,omitempty"` } // SuggestionSpecApplyConfiguration constructs an declarative configuration of the SuggestionSpec type for use with @@ -41,16 +41,16 @@ func SuggestionSpec() *SuggestionSpecApplyConfiguration { // WithAlgorithm sets the Algorithm field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the Algorithm field is set to the value of the last call. -func (b *SuggestionSpecApplyConfiguration) WithAlgorithm(value *v1beta1.AlgorithmSpecApplyConfiguration) *SuggestionSpecApplyConfiguration { - b.Algorithm = value +func (b *SuggestionSpecApplyConfiguration) WithAlgorithm(value v1beta1.AlgorithmSpec) *SuggestionSpecApplyConfiguration { + b.Algorithm = &value return b } // WithEarlyStopping sets the EarlyStopping field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the EarlyStopping field is set to the value of the last call. -func (b *SuggestionSpecApplyConfiguration) WithEarlyStopping(value *v1beta1.EarlyStoppingSpecApplyConfiguration) *SuggestionSpecApplyConfiguration { - b.EarlyStopping = value +func (b *SuggestionSpecApplyConfiguration) WithEarlyStopping(value v1beta1.EarlyStoppingSpec) *SuggestionSpecApplyConfiguration { + b.EarlyStopping = &value return b } diff --git a/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionstatus.go b/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionstatus.go index 0f88a84429a..856ba321835 100644 --- a/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionstatus.go +++ b/pkg/client/controller/applyconfiguration/suggestions/v1beta1/suggestionstatus.go @@ -19,20 +19,20 @@ limitations under the License. package v1beta1 import ( - v1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" + v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // SuggestionStatusApplyConfiguration represents an declarative configuration of the SuggestionStatus type for use // with apply. type SuggestionStatusApplyConfiguration struct { - AlgorithmSettings []v1beta1.AlgorithmSettingApplyConfiguration `json:"algorithmSettings,omitempty"` - SuggestionCount *int32 `json:"suggestionCount,omitempty"` - Suggestions []TrialAssignmentApplyConfiguration `json:"suggestions,omitempty"` - StartTime *v1.Time `json:"startTime,omitempty"` - CompletionTime *v1.Time `json:"completionTime,omitempty"` - LastReconcileTime *v1.Time `json:"lastReconcileTime,omitempty"` - Conditions []SuggestionConditionApplyConfiguration `json:"conditions,omitempty"` + AlgorithmSettings []v1beta1.AlgorithmSetting `json:"algorithmSettings,omitempty"` + SuggestionCount *int32 `json:"suggestionCount,omitempty"` + Suggestions []TrialAssignmentApplyConfiguration `json:"suggestions,omitempty"` + StartTime *v1.Time `json:"startTime,omitempty"` + CompletionTime *v1.Time `json:"completionTime,omitempty"` + LastReconcileTime *v1.Time `json:"lastReconcileTime,omitempty"` + Conditions []SuggestionConditionApplyConfiguration `json:"conditions,omitempty"` } // SuggestionStatusApplyConfiguration constructs an declarative configuration of the SuggestionStatus type for use with @@ -44,12 +44,9 @@ func SuggestionStatus() *SuggestionStatusApplyConfiguration { // WithAlgorithmSettings adds the given value to the AlgorithmSettings field in the declarative configuration // and returns the receiver, so that objects can be build by chaining "With" function invocations. // If called multiple times, values provided by each call will be appended to the AlgorithmSettings field. -func (b *SuggestionStatusApplyConfiguration) WithAlgorithmSettings(values ...*v1beta1.AlgorithmSettingApplyConfiguration) *SuggestionStatusApplyConfiguration { +func (b *SuggestionStatusApplyConfiguration) WithAlgorithmSettings(values ...v1beta1.AlgorithmSetting) *SuggestionStatusApplyConfiguration { for i := range values { - if values[i] == nil { - panic("nil value passed to WithAlgorithmSettings") - } - b.AlgorithmSettings = append(b.AlgorithmSettings, *values[i]) + b.AlgorithmSettings = append(b.AlgorithmSettings, values[i]) } return b } diff --git a/pkg/client/controller/applyconfiguration/suggestions/v1beta1/trialassignment.go b/pkg/client/controller/applyconfiguration/suggestions/v1beta1/trialassignment.go index 261e31a6b28..1449b95167f 100644 --- a/pkg/client/controller/applyconfiguration/suggestions/v1beta1/trialassignment.go +++ b/pkg/client/controller/applyconfiguration/suggestions/v1beta1/trialassignment.go @@ -19,16 +19,16 @@ limitations under the License. package v1beta1 import ( - v1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" + v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" ) // TrialAssignmentApplyConfiguration represents an declarative configuration of the TrialAssignment type for use // with apply. type TrialAssignmentApplyConfiguration struct { - ParameterAssignments []v1beta1.ParameterAssignmentApplyConfiguration `json:"parameterAssignments,omitempty"` - Name *string `json:"name,omitempty"` - EarlyStoppingRules []v1beta1.EarlyStoppingRuleApplyConfiguration `json:"earlyStoppingRules,omitempty"` - Labels map[string]string `json:"labels,omitempty"` + ParameterAssignments []v1beta1.ParameterAssignment `json:"parameterAssignments,omitempty"` + Name *string `json:"name,omitempty"` + EarlyStoppingRules []v1beta1.EarlyStoppingRule `json:"earlyStoppingRules,omitempty"` + Labels map[string]string `json:"labels,omitempty"` } // TrialAssignmentApplyConfiguration constructs an declarative configuration of the TrialAssignment type for use with @@ -40,12 +40,9 @@ func TrialAssignment() *TrialAssignmentApplyConfiguration { // WithParameterAssignments adds the given value to the ParameterAssignments field in the declarative configuration // and returns the receiver, so that objects can be build by chaining "With" function invocations. // If called multiple times, values provided by each call will be appended to the ParameterAssignments field. -func (b *TrialAssignmentApplyConfiguration) WithParameterAssignments(values ...*v1beta1.ParameterAssignmentApplyConfiguration) *TrialAssignmentApplyConfiguration { +func (b *TrialAssignmentApplyConfiguration) WithParameterAssignments(values ...v1beta1.ParameterAssignment) *TrialAssignmentApplyConfiguration { for i := range values { - if values[i] == nil { - panic("nil value passed to WithParameterAssignments") - } - b.ParameterAssignments = append(b.ParameterAssignments, *values[i]) + b.ParameterAssignments = append(b.ParameterAssignments, values[i]) } return b } @@ -61,12 +58,9 @@ func (b *TrialAssignmentApplyConfiguration) WithName(value string) *TrialAssignm // WithEarlyStoppingRules adds the given value to the EarlyStoppingRules field in the declarative configuration // and returns the receiver, so that objects can be build by chaining "With" function invocations. // If called multiple times, values provided by each call will be appended to the EarlyStoppingRules field. -func (b *TrialAssignmentApplyConfiguration) WithEarlyStoppingRules(values ...*v1beta1.EarlyStoppingRuleApplyConfiguration) *TrialAssignmentApplyConfiguration { +func (b *TrialAssignmentApplyConfiguration) WithEarlyStoppingRules(values ...v1beta1.EarlyStoppingRule) *TrialAssignmentApplyConfiguration { for i := range values { - if values[i] == nil { - panic("nil value passed to WithEarlyStoppingRules") - } - b.EarlyStoppingRules = append(b.EarlyStoppingRules, *values[i]) + b.EarlyStoppingRules = append(b.EarlyStoppingRules, values[i]) } return b } diff --git a/pkg/client/controller/applyconfiguration/trials/v1beta1/trialspec.go b/pkg/client/controller/applyconfiguration/trials/v1beta1/trialspec.go index bbe4a54535e..c6a482b7673 100644 --- a/pkg/client/controller/applyconfiguration/trials/v1beta1/trialspec.go +++ b/pkg/client/controller/applyconfiguration/trials/v1beta1/trialspec.go @@ -19,24 +19,24 @@ limitations under the License. package v1beta1 import ( - v1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" + v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" unstructured "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) // TrialSpecApplyConfiguration represents an declarative configuration of the TrialSpec type for use // with apply. type TrialSpecApplyConfiguration struct { - Objective *v1beta1.ObjectiveSpecApplyConfiguration `json:"objective,omitempty"` - ParameterAssignments []v1beta1.ParameterAssignmentApplyConfiguration `json:"parameterAssignments,omitempty"` - EarlyStoppingRules []v1beta1.EarlyStoppingRuleApplyConfiguration `json:"earlyStoppingRules,omitempty"` - RunSpec *unstructured.Unstructured `json:"runSpec,omitempty"` - RetainRun *bool `json:"retainRun,omitempty"` - MetricsCollector *v1beta1.MetricsCollectorSpecApplyConfiguration `json:"metricsCollector,omitempty"` - PrimaryPodLabels map[string]string `json:"primaryPodLabels,omitempty"` - PrimaryContainerName *string `json:"primaryContainerName,omitempty"` - SuccessCondition *string `json:"successCondition,omitempty"` - FailureCondition *string `json:"failureCondition,omitempty"` - Labels map[string]string `json:"labels,omitempty"` + Objective *v1beta1.ObjectiveSpec `json:"objective,omitempty"` + ParameterAssignments []v1beta1.ParameterAssignment `json:"parameterAssignments,omitempty"` + EarlyStoppingRules []v1beta1.EarlyStoppingRule `json:"earlyStoppingRules,omitempty"` + RunSpec *unstructured.Unstructured `json:"runSpec,omitempty"` + RetainRun *bool `json:"retainRun,omitempty"` + MetricsCollector *v1beta1.MetricsCollectorSpec `json:"metricsCollector,omitempty"` + PrimaryPodLabels map[string]string `json:"primaryPodLabels,omitempty"` + PrimaryContainerName *string `json:"primaryContainerName,omitempty"` + SuccessCondition *string `json:"successCondition,omitempty"` + FailureCondition *string `json:"failureCondition,omitempty"` + Labels map[string]string `json:"labels,omitempty"` } // TrialSpecApplyConfiguration constructs an declarative configuration of the TrialSpec type for use with @@ -48,20 +48,17 @@ func TrialSpec() *TrialSpecApplyConfiguration { // WithObjective sets the Objective field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the Objective field is set to the value of the last call. -func (b *TrialSpecApplyConfiguration) WithObjective(value *v1beta1.ObjectiveSpecApplyConfiguration) *TrialSpecApplyConfiguration { - b.Objective = value +func (b *TrialSpecApplyConfiguration) WithObjective(value v1beta1.ObjectiveSpec) *TrialSpecApplyConfiguration { + b.Objective = &value return b } // WithParameterAssignments adds the given value to the ParameterAssignments field in the declarative configuration // and returns the receiver, so that objects can be build by chaining "With" function invocations. // If called multiple times, values provided by each call will be appended to the ParameterAssignments field. -func (b *TrialSpecApplyConfiguration) WithParameterAssignments(values ...*v1beta1.ParameterAssignmentApplyConfiguration) *TrialSpecApplyConfiguration { +func (b *TrialSpecApplyConfiguration) WithParameterAssignments(values ...v1beta1.ParameterAssignment) *TrialSpecApplyConfiguration { for i := range values { - if values[i] == nil { - panic("nil value passed to WithParameterAssignments") - } - b.ParameterAssignments = append(b.ParameterAssignments, *values[i]) + b.ParameterAssignments = append(b.ParameterAssignments, values[i]) } return b } @@ -69,12 +66,9 @@ func (b *TrialSpecApplyConfiguration) WithParameterAssignments(values ...*v1beta // WithEarlyStoppingRules adds the given value to the EarlyStoppingRules field in the declarative configuration // and returns the receiver, so that objects can be build by chaining "With" function invocations. // If called multiple times, values provided by each call will be appended to the EarlyStoppingRules field. -func (b *TrialSpecApplyConfiguration) WithEarlyStoppingRules(values ...*v1beta1.EarlyStoppingRuleApplyConfiguration) *TrialSpecApplyConfiguration { +func (b *TrialSpecApplyConfiguration) WithEarlyStoppingRules(values ...v1beta1.EarlyStoppingRule) *TrialSpecApplyConfiguration { for i := range values { - if values[i] == nil { - panic("nil value passed to WithEarlyStoppingRules") - } - b.EarlyStoppingRules = append(b.EarlyStoppingRules, *values[i]) + b.EarlyStoppingRules = append(b.EarlyStoppingRules, values[i]) } return b } @@ -98,8 +92,8 @@ func (b *TrialSpecApplyConfiguration) WithRetainRun(value bool) *TrialSpecApplyC // WithMetricsCollector sets the MetricsCollector field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the MetricsCollector field is set to the value of the last call. -func (b *TrialSpecApplyConfiguration) WithMetricsCollector(value *v1beta1.MetricsCollectorSpecApplyConfiguration) *TrialSpecApplyConfiguration { - b.MetricsCollector = value +func (b *TrialSpecApplyConfiguration) WithMetricsCollector(value v1beta1.MetricsCollectorSpec) *TrialSpecApplyConfiguration { + b.MetricsCollector = &value return b } diff --git a/pkg/client/controller/applyconfiguration/trials/v1beta1/trialstatus.go b/pkg/client/controller/applyconfiguration/trials/v1beta1/trialstatus.go index fc5ef7959d4..121db6061e5 100644 --- a/pkg/client/controller/applyconfiguration/trials/v1beta1/trialstatus.go +++ b/pkg/client/controller/applyconfiguration/trials/v1beta1/trialstatus.go @@ -19,18 +19,18 @@ limitations under the License. package v1beta1 import ( - commonv1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" + commonv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // TrialStatusApplyConfiguration represents an declarative configuration of the TrialStatus type for use // with apply. type TrialStatusApplyConfiguration struct { - StartTime *v1.Time `json:"startTime,omitempty"` - CompletionTime *v1.Time `json:"completionTime,omitempty"` - LastReconcileTime *v1.Time `json:"lastReconcileTime,omitempty"` - Conditions []TrialConditionApplyConfiguration `json:"conditions,omitempty"` - Observation *commonv1beta1.ObservationApplyConfiguration `json:"observation,omitempty"` + StartTime *v1.Time `json:"startTime,omitempty"` + CompletionTime *v1.Time `json:"completionTime,omitempty"` + LastReconcileTime *v1.Time `json:"lastReconcileTime,omitempty"` + Conditions []TrialConditionApplyConfiguration `json:"conditions,omitempty"` + Observation *commonv1beta1.Observation `json:"observation,omitempty"` } // TrialStatusApplyConfiguration constructs an declarative configuration of the TrialStatus type for use with @@ -79,7 +79,7 @@ func (b *TrialStatusApplyConfiguration) WithConditions(values ...*TrialCondition // WithObservation sets the Observation field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the Observation field is set to the value of the last call. -func (b *TrialStatusApplyConfiguration) WithObservation(value *commonv1beta1.ObservationApplyConfiguration) *TrialStatusApplyConfiguration { - b.Observation = value +func (b *TrialStatusApplyConfiguration) WithObservation(value commonv1beta1.Observation) *TrialStatusApplyConfiguration { + b.Observation = &value return b } diff --git a/pkg/client/controller/applyconfiguration/utils.go b/pkg/client/controller/applyconfiguration/utils.go index ec0879c015f..4c39359ecf1 100644 --- a/pkg/client/controller/applyconfiguration/utils.go +++ b/pkg/client/controller/applyconfiguration/utils.go @@ -19,12 +19,10 @@ limitations under the License. package applyconfiguration import ( - v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" - experimentsv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1" + v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1" suggestionsv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1" trialsv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/trials/v1beta1" - commonv1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/common/v1beta1" - applyconfigurationexperimentsv1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/experiments/v1beta1" + experimentsv1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/experiments/v1beta1" applyconfigurationsuggestionsv1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/suggestions/v1beta1" applyconfigurationtrialsv1beta1 "github.com/kubeflow/katib/pkg/client/controller/applyconfiguration/trials/v1beta1" schema "k8s.io/apimachinery/pkg/runtime/schema" @@ -34,67 +32,35 @@ import ( // apply configuration type exists for the given GroupVersionKind. func ForKind(kind schema.GroupVersionKind) interface{} { switch kind { - // Group=common.kubeflow.org, Version=v1beta1 - case v1beta1.SchemeGroupVersion.WithKind("AlgorithmSetting"): - return &commonv1beta1.AlgorithmSettingApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("AlgorithmSpec"): - return &commonv1beta1.AlgorithmSpecApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("CollectorSpec"): - return &commonv1beta1.CollectorSpecApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("EarlyStoppingRule"): - return &commonv1beta1.EarlyStoppingRuleApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("EarlyStoppingSetting"): - return &commonv1beta1.EarlyStoppingSettingApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("EarlyStoppingSpec"): - return &commonv1beta1.EarlyStoppingSpecApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("FileSystemPath"): - return &commonv1beta1.FileSystemPathApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("FilterSpec"): - return &commonv1beta1.FilterSpecApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("Metric"): - return &commonv1beta1.MetricApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("MetricsCollectorSpec"): - return &commonv1beta1.MetricsCollectorSpecApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("MetricStrategy"): - return &commonv1beta1.MetricStrategyApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("ObjectiveSpec"): - return &commonv1beta1.ObjectiveSpecApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("Observation"): - return &commonv1beta1.ObservationApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("ParameterAssignment"): - return &commonv1beta1.ParameterAssignmentApplyConfiguration{} - case v1beta1.SchemeGroupVersion.WithKind("SourceSpec"): - return &commonv1beta1.SourceSpecApplyConfiguration{} - - // Group=experiment.kubeflow.org, Version=v1beta1 - case experimentsv1beta1.SchemeGroupVersion.WithKind("ConfigMapSource"): - return &applyconfigurationexperimentsv1beta1.ConfigMapSourceApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("Experiment"): - return &applyconfigurationexperimentsv1beta1.ExperimentApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("ExperimentCondition"): - return &applyconfigurationexperimentsv1beta1.ExperimentConditionApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("ExperimentSpec"): - return &applyconfigurationexperimentsv1beta1.ExperimentSpecApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("ExperimentStatus"): - return &applyconfigurationexperimentsv1beta1.ExperimentStatusApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("FeasibleSpace"): - return &applyconfigurationexperimentsv1beta1.FeasibleSpaceApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("GraphConfig"): - return &applyconfigurationexperimentsv1beta1.GraphConfigApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("NasConfig"): - return &applyconfigurationexperimentsv1beta1.NasConfigApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("Operation"): - return &applyconfigurationexperimentsv1beta1.OperationApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("OptimalTrial"): - return &applyconfigurationexperimentsv1beta1.OptimalTrialApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("ParameterSpec"): - return &applyconfigurationexperimentsv1beta1.ParameterSpecApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("TrialParameterSpec"): - return &applyconfigurationexperimentsv1beta1.TrialParameterSpecApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("TrialSource"): - return &applyconfigurationexperimentsv1beta1.TrialSourceApplyConfiguration{} - case experimentsv1beta1.SchemeGroupVersion.WithKind("TrialTemplate"): - return &applyconfigurationexperimentsv1beta1.TrialTemplateApplyConfiguration{} + // Group=experiment.kubeflow.org, Version=v1beta1 + case v1beta1.SchemeGroupVersion.WithKind("ConfigMapSource"): + return &experimentsv1beta1.ConfigMapSourceApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("Experiment"): + return &experimentsv1beta1.ExperimentApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("ExperimentCondition"): + return &experimentsv1beta1.ExperimentConditionApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("ExperimentSpec"): + return &experimentsv1beta1.ExperimentSpecApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("ExperimentStatus"): + return &experimentsv1beta1.ExperimentStatusApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("FeasibleSpace"): + return &experimentsv1beta1.FeasibleSpaceApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("GraphConfig"): + return &experimentsv1beta1.GraphConfigApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("NasConfig"): + return &experimentsv1beta1.NasConfigApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("Operation"): + return &experimentsv1beta1.OperationApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("OptimalTrial"): + return &experimentsv1beta1.OptimalTrialApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("ParameterSpec"): + return &experimentsv1beta1.ParameterSpecApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("TrialParameterSpec"): + return &experimentsv1beta1.TrialParameterSpecApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("TrialSource"): + return &experimentsv1beta1.TrialSourceApplyConfiguration{} + case v1beta1.SchemeGroupVersion.WithKind("TrialTemplate"): + return &experimentsv1beta1.TrialTemplateApplyConfiguration{} // Group=suggestion.kubeflow.org, Version=v1beta1 case suggestionsv1beta1.SchemeGroupVersion.WithKind("Suggestion"): diff --git a/pkg/client/controller/clientset/versioned/clientset.go b/pkg/client/controller/clientset/versioned/clientset.go index 4be4db7c4e3..2547b8526ed 100644 --- a/pkg/client/controller/clientset/versioned/clientset.go +++ b/pkg/client/controller/clientset/versioned/clientset.go @@ -22,7 +22,6 @@ import ( "fmt" "net/http" - commonv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/common/v1beta1" experimentv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/experiments/v1beta1" suggestionv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/suggestions/v1beta1" trialv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/trials/v1beta1" @@ -33,7 +32,6 @@ import ( type Interface interface { Discovery() discovery.DiscoveryInterface - CommonV1beta1() commonv1beta1.CommonV1beta1Interface ExperimentV1beta1() experimentv1beta1.ExperimentV1beta1Interface SuggestionV1beta1() suggestionv1beta1.SuggestionV1beta1Interface TrialV1beta1() trialv1beta1.TrialV1beta1Interface @@ -42,17 +40,11 @@ type Interface interface { // Clientset contains the clients for groups. type Clientset struct { *discovery.DiscoveryClient - commonV1beta1 *commonv1beta1.CommonV1beta1Client experimentV1beta1 *experimentv1beta1.ExperimentV1beta1Client suggestionV1beta1 *suggestionv1beta1.SuggestionV1beta1Client trialV1beta1 *trialv1beta1.TrialV1beta1Client } -// CommonV1beta1 retrieves the CommonV1beta1Client -func (c *Clientset) CommonV1beta1() commonv1beta1.CommonV1beta1Interface { - return c.commonV1beta1 -} - // ExperimentV1beta1 retrieves the ExperimentV1beta1Client func (c *Clientset) ExperimentV1beta1() experimentv1beta1.ExperimentV1beta1Interface { return c.experimentV1beta1 @@ -112,10 +104,6 @@ func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*Clientset, var cs Clientset var err error - cs.commonV1beta1, err = commonv1beta1.NewForConfigAndClient(&configShallowCopy, httpClient) - if err != nil { - return nil, err - } cs.experimentV1beta1, err = experimentv1beta1.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err @@ -149,7 +137,6 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { // New creates a new Clientset for the given RESTClient. func New(c rest.Interface) *Clientset { var cs Clientset - cs.commonV1beta1 = commonv1beta1.New(c) cs.experimentV1beta1 = experimentv1beta1.New(c) cs.suggestionV1beta1 = suggestionv1beta1.New(c) cs.trialV1beta1 = trialv1beta1.New(c) diff --git a/pkg/client/controller/clientset/versioned/fake/clientset_generated.go b/pkg/client/controller/clientset/versioned/fake/clientset_generated.go index 1ddf57d7abb..4ae91f6b408 100644 --- a/pkg/client/controller/clientset/versioned/fake/clientset_generated.go +++ b/pkg/client/controller/clientset/versioned/fake/clientset_generated.go @@ -20,8 +20,6 @@ package fake import ( clientset "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned" - commonv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/common/v1beta1" - fakecommonv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/common/v1beta1/fake" experimentv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/experiments/v1beta1" fakeexperimentv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/experiments/v1beta1/fake" suggestionv1beta1 "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/typed/suggestions/v1beta1" @@ -85,11 +83,6 @@ var ( _ testing.FakeClient = &Clientset{} ) -// CommonV1beta1 retrieves the CommonV1beta1Client -func (c *Clientset) CommonV1beta1() commonv1beta1.CommonV1beta1Interface { - return &fakecommonv1beta1.FakeCommonV1beta1{Fake: &c.Fake} -} - // ExperimentV1beta1 retrieves the ExperimentV1beta1Client func (c *Clientset) ExperimentV1beta1() experimentv1beta1.ExperimentV1beta1Interface { return &fakeexperimentv1beta1.FakeExperimentV1beta1{Fake: &c.Fake} diff --git a/pkg/client/controller/clientset/versioned/fake/register.go b/pkg/client/controller/clientset/versioned/fake/register.go index fa97ed11338..09c67880af3 100644 --- a/pkg/client/controller/clientset/versioned/fake/register.go +++ b/pkg/client/controller/clientset/versioned/fake/register.go @@ -19,7 +19,6 @@ limitations under the License. package fake import ( - commonv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" experimentv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1" suggestionv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1" trialv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/trials/v1beta1" @@ -34,7 +33,6 @@ var scheme = runtime.NewScheme() var codecs = serializer.NewCodecFactory(scheme) var localSchemeBuilder = runtime.SchemeBuilder{ - commonv1beta1.AddToScheme, experimentv1beta1.AddToScheme, suggestionv1beta1.AddToScheme, trialv1beta1.AddToScheme, diff --git a/pkg/client/controller/clientset/versioned/scheme/register.go b/pkg/client/controller/clientset/versioned/scheme/register.go index fc5e8fd7b04..a20ebb20e74 100644 --- a/pkg/client/controller/clientset/versioned/scheme/register.go +++ b/pkg/client/controller/clientset/versioned/scheme/register.go @@ -19,7 +19,6 @@ limitations under the License. package scheme import ( - commonv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" experimentv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/experiments/v1beta1" suggestionv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1" trialv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/trials/v1beta1" @@ -34,7 +33,6 @@ var Scheme = runtime.NewScheme() var Codecs = serializer.NewCodecFactory(Scheme) var ParameterCodec = runtime.NewParameterCodec(Scheme) var localSchemeBuilder = runtime.SchemeBuilder{ - commonv1beta1.AddToScheme, experimentv1beta1.AddToScheme, suggestionv1beta1.AddToScheme, trialv1beta1.AddToScheme, diff --git a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/common_client.go b/pkg/client/controller/clientset/versioned/typed/common/v1beta1/common_client.go deleted file mode 100644 index ef4bfad68cf..00000000000 --- a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/common_client.go +++ /dev/null @@ -1,102 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "net/http" - - v1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1" - "github.com/kubeflow/katib/pkg/client/controller/clientset/versioned/scheme" - rest "k8s.io/client-go/rest" -) - -type CommonV1beta1Interface interface { - RESTClient() rest.Interface -} - -// CommonV1beta1Client is used to interact with features provided by the common.kubeflow.org group. -type CommonV1beta1Client struct { - restClient rest.Interface -} - -// NewForConfig creates a new CommonV1beta1Client for the given config. -// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), -// where httpClient was generated with rest.HTTPClientFor(c). -func NewForConfig(c *rest.Config) (*CommonV1beta1Client, error) { - config := *c - if err := setConfigDefaults(&config); err != nil { - return nil, err - } - httpClient, err := rest.HTTPClientFor(&config) - if err != nil { - return nil, err - } - return NewForConfigAndClient(&config, httpClient) -} - -// NewForConfigAndClient creates a new CommonV1beta1Client for the given config and http client. -// Note the http client provided takes precedence over the configured transport values. -func NewForConfigAndClient(c *rest.Config, h *http.Client) (*CommonV1beta1Client, error) { - config := *c - if err := setConfigDefaults(&config); err != nil { - return nil, err - } - client, err := rest.RESTClientForConfigAndClient(&config, h) - if err != nil { - return nil, err - } - return &CommonV1beta1Client{client}, nil -} - -// NewForConfigOrDie creates a new CommonV1beta1Client for the given config and -// panics if there is an error in the config. -func NewForConfigOrDie(c *rest.Config) *CommonV1beta1Client { - client, err := NewForConfig(c) - if err != nil { - panic(err) - } - return client -} - -// New creates a new CommonV1beta1Client for the given RESTClient. -func New(c rest.Interface) *CommonV1beta1Client { - return &CommonV1beta1Client{c} -} - -func setConfigDefaults(config *rest.Config) error { - gv := v1beta1.SchemeGroupVersion - config.GroupVersion = &gv - config.APIPath = "/apis" - config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() - - if config.UserAgent == "" { - config.UserAgent = rest.DefaultKubernetesUserAgent() - } - - return nil -} - -// RESTClient returns a RESTClient that is used to communicate -// with API server by this client implementation. -func (c *CommonV1beta1Client) RESTClient() rest.Interface { - if c == nil { - return nil - } - return c.restClient -} diff --git a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/doc.go b/pkg/client/controller/clientset/versioned/typed/common/v1beta1/doc.go deleted file mode 100644 index 667c4c49be1..00000000000 --- a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -// This package has the automatically generated typed clients. -package v1beta1 diff --git a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/fake/doc.go b/pkg/client/controller/clientset/versioned/typed/common/v1beta1/fake/doc.go deleted file mode 100644 index 6cbbbecc7dc..00000000000 --- a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/fake/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -// Package fake has the automatically generated clients. -package fake diff --git a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/fake/fake_common_client.go b/pkg/client/controller/clientset/versioned/typed/common/v1beta1/fake/fake_common_client.go deleted file mode 100644 index 29b27d3daf3..00000000000 --- a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/fake/fake_common_client.go +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - rest "k8s.io/client-go/rest" - testing "k8s.io/client-go/testing" -) - -type FakeCommonV1beta1 struct { - *testing.Fake -} - -// RESTClient returns a RESTClient that is used to communicate -// with API server by this client implementation. -func (c *FakeCommonV1beta1) RESTClient() rest.Interface { - var ret *rest.RESTClient - return ret -} diff --git a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/generated_expansion.go b/pkg/client/controller/clientset/versioned/typed/common/v1beta1/generated_expansion.go deleted file mode 100644 index 2156bb18b64..00000000000 --- a/pkg/client/controller/clientset/versioned/typed/common/v1beta1/generated_expansion.go +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2022 The Kubeflow Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package v1beta1 diff --git a/pkg/controller.v1beta1/experiment/experiment_controller.go b/pkg/controller.v1beta1/experiment/experiment_controller.go index 8e7fea16a87..06b3fa6395d 100644 --- a/pkg/controller.v1beta1/experiment/experiment_controller.go +++ b/pkg/controller.v1beta1/experiment/experiment_controller.go @@ -114,19 +114,31 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error { // addWatch adds a new Controller to mgr with r as the reconcile.Reconciler func addWatch(mgr manager.Manager, c controller.Controller) error { // Watch for changes to Experiment - err := c.Watch(source.Kind(mgr.GetCache(), &experimentsv1beta1.Experiment{}), &handler.EnqueueRequestForObject{}) + err := c.Watch(source.Kind[*experimentsv1beta1.Experiment]( + mgr.GetCache(), &experimentsv1beta1.Experiment{}, + &handler.TypedEnqueueRequestForObject[*experimentsv1beta1.Experiment]{}, + )) if err != nil { log.Error(err, "Experiment watch failed") return err } // Watch for trials for the experiments - eventHandler := handler.EnqueueRequestForOwner(mgr.GetScheme(), mgr.GetRESTMapper(), &experimentsv1beta1.Experiment{}, handler.OnlyControllerOwner()) - if err = c.Watch(source.Kind(mgr.GetCache(), &trialsv1beta1.Trial{}), eventHandler); err != nil { + if err = c.Watch(source.Kind[*trialsv1beta1.Trial]( + mgr.GetCache(), &trialsv1beta1.Trial{}, + handler.TypedEnqueueRequestForOwner[*trialsv1beta1.Trial]( + mgr.GetScheme(), mgr.GetRESTMapper(), &experimentsv1beta1.Experiment{}, handler.OnlyControllerOwner(), + ), + )); err != nil { log.Error(err, "Trial watch failed") return err } - if err = c.Watch(source.Kind(mgr.GetCache(), &suggestionsv1beta1.Suggestion{}), eventHandler); err != nil { + if err = c.Watch(source.Kind[*suggestionsv1beta1.Suggestion]( + mgr.GetCache(), &suggestionsv1beta1.Suggestion{}, + handler.TypedEnqueueRequestForOwner[*suggestionsv1beta1.Suggestion]( + mgr.GetScheme(), mgr.GetRESTMapper(), &experimentsv1beta1.Experiment{}, handler.OnlyControllerOwner(), + ), + )); err != nil { log.Error(err, "Suggestion watch failed") return err } diff --git a/pkg/controller.v1beta1/suggestion/suggestion_controller.go b/pkg/controller.v1beta1/suggestion/suggestion_controller.go index dce70104d30..ef77ae62a03 100644 --- a/pkg/controller.v1beta1/suggestion/suggestion_controller.go +++ b/pkg/controller.v1beta1/suggestion/suggestion_controller.go @@ -75,18 +75,35 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error { return err } - if err = c.Watch(source.Kind(mgr.GetCache(), &suggestionsv1beta1.Suggestion{}), &handler.EnqueueRequestForObject{}); err != nil { + if err = c.Watch(source.Kind[*suggestionsv1beta1.Suggestion]( + mgr.GetCache(), &suggestionsv1beta1.Suggestion{}, + &handler.TypedEnqueueRequestForObject[*suggestionsv1beta1.Suggestion]{}, + )); err != nil { return err } - eventHandler := handler.EnqueueRequestForOwner(mgr.GetScheme(), mgr.GetRESTMapper(), &suggestionsv1beta1.Suggestion{}, handler.OnlyControllerOwner()) - if err = c.Watch(source.Kind(mgr.GetCache(), &appsv1.Deployment{}), eventHandler); err != nil { + if err = c.Watch(source.Kind[*appsv1.Deployment]( + mgr.GetCache(), &appsv1.Deployment{}, + handler.TypedEnqueueRequestForOwner[*appsv1.Deployment]( + mgr.GetScheme(), mgr.GetRESTMapper(), &suggestionsv1beta1.Suggestion{}, handler.OnlyControllerOwner(), + ), + )); err != nil { return err } - if err = c.Watch(source.Kind(mgr.GetCache(), &corev1.Service{}), eventHandler); err != nil { + if err = c.Watch(source.Kind[*corev1.Service]( + mgr.GetCache(), &corev1.Service{}, + handler.TypedEnqueueRequestForOwner[*corev1.Service]( + mgr.GetScheme(), mgr.GetRESTMapper(), &suggestionsv1beta1.Suggestion{}, handler.OnlyControllerOwner(), + ), + )); err != nil { return err } - if err = c.Watch(source.Kind(mgr.GetCache(), &corev1.PersistentVolumeClaim{}), eventHandler); err != nil { + if err = c.Watch(source.Kind[*corev1.PersistentVolumeClaim]( + mgr.GetCache(), &corev1.PersistentVolumeClaim{}, + handler.TypedEnqueueRequestForOwner[*corev1.PersistentVolumeClaim]( + mgr.GetScheme(), mgr.GetRESTMapper(), &suggestionsv1beta1.Suggestion{}, handler.OnlyControllerOwner(), + ), + )); err != nil { return err } diff --git a/pkg/controller.v1beta1/trial/trial_controller.go b/pkg/controller.v1beta1/trial/trial_controller.go index 1a8b5084dcf..637a7a4468c 100644 --- a/pkg/controller.v1beta1/trial/trial_controller.go +++ b/pkg/controller.v1beta1/trial/trial_controller.go @@ -92,7 +92,10 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error { } // Watch for changes in Trial - if err = c.Watch(source.Kind(mgr.GetCache(), &trialsv1beta1.Trial{}), &handler.EnqueueRequestForObject{}); err != nil { + if err = c.Watch(source.Kind[*trialsv1beta1.Trial]( + mgr.GetCache(), &trialsv1beta1.Trial{}, + &handler.TypedEnqueueRequestForObject[*trialsv1beta1.Trial]{}, + )); err != nil { log.Error(err, "Trial watch error") return err } @@ -117,8 +120,12 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error { // Watch for the CRD changes. unstructuredJob := &unstructured.Unstructured{} unstructuredJob.SetGroupVersionKind(gvk) - eventHandler := handler.EnqueueRequestForOwner(mgr.GetScheme(), mgr.GetRESTMapper(), &trialsv1beta1.Trial{}, handler.OnlyControllerOwner()) - if err = c.Watch(source.Kind(mgr.GetCache(), unstructuredJob), eventHandler); err != nil { + if err = c.Watch(source.Kind[*unstructured.Unstructured]( + mgr.GetCache(), unstructuredJob, + handler.TypedEnqueueRequestForOwner[*unstructured.Unstructured]( + mgr.GetScheme(), mgr.GetRESTMapper(), &trialsv1beta1.Trial{}, handler.OnlyControllerOwner(), + ), + )); err != nil { return err } log.Info("Job watch added successfully", diff --git a/pkg/mock/v1beta1/trial/managerclient/katibmanager.go b/pkg/mock/v1beta1/trial/managerclient/katibmanager.go index 159a5ade746..ecc58cc92a4 100644 --- a/pkg/mock/v1beta1/trial/managerclient/katibmanager.go +++ b/pkg/mock/v1beta1/trial/managerclient/katibmanager.go @@ -79,8 +79,8 @@ func (m *MockManagerClient) ReportTrialObservationLog(arg0 *v1beta1.Trial, arg1 return ret0, ret1 } -// ReportTrialObservationLog indicated an expected call of ReportTrialObservationLog. -func (mr *MockManagerClientMockRecorder) ReportTrialObservationLog(arg0 any, arg1 any) *gomock.Call { +// ReportTrialObservationLog indicates an expected call of ReportTrialObservationLog. +func (mr *MockManagerClientMockRecorder) ReportTrialObservationLog(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReportTrialObservationLog", reflect.TypeOf((*MockManagerClient)(nil).ReportTrialObservationLog), arg0, arg1) } diff --git a/pkg/webhook/v1beta1/experiment/mutate_webhook.go b/pkg/webhook/v1beta1/experiment/mutate_webhook.go index 85dd00a4a95..63d9d41591a 100644 --- a/pkg/webhook/v1beta1/experiment/mutate_webhook.go +++ b/pkg/webhook/v1beta1/experiment/mutate_webhook.go @@ -30,11 +30,11 @@ import ( // ExperimentDefaulter sets the Experiment default values. type ExperimentDefaulter struct { client client.Client - decoder *admission.Decoder + decoder admission.Decoder } // NewExperimentDefaulter returns a new Experiment defaulter with the given client. -func NewExperimentDefaulter(c client.Client, d *admission.Decoder) *ExperimentDefaulter { +func NewExperimentDefaulter(c client.Client, d admission.Decoder) *ExperimentDefaulter { return &ExperimentDefaulter{ client: c, decoder: d, diff --git a/pkg/webhook/v1beta1/experiment/validation_webhook.go b/pkg/webhook/v1beta1/experiment/validation_webhook.go index e8ea920f9b5..fd84b214620 100644 --- a/pkg/webhook/v1beta1/experiment/validation_webhook.go +++ b/pkg/webhook/v1beta1/experiment/validation_webhook.go @@ -42,12 +42,12 @@ import ( // ExperimentValidator validates Experiments. type ExperimentValidator struct { client client.Client - decoder *admission.Decoder + decoder admission.Decoder validator.Validator } // NewExperimentValidator returns a new Experiment validator with the given client. -func NewExperimentValidator(c client.Client, d *admission.Decoder) *ExperimentValidator { +func NewExperimentValidator(c client.Client, d admission.Decoder) *ExperimentValidator { p := manifest.New(c) return &ExperimentValidator{ client: c, diff --git a/pkg/webhook/v1beta1/pod/inject_webhook.go b/pkg/webhook/v1beta1/pod/inject_webhook.go index 96deaf23c1d..cb93d07fb8d 100644 --- a/pkg/webhook/v1beta1/pod/inject_webhook.go +++ b/pkg/webhook/v1beta1/pod/inject_webhook.go @@ -58,7 +58,7 @@ var ( // SidecarInjector injects metrics collect sidecar to the primary pod. type SidecarInjector struct { client client.Client - decoder *admission.Decoder + decoder admission.Decoder // injectSecurityContext indicates if we should inject the security // context into the metrics collector sidecar. @@ -66,7 +66,7 @@ type SidecarInjector struct { } // NewSidecarInjector returns a new sidecar injector with the given client. -func NewSidecarInjector(c client.Client, d *admission.Decoder) *SidecarInjector { +func NewSidecarInjector(c client.Client, d admission.Decoder) *SidecarInjector { return &SidecarInjector{ injectSecurityContext: viper.GetBool(consts.ConfigInjectSecurityContext), client: c,