mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-22 14:20:19 +00:00
rebase: bump the k8s-dependencies group with 1 update
Bumps the k8s-dependencies group with 1 update: [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime). - [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases) - [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md) - [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.16.2...v0.16.3) --- updated-dependencies: - dependency-name: sigs.k8s.io/controller-runtime dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
parent
c0085e5f9b
commit
4b8a05b926
4
go.mod
4
go.mod
@ -44,7 +44,7 @@ require (
|
|||||||
k8s.io/mount-utils v0.28.3
|
k8s.io/mount-utils v0.28.3
|
||||||
k8s.io/pod-security-admission v0.0.0
|
k8s.io/pod-security-admission v0.0.0
|
||||||
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2
|
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2
|
||||||
sigs.k8s.io/controller-runtime v0.16.2
|
sigs.k8s.io/controller-runtime v0.16.3
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
@ -67,7 +67,7 @@ require (
|
|||||||
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||||
github.com/docker/distribution v2.8.2+incompatible // indirect
|
github.com/docker/distribution v2.8.2+incompatible // indirect
|
||||||
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
|
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||||
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
|
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
|
||||||
github.com/evanphx/json-patch/v5 v5.6.0 // indirect
|
github.com/evanphx/json-patch/v5 v5.6.0 // indirect
|
||||||
github.com/felixge/httpsnoop v1.0.3 // indirect
|
github.com/felixge/httpsnoop v1.0.3 // indirect
|
||||||
|
8
go.sum
8
go.sum
@ -763,8 +763,8 @@ github.com/elazarl/goproxy v0.0.0-20191011121108-aa519ddbe484/go.mod h1:Ro8st/El
|
|||||||
github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8=
|
github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8=
|
||||||
github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
||||||
github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
||||||
github.com/emicklei/go-restful/v3 v3.10.1 h1:rc42Y5YTp7Am7CS630D7JmhRjq4UlEUuEKfrDac4bSQ=
|
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
|
||||||
github.com/emicklei/go-restful/v3 v3.10.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
github.com/emicklei/go-restful/v3 v3.11.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.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.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||||
@ -2371,8 +2371,8 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2 h1:trsWhjU5jZrx6UvFu4WzQDrN7Pga4a7Qg+zcfcj64PA=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2 h1:trsWhjU5jZrx6UvFu4WzQDrN7Pga4a7Qg+zcfcj64PA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2/go.mod h1:+qG7ISXqCDVVcyO8hLn12AKVYYUjM7ftlqsqmrhMZE0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2/go.mod h1:+qG7ISXqCDVVcyO8hLn12AKVYYUjM7ftlqsqmrhMZE0=
|
||||||
sigs.k8s.io/controller-runtime v0.2.2/go.mod h1:9dyohw3ZtoXQuV1e766PHUn+cmrRCIcBh6XIMFNMZ+I=
|
sigs.k8s.io/controller-runtime v0.2.2/go.mod h1:9dyohw3ZtoXQuV1e766PHUn+cmrRCIcBh6XIMFNMZ+I=
|
||||||
sigs.k8s.io/controller-runtime v0.16.2 h1:mwXAVuEk3EQf478PQwQ48zGOXvW27UJc8NHktQVuIPU=
|
sigs.k8s.io/controller-runtime v0.16.3 h1:2TuvuokmfXvDUamSx1SuAOO3eTyye+47mJCigwG62c4=
|
||||||
sigs.k8s.io/controller-runtime v0.16.2/go.mod h1:vpMu3LpI5sYWtujJOa2uPK61nB5rbwlN7BAB8aSLvGU=
|
sigs.k8s.io/controller-runtime v0.16.3/go.mod h1:j7bialYoSn142nv9sCOJmQgDXQXxnroFU4VnX/brVJ0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
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/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
11
vendor/github.com/emicklei/go-restful/v3/CHANGES.md
generated
vendored
11
vendor/github.com/emicklei/go-restful/v3/CHANGES.md
generated
vendored
@ -1,6 +1,15 @@
|
|||||||
# Change history of go-restful
|
# Change history of go-restful
|
||||||
|
|
||||||
## [v3.10.1] - 2022-11-19
|
## [v3.11.0] - 2023-08-19
|
||||||
|
|
||||||
|
- restored behavior as <= v3.9.0 with option to change path strategy using TrimRightSlashEnabled.
|
||||||
|
|
||||||
|
## [v3.10.2] - 2023-03-09 - DO NOT USE
|
||||||
|
|
||||||
|
- introduced MergePathStrategy to be able to revert behaviour of path concatenation to 3.9.0
|
||||||
|
see comment in Readme how to customize this behaviour.
|
||||||
|
|
||||||
|
## [v3.10.1] - 2022-11-19 - DO NOT USE
|
||||||
|
|
||||||
- fix broken 3.10.0 by using path package for joining paths
|
- fix broken 3.10.0 by using path package for joining paths
|
||||||
|
|
||||||
|
5
vendor/github.com/emicklei/go-restful/v3/README.md
generated
vendored
5
vendor/github.com/emicklei/go-restful/v3/README.md
generated
vendored
@ -79,7 +79,7 @@ func (u UserResource) findUser(request *restful.Request, response *restful.Respo
|
|||||||
- Content encoding (gzip,deflate) of request and response payloads
|
- Content encoding (gzip,deflate) of request and response payloads
|
||||||
- Automatic responses on OPTIONS (using a filter)
|
- Automatic responses on OPTIONS (using a filter)
|
||||||
- Automatic CORS request handling (using a filter)
|
- Automatic CORS request handling (using a filter)
|
||||||
- API declaration for Swagger UI ([go-restful-openapi](https://github.com/emicklei/go-restful-openapi), see [go-restful-swagger12](https://github.com/emicklei/go-restful-swagger12))
|
- API declaration for Swagger UI ([go-restful-openapi](https://github.com/emicklei/go-restful-openapi))
|
||||||
- Panic recovery to produce HTTP 500, customizable using RecoverHandler(...)
|
- Panic recovery to produce HTTP 500, customizable using RecoverHandler(...)
|
||||||
- Route errors produce HTTP 404/405/406/415 errors, customizable using ServiceErrorHandler(...)
|
- Route errors produce HTTP 404/405/406/415 errors, customizable using ServiceErrorHandler(...)
|
||||||
- Configurable (trace) logging
|
- Configurable (trace) logging
|
||||||
@ -96,6 +96,7 @@ There are several hooks to customize the behavior of the go-restful package.
|
|||||||
- Compression
|
- Compression
|
||||||
- Encoders for other serializers
|
- Encoders for other serializers
|
||||||
- Use [jsoniter](https://github.com/json-iterator/go) by building this package using a build tag, e.g. `go build -tags=jsoniter .`
|
- Use [jsoniter](https://github.com/json-iterator/go) by building this package using a build tag, e.g. `go build -tags=jsoniter .`
|
||||||
|
- Use the package variable `TrimRightSlashEnabled` (default true) to control the behavior of matching routes that end with a slash `/`
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
@ -108,4 +109,4 @@ There are several hooks to customize the behavior of the go-restful package.
|
|||||||
|
|
||||||
Type ```git shortlog -s``` for a full list of contributors.
|
Type ```git shortlog -s``` for a full list of contributors.
|
||||||
|
|
||||||
© 2012 - 2022, http://ernestmicklei.com. MIT License. Contributions are welcome.
|
© 2012 - 2023, http://ernestmicklei.com. MIT License. Contributions are welcome.
|
||||||
|
13
vendor/github.com/emicklei/go-restful/v3/route.go
generated
vendored
13
vendor/github.com/emicklei/go-restful/v3/route.go
generated
vendored
@ -41,6 +41,7 @@ type Route struct {
|
|||||||
ResponseErrors map[int]ResponseError
|
ResponseErrors map[int]ResponseError
|
||||||
DefaultResponse *ResponseError
|
DefaultResponse *ResponseError
|
||||||
ReadSample, WriteSample interface{} // structs that model an example request or response payload
|
ReadSample, WriteSample interface{} // structs that model an example request or response payload
|
||||||
|
WriteSamples []interface{} // if more than one return types is possible (oneof) then this will contain multiple values
|
||||||
|
|
||||||
// Extra information used to store custom information about the route.
|
// Extra information used to store custom information about the route.
|
||||||
Metadata map[string]interface{}
|
Metadata map[string]interface{}
|
||||||
@ -164,7 +165,13 @@ func tokenizePath(path string) []string {
|
|||||||
if "/" == path {
|
if "/" == path {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
if TrimRightSlashEnabled {
|
||||||
|
// 3.9.0
|
||||||
|
return strings.Split(strings.Trim(path, "/"), "/")
|
||||||
|
} else {
|
||||||
|
// 3.10.2
|
||||||
return strings.Split(strings.TrimLeft(path, "/"), "/")
|
return strings.Split(strings.TrimLeft(path, "/"), "/")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// for debugging
|
// for debugging
|
||||||
@ -177,4 +184,8 @@ func (r *Route) EnableContentEncoding(enabled bool) {
|
|||||||
r.contentEncodingEnabled = &enabled
|
r.contentEncodingEnabled = &enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
var TrimRightSlashEnabled = false
|
// TrimRightSlashEnabled controls whether
|
||||||
|
// - path on route building is using path.Join
|
||||||
|
// - the path of the incoming request is trimmed of its slash suffux.
|
||||||
|
// Value of true matches the behavior of <= 3.9.0
|
||||||
|
var TrimRightSlashEnabled = true
|
||||||
|
25
vendor/github.com/emicklei/go-restful/v3/route_builder.go
generated
vendored
25
vendor/github.com/emicklei/go-restful/v3/route_builder.go
generated
vendored
@ -34,7 +34,8 @@ type RouteBuilder struct {
|
|||||||
doc string
|
doc string
|
||||||
notes string
|
notes string
|
||||||
operation string
|
operation string
|
||||||
readSample, writeSample interface{}
|
readSample interface{}
|
||||||
|
writeSamples []interface{}
|
||||||
parameters []*Parameter
|
parameters []*Parameter
|
||||||
errorMap map[int]ResponseError
|
errorMap map[int]ResponseError
|
||||||
defaultResponse *ResponseError
|
defaultResponse *ResponseError
|
||||||
@ -135,9 +136,9 @@ func (b RouteBuilder) ParameterNamed(name string) (p *Parameter) {
|
|||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
// Writes tells what resource type will be written as the response payload. Optional.
|
// Writes tells which one of the resource types will be written as the response payload. Optional.
|
||||||
func (b *RouteBuilder) Writes(sample interface{}) *RouteBuilder {
|
func (b *RouteBuilder) Writes(samples ...interface{}) *RouteBuilder {
|
||||||
b.writeSample = sample
|
b.writeSamples = samples // oneof
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -342,19 +343,29 @@ func (b *RouteBuilder) Build() Route {
|
|||||||
ResponseErrors: b.errorMap,
|
ResponseErrors: b.errorMap,
|
||||||
DefaultResponse: b.defaultResponse,
|
DefaultResponse: b.defaultResponse,
|
||||||
ReadSample: b.readSample,
|
ReadSample: b.readSample,
|
||||||
WriteSample: b.writeSample,
|
WriteSamples: b.writeSamples,
|
||||||
Metadata: b.metadata,
|
Metadata: b.metadata,
|
||||||
Deprecated: b.deprecated,
|
Deprecated: b.deprecated,
|
||||||
contentEncodingEnabled: b.contentEncodingEnabled,
|
contentEncodingEnabled: b.contentEncodingEnabled,
|
||||||
allowedMethodsWithoutContentType: b.allowedMethodsWithoutContentType,
|
allowedMethodsWithoutContentType: b.allowedMethodsWithoutContentType,
|
||||||
}
|
}
|
||||||
|
// set WriteSample if one specified
|
||||||
|
if len(b.writeSamples) == 1 {
|
||||||
|
route.WriteSample = b.writeSamples[0]
|
||||||
|
}
|
||||||
route.Extensions = b.extensions
|
route.Extensions = b.extensions
|
||||||
route.postBuild()
|
route.postBuild()
|
||||||
return route
|
return route
|
||||||
}
|
}
|
||||||
|
|
||||||
func concatPath(path1, path2 string) string {
|
// merge two paths using the current (package global) merge path strategy.
|
||||||
return path.Join(path1, path2)
|
func concatPath(rootPath, routePath string) string {
|
||||||
|
|
||||||
|
if TrimRightSlashEnabled {
|
||||||
|
return strings.TrimRight(rootPath, "/") + "/" + strings.TrimLeft(routePath, "/")
|
||||||
|
} else {
|
||||||
|
return path.Join(rootPath, routePath)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var anonymousFuncCount int32
|
var anonymousFuncCount int32
|
||||||
|
4
vendor/modules.txt
vendored
4
vendor/modules.txt
vendored
@ -177,7 +177,7 @@ github.com/davecgh/go-spew/spew
|
|||||||
## explicit
|
## explicit
|
||||||
github.com/docker/distribution/digestset
|
github.com/docker/distribution/digestset
|
||||||
github.com/docker/distribution/reference
|
github.com/docker/distribution/reference
|
||||||
# github.com/emicklei/go-restful/v3 v3.10.1
|
# github.com/emicklei/go-restful/v3 v3.11.0
|
||||||
## explicit; go 1.13
|
## explicit; go 1.13
|
||||||
github.com/emicklei/go-restful/v3
|
github.com/emicklei/go-restful/v3
|
||||||
github.com/emicklei/go-restful/v3/log
|
github.com/emicklei/go-restful/v3/log
|
||||||
@ -1581,7 +1581,7 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client
|
||||||
# sigs.k8s.io/controller-runtime v0.16.2
|
# sigs.k8s.io/controller-runtime v0.16.3
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
sigs.k8s.io/controller-runtime/pkg/cache
|
sigs.k8s.io/controller-runtime/pkg/cache
|
||||||
sigs.k8s.io/controller-runtime/pkg/cache/internal
|
sigs.k8s.io/controller-runtime/pkg/cache/internal
|
||||||
|
46
vendor/sigs.k8s.io/controller-runtime/pkg/cache/cache.go
generated
vendored
46
vendor/sigs.k8s.io/controller-runtime/pkg/cache/cache.go
generated
vendored
@ -22,8 +22,10 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"golang.org/x/exp/maps"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
@ -121,6 +123,10 @@ type Informer interface {
|
|||||||
HasSynced() bool
|
HasSynced() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AllNamespaces should be used as the map key to deliminate namespace settings
|
||||||
|
// that apply to all namespaces that themselves do not have explicit settings.
|
||||||
|
const AllNamespaces = metav1.NamespaceAll
|
||||||
|
|
||||||
// Options are the optional arguments for creating a new Cache object.
|
// Options are the optional arguments for creating a new Cache object.
|
||||||
type Options struct {
|
type Options struct {
|
||||||
// HTTPClient is the http client to use for the REST client
|
// HTTPClient is the http client to use for the REST client
|
||||||
@ -172,6 +178,11 @@ type Options struct {
|
|||||||
// the namespaces in here will be watched and it will by used to default
|
// the namespaces in here will be watched and it will by used to default
|
||||||
// ByObject.Namespaces for all objects if that is nil.
|
// ByObject.Namespaces for all objects if that is nil.
|
||||||
//
|
//
|
||||||
|
// It is possible to have specific Config for just some namespaces
|
||||||
|
// but cache all namespaces by using the AllNamespaces const as the map key.
|
||||||
|
// This will then include all namespaces that do not have a more specific
|
||||||
|
// setting.
|
||||||
|
//
|
||||||
// The options in the Config that are nil will be defaulted from
|
// The options in the Config that are nil will be defaulted from
|
||||||
// the respective Default* settings.
|
// the respective Default* settings.
|
||||||
DefaultNamespaces map[string]Config
|
DefaultNamespaces map[string]Config
|
||||||
@ -214,6 +225,11 @@ type ByObject struct {
|
|||||||
// Settings in the map value that are unset will be defaulted.
|
// Settings in the map value that are unset will be defaulted.
|
||||||
// Use an empty value for the specific setting to prevent that.
|
// Use an empty value for the specific setting to prevent that.
|
||||||
//
|
//
|
||||||
|
// It is possible to have specific Config for just some namespaces
|
||||||
|
// but cache all namespaces by using the AllNamespaces const as the map key.
|
||||||
|
// This will then include all namespaces that do not have a more specific
|
||||||
|
// setting.
|
||||||
|
//
|
||||||
// A nil map allows to default this to the cache's DefaultNamespaces setting.
|
// A nil map allows to default this to the cache's DefaultNamespaces setting.
|
||||||
// An empty map prevents this and means that all namespaces will be cached.
|
// An empty map prevents this and means that all namespaces will be cached.
|
||||||
//
|
//
|
||||||
@ -392,6 +408,9 @@ func defaultOpts(config *rest.Config, opts Options) (Options, error) {
|
|||||||
|
|
||||||
for namespace, cfg := range opts.DefaultNamespaces {
|
for namespace, cfg := range opts.DefaultNamespaces {
|
||||||
cfg = defaultConfig(cfg, optionDefaultsToConfig(&opts))
|
cfg = defaultConfig(cfg, optionDefaultsToConfig(&opts))
|
||||||
|
if namespace == metav1.NamespaceAll {
|
||||||
|
cfg.FieldSelector = fields.AndSelectors(appendIfNotNil(namespaceAllSelector(maps.Keys(opts.DefaultNamespaces)), cfg.FieldSelector)...)
|
||||||
|
}
|
||||||
opts.DefaultNamespaces[namespace] = cfg
|
opts.DefaultNamespaces[namespace] = cfg
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -418,6 +437,15 @@ func defaultOpts(config *rest.Config, opts Options) (Options, error) {
|
|||||||
// 3. Default from the global defaults
|
// 3. Default from the global defaults
|
||||||
config = defaultConfig(config, optionDefaultsToConfig(&opts))
|
config = defaultConfig(config, optionDefaultsToConfig(&opts))
|
||||||
|
|
||||||
|
if namespace == metav1.NamespaceAll {
|
||||||
|
config.FieldSelector = fields.AndSelectors(
|
||||||
|
appendIfNotNil(
|
||||||
|
namespaceAllSelector(maps.Keys(byObject.Namespaces)),
|
||||||
|
config.FieldSelector,
|
||||||
|
)...,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
byObject.Namespaces[namespace] = config
|
byObject.Namespaces[namespace] = config
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -457,3 +485,21 @@ func defaultConfig(toDefault, defaultFrom Config) Config {
|
|||||||
|
|
||||||
return toDefault
|
return toDefault
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func namespaceAllSelector(namespaces []string) fields.Selector {
|
||||||
|
selectors := make([]fields.Selector, 0, len(namespaces)-1)
|
||||||
|
for _, namespace := range namespaces {
|
||||||
|
if namespace != metav1.NamespaceAll {
|
||||||
|
selectors = append(selectors, fields.OneTermNotEqualSelector("metadata.namespace", namespace))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return fields.AndSelectors(selectors...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func appendIfNotNil[T comparable](a, b T) []T {
|
||||||
|
if b != *new(T) {
|
||||||
|
return []T{a, b}
|
||||||
|
}
|
||||||
|
return []T{a}
|
||||||
|
}
|
||||||
|
4
vendor/sigs.k8s.io/controller-runtime/pkg/cache/multi_namespace_cache.go
generated
vendored
4
vendor/sigs.k8s.io/controller-runtime/pkg/cache/multi_namespace_cache.go
generated
vendored
@ -23,6 +23,7 @@ import (
|
|||||||
|
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
toolscache "k8s.io/client-go/tools/cache"
|
toolscache "k8s.io/client-go/tools/cache"
|
||||||
@ -210,6 +211,9 @@ func (c *multiNamespaceCache) Get(ctx context.Context, key client.ObjectKey, obj
|
|||||||
|
|
||||||
cache, ok := c.namespaceToCache[key.Namespace]
|
cache, ok := c.namespaceToCache[key.Namespace]
|
||||||
if !ok {
|
if !ok {
|
||||||
|
if global, hasGlobal := c.namespaceToCache[metav1.NamespaceAll]; hasGlobal {
|
||||||
|
return global.Get(ctx, key, obj, opts...)
|
||||||
|
}
|
||||||
return fmt.Errorf("unable to get: %v because of unknown namespace for the cache", key)
|
return fmt.Errorf("unable to get: %v because of unknown namespace for the cache", key)
|
||||||
}
|
}
|
||||||
return cache.Get(ctx, key, obj, opts...)
|
return cache.Get(ctx, key, obj, opts...)
|
||||||
|
Loading…
Reference in New Issue
Block a user