mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-18 02:50:30 +00:00
rebase: bump sigs.k8s.io/controller-runtime from 0.14.2 to 0.14.4
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.14.2 to 0.14.4. - [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases) - [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/master/RELEASE.md) - [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.14.2...v0.14.4) --- updated-dependencies: - dependency-name: sigs.k8s.io/controller-runtime dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
parent
94e416af4b
commit
7d9ab0ba8a
2
go.mod
2
go.mod
@ -44,7 +44,7 @@ require (
|
|||||||
k8s.io/mount-utils v0.26.1
|
k8s.io/mount-utils v0.26.1
|
||||||
k8s.io/pod-security-admission v0.0.0
|
k8s.io/pod-security-admission v0.0.0
|
||||||
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448
|
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448
|
||||||
sigs.k8s.io/controller-runtime v0.14.2
|
sigs.k8s.io/controller-runtime v0.14.4
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
4
go.sum
4
go.sum
@ -1735,8 +1735,8 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
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.14.2 h1:P6IwDhbsRWsBClt/8/h8Zy36bCuGuW5Op7MHpFrN/60=
|
sigs.k8s.io/controller-runtime v0.14.4 h1:Kd/Qgx5pd2XUL08eOV2vwIq3L9GhIbJ5Nxengbd4/0M=
|
||||||
sigs.k8s.io/controller-runtime v0.14.2/go.mod h1:WqIdsAY6JBsjfc/CqO0CORmNtoCtE4S6qbPc9s68h+0=
|
sigs.k8s.io/controller-runtime v0.14.4/go.mod h1:WqIdsAY6JBsjfc/CqO0CORmNtoCtE4S6qbPc9s68h+0=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/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=
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -1368,7 +1368,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.14.2
|
# sigs.k8s.io/controller-runtime v0.14.4
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
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
|
||||||
|
11
vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/dynamicrestmapper.go
generated
vendored
11
vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/dynamicrestmapper.go
generated
vendored
@ -40,6 +40,8 @@ type dynamicRESTMapper struct {
|
|||||||
// Used for lazy init.
|
// Used for lazy init.
|
||||||
inited uint32
|
inited uint32
|
||||||
initMtx sync.Mutex
|
initMtx sync.Mutex
|
||||||
|
|
||||||
|
useLazyRestmapper bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// DynamicRESTMapperOption is a functional option on the dynamicRESTMapper.
|
// DynamicRESTMapperOption is a functional option on the dynamicRESTMapper.
|
||||||
@ -60,6 +62,12 @@ var WithLazyDiscovery DynamicRESTMapperOption = func(drm *dynamicRESTMapper) err
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithExperimentalLazyMapper enables experimental more advanced Lazy Restmapping mechanism.
|
||||||
|
var WithExperimentalLazyMapper DynamicRESTMapperOption = func(drm *dynamicRESTMapper) error {
|
||||||
|
drm.useLazyRestmapper = true
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// WithCustomMapper supports setting a custom RESTMapper refresher instead of
|
// WithCustomMapper supports setting a custom RESTMapper refresher instead of
|
||||||
// the default method, which uses a discovery client.
|
// the default method, which uses a discovery client.
|
||||||
//
|
//
|
||||||
@ -95,6 +103,9 @@ func NewDynamicRESTMapper(cfg *rest.Config, opts ...DynamicRESTMapperOption) (me
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if drm.useLazyRestmapper {
|
||||||
|
return newLazyRESTMapperWithClient(client)
|
||||||
|
}
|
||||||
if !drm.lazy {
|
if !drm.lazy {
|
||||||
if err := drm.setStaticMapper(); err != nil {
|
if err := drm.setStaticMapper(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
248
vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/lazyrestmapper.go
generated
vendored
Normal file
248
vendor/sigs.k8s.io/controller-runtime/pkg/client/apiutil/lazyrestmapper.go
generated
vendored
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2023 The Kubernetes 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package apiutil
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
"k8s.io/client-go/discovery"
|
||||||
|
"k8s.io/client-go/restmapper"
|
||||||
|
)
|
||||||
|
|
||||||
|
// lazyRESTMapper is a RESTMapper that will lazily query the provided
|
||||||
|
// client for discovery information to do REST mappings.
|
||||||
|
type lazyRESTMapper struct {
|
||||||
|
mapper meta.RESTMapper
|
||||||
|
client *discovery.DiscoveryClient
|
||||||
|
knownGroups map[string]*restmapper.APIGroupResources
|
||||||
|
apiGroups *metav1.APIGroupList
|
||||||
|
|
||||||
|
// mutex to provide thread-safe mapper reloading.
|
||||||
|
mu sync.Mutex
|
||||||
|
}
|
||||||
|
|
||||||
|
// newLazyRESTMapperWithClient initializes a LazyRESTMapper with a custom discovery client.
|
||||||
|
func newLazyRESTMapperWithClient(discoveryClient *discovery.DiscoveryClient) (meta.RESTMapper, error) {
|
||||||
|
return &lazyRESTMapper{
|
||||||
|
mapper: restmapper.NewDiscoveryRESTMapper([]*restmapper.APIGroupResources{}),
|
||||||
|
client: discoveryClient,
|
||||||
|
knownGroups: map[string]*restmapper.APIGroupResources{},
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// KindFor implements Mapper.KindFor.
|
||||||
|
func (m *lazyRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) {
|
||||||
|
res, err := m.mapper.KindFor(resource)
|
||||||
|
if meta.IsNoMatchError(err) {
|
||||||
|
if err = m.addKnownGroupAndReload(resource.Group, resource.Version); err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res, err = m.mapper.KindFor(resource)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// KindsFor implements Mapper.KindsFor.
|
||||||
|
func (m *lazyRESTMapper) KindsFor(resource schema.GroupVersionResource) ([]schema.GroupVersionKind, error) {
|
||||||
|
res, err := m.mapper.KindsFor(resource)
|
||||||
|
if meta.IsNoMatchError(err) {
|
||||||
|
if err = m.addKnownGroupAndReload(resource.Group, resource.Version); err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res, err = m.mapper.KindsFor(resource)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResourceFor implements Mapper.ResourceFor.
|
||||||
|
func (m *lazyRESTMapper) ResourceFor(input schema.GroupVersionResource) (schema.GroupVersionResource, error) {
|
||||||
|
res, err := m.mapper.ResourceFor(input)
|
||||||
|
if meta.IsNoMatchError(err) {
|
||||||
|
if err = m.addKnownGroupAndReload(input.Group, input.Version); err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res, err = m.mapper.ResourceFor(input)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResourcesFor implements Mapper.ResourcesFor.
|
||||||
|
func (m *lazyRESTMapper) ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) {
|
||||||
|
res, err := m.mapper.ResourcesFor(input)
|
||||||
|
if meta.IsNoMatchError(err) {
|
||||||
|
if err = m.addKnownGroupAndReload(input.Group, input.Version); err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res, err = m.mapper.ResourcesFor(input)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// RESTMapping implements Mapper.RESTMapping.
|
||||||
|
func (m *lazyRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*meta.RESTMapping, error) {
|
||||||
|
res, err := m.mapper.RESTMapping(gk, versions...)
|
||||||
|
if meta.IsNoMatchError(err) {
|
||||||
|
if err = m.addKnownGroupAndReload(gk.Group, versions...); err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res, err = m.mapper.RESTMapping(gk, versions...)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// RESTMappings implements Mapper.RESTMappings.
|
||||||
|
func (m *lazyRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) ([]*meta.RESTMapping, error) {
|
||||||
|
res, err := m.mapper.RESTMappings(gk, versions...)
|
||||||
|
if meta.IsNoMatchError(err) {
|
||||||
|
if err = m.addKnownGroupAndReload(gk.Group, versions...); err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res, err = m.mapper.RESTMappings(gk, versions...)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResourceSingularizer implements Mapper.ResourceSingularizer.
|
||||||
|
func (m *lazyRESTMapper) ResourceSingularizer(resource string) (string, error) {
|
||||||
|
return m.mapper.ResourceSingularizer(resource)
|
||||||
|
}
|
||||||
|
|
||||||
|
// addKnownGroupAndReload reloads the mapper with updated information about missing API group.
|
||||||
|
// versions can be specified for partial updates, for instance for v1beta1 version only.
|
||||||
|
func (m *lazyRESTMapper) addKnownGroupAndReload(groupName string, versions ...string) error {
|
||||||
|
m.mu.Lock()
|
||||||
|
defer m.mu.Unlock()
|
||||||
|
|
||||||
|
// If no specific versions are set by user, we will scan all available ones for the API group.
|
||||||
|
// This operation requires 2 requests: /api and /apis, but only once. For all subsequent calls
|
||||||
|
// this data will be taken from cache.
|
||||||
|
if len(versions) == 0 {
|
||||||
|
apiGroup, err := m.findAPIGroupByName(groupName)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
for _, version := range apiGroup.Versions {
|
||||||
|
versions = append(versions, version.Version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create or fetch group resources from cache.
|
||||||
|
groupResources := &restmapper.APIGroupResources{
|
||||||
|
Group: metav1.APIGroup{Name: groupName},
|
||||||
|
VersionedResources: make(map[string][]metav1.APIResource),
|
||||||
|
}
|
||||||
|
if _, ok := m.knownGroups[groupName]; ok {
|
||||||
|
groupResources = m.knownGroups[groupName]
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update information for group resources about versioned resources.
|
||||||
|
// The number of API calls is equal to the number of versions: /apis/<group>/<version>.
|
||||||
|
groupVersionResources, err := m.fetchGroupVersionResources(groupName, versions...)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to get API group resources: %w", err)
|
||||||
|
}
|
||||||
|
for version, resources := range groupVersionResources {
|
||||||
|
groupResources.VersionedResources[version.Version] = resources.APIResources
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update information for group resources about the API group by adding new versions.
|
||||||
|
for _, version := range versions {
|
||||||
|
groupResources.Group.Versions = append(groupResources.Group.Versions, metav1.GroupVersionForDiscovery{
|
||||||
|
GroupVersion: metav1.GroupVersion{Group: groupName, Version: version}.String(),
|
||||||
|
Version: version,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update data in the cache.
|
||||||
|
m.knownGroups[groupName] = groupResources
|
||||||
|
|
||||||
|
// Finally, update the group with received information and regenerate the mapper.
|
||||||
|
updatedGroupResources := make([]*restmapper.APIGroupResources, 0, len(m.knownGroups))
|
||||||
|
for _, agr := range m.knownGroups {
|
||||||
|
updatedGroupResources = append(updatedGroupResources, agr)
|
||||||
|
}
|
||||||
|
|
||||||
|
m.mapper = restmapper.NewDiscoveryRESTMapper(updatedGroupResources)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// findAPIGroupByName returns API group by its name.
|
||||||
|
func (m *lazyRESTMapper) findAPIGroupByName(groupName string) (metav1.APIGroup, error) {
|
||||||
|
// Ensure that required info about existing API groups is received and stored in the mapper.
|
||||||
|
// It will make 2 API calls to /api and /apis, but only once.
|
||||||
|
if m.apiGroups == nil {
|
||||||
|
apiGroups, err := m.client.ServerGroups()
|
||||||
|
if err != nil {
|
||||||
|
return metav1.APIGroup{}, fmt.Errorf("failed to get server groups: %w", err)
|
||||||
|
}
|
||||||
|
if len(apiGroups.Groups) == 0 {
|
||||||
|
return metav1.APIGroup{}, fmt.Errorf("received an empty API groups list")
|
||||||
|
}
|
||||||
|
|
||||||
|
m.apiGroups = apiGroups
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := range m.apiGroups.Groups {
|
||||||
|
if groupName == (&m.apiGroups.Groups[i]).Name {
|
||||||
|
return m.apiGroups.Groups[i], nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return metav1.APIGroup{}, fmt.Errorf("failed to find API group %s", groupName)
|
||||||
|
}
|
||||||
|
|
||||||
|
// fetchGroupVersionResources fetches the resources for the specified group and its versions.
|
||||||
|
func (m *lazyRESTMapper) fetchGroupVersionResources(groupName string, versions ...string) (map[schema.GroupVersion]*metav1.APIResourceList, error) {
|
||||||
|
groupVersionResources := make(map[schema.GroupVersion]*metav1.APIResourceList)
|
||||||
|
failedGroups := make(map[schema.GroupVersion]error)
|
||||||
|
|
||||||
|
for _, version := range versions {
|
||||||
|
groupVersion := schema.GroupVersion{Group: groupName, Version: version}
|
||||||
|
|
||||||
|
apiResourceList, err := m.client.ServerResourcesForGroupVersion(groupVersion.String())
|
||||||
|
if err != nil {
|
||||||
|
failedGroups[groupVersion] = err
|
||||||
|
}
|
||||||
|
if apiResourceList != nil {
|
||||||
|
// even in case of error, some fallback might have been returned.
|
||||||
|
groupVersionResources[groupVersion] = apiResourceList
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(failedGroups) > 0 {
|
||||||
|
return nil, &discovery.ErrGroupDiscoveryFailed{Groups: failedGroups}
|
||||||
|
}
|
||||||
|
|
||||||
|
return groupVersionResources, nil
|
||||||
|
}
|
15
vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go
generated
vendored
15
vendor/sigs.k8s.io/controller-runtime/pkg/client/options.go
generated
vendored
@ -154,6 +154,21 @@ func (f FieldOwner) ApplyToUpdate(opts *UpdateOptions) {
|
|||||||
opts.FieldManager = string(f)
|
opts.FieldManager = string(f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ApplyToSubResourcePatch applies this configuration to the given patch options.
|
||||||
|
func (f FieldOwner) ApplyToSubResourcePatch(opts *SubResourcePatchOptions) {
|
||||||
|
opts.FieldManager = string(f)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ApplyToSubResourceCreate applies this configuration to the given create options.
|
||||||
|
func (f FieldOwner) ApplyToSubResourceCreate(opts *SubResourceCreateOptions) {
|
||||||
|
opts.FieldManager = string(f)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ApplyToSubResourceUpdate applies this configuration to the given update options.
|
||||||
|
func (f FieldOwner) ApplyToSubResourceUpdate(opts *SubResourceUpdateOptions) {
|
||||||
|
opts.FieldManager = string(f)
|
||||||
|
}
|
||||||
|
|
||||||
// }}}
|
// }}}
|
||||||
|
|
||||||
// {{{ Create Options
|
// {{{ Create Options
|
||||||
|
22
vendor/sigs.k8s.io/controller-runtime/pkg/config/config.go
generated
vendored
22
vendor/sigs.k8s.io/controller-runtime/pkg/config/config.go
generated
vendored
@ -24,20 +24,24 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
|
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1" //nolint:staticcheck
|
||||||
)
|
)
|
||||||
|
|
||||||
// ControllerManagerConfiguration defines the functions necessary to parse a config file
|
// ControllerManagerConfiguration defines the functions necessary to parse a config file
|
||||||
// and to configure the Options struct for the ctrl.Manager.
|
// and to configure the Options struct for the ctrl.Manager.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
type ControllerManagerConfiguration interface {
|
type ControllerManagerConfiguration interface {
|
||||||
runtime.Object
|
runtime.Object
|
||||||
|
|
||||||
// Complete returns the versioned configuration
|
// Complete returns the versioned configuration
|
||||||
Complete() (v1alpha1.ControllerManagerConfigurationSpec, error)
|
Complete() (v1alpha1.ControllerManagerConfigurationSpec, error) //nolint:staticcheck
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeferredFileLoader is used to configure the decoder for loading controller
|
// DeferredFileLoader is used to configure the decoder for loading controller
|
||||||
// runtime component config types.
|
// runtime component config types.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
type DeferredFileLoader struct {
|
type DeferredFileLoader struct {
|
||||||
ControllerManagerConfiguration
|
ControllerManagerConfiguration
|
||||||
path string
|
path string
|
||||||
@ -52,6 +56,8 @@ type DeferredFileLoader struct {
|
|||||||
// Defaults:
|
// Defaults:
|
||||||
// * Path: "./config.yaml"
|
// * Path: "./config.yaml"
|
||||||
// * Kind: GenericControllerManagerConfiguration
|
// * Kind: GenericControllerManagerConfiguration
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
func File() *DeferredFileLoader {
|
func File() *DeferredFileLoader {
|
||||||
scheme := runtime.NewScheme()
|
scheme := runtime.NewScheme()
|
||||||
utilruntime.Must(v1alpha1.AddToScheme(scheme))
|
utilruntime.Must(v1alpha1.AddToScheme(scheme))
|
||||||
@ -63,6 +69,8 @@ func File() *DeferredFileLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Complete will use sync.Once to set the scheme.
|
// Complete will use sync.Once to set the scheme.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
func (d *DeferredFileLoader) Complete() (v1alpha1.ControllerManagerConfigurationSpec, error) {
|
func (d *DeferredFileLoader) Complete() (v1alpha1.ControllerManagerConfigurationSpec, error) {
|
||||||
d.once.Do(d.loadFile)
|
d.once.Do(d.loadFile)
|
||||||
if d.err != nil {
|
if d.err != nil {
|
||||||
@ -71,25 +79,33 @@ func (d *DeferredFileLoader) Complete() (v1alpha1.ControllerManagerConfiguration
|
|||||||
return d.ControllerManagerConfiguration.Complete()
|
return d.ControllerManagerConfiguration.Complete()
|
||||||
}
|
}
|
||||||
|
|
||||||
// AtPath will set the path to load the file for the decoder.
|
// AtPath will set the path to load the file for the decoder
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
func (d *DeferredFileLoader) AtPath(path string) *DeferredFileLoader {
|
func (d *DeferredFileLoader) AtPath(path string) *DeferredFileLoader {
|
||||||
d.path = path
|
d.path = path
|
||||||
return d
|
return d
|
||||||
}
|
}
|
||||||
|
|
||||||
// OfKind will set the type to be used for decoding the file into.
|
// OfKind will set the type to be used for decoding the file into.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
func (d *DeferredFileLoader) OfKind(obj ControllerManagerConfiguration) *DeferredFileLoader {
|
func (d *DeferredFileLoader) OfKind(obj ControllerManagerConfiguration) *DeferredFileLoader {
|
||||||
d.ControllerManagerConfiguration = obj
|
d.ControllerManagerConfiguration = obj
|
||||||
return d
|
return d
|
||||||
}
|
}
|
||||||
|
|
||||||
// InjectScheme will configure the scheme to be used for decoding the file.
|
// InjectScheme will configure the scheme to be used for decoding the file.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
func (d *DeferredFileLoader) InjectScheme(scheme *runtime.Scheme) error {
|
func (d *DeferredFileLoader) InjectScheme(scheme *runtime.Scheme) error {
|
||||||
d.scheme = scheme
|
d.scheme = scheme
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// loadFile is used from the mutex.Once to load the file.
|
// loadFile is used from the mutex.Once to load the file.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
func (d *DeferredFileLoader) loadFile() {
|
func (d *DeferredFileLoader) loadFile() {
|
||||||
if d.scheme == nil {
|
if d.scheme == nil {
|
||||||
d.err = fmt.Errorf("scheme not supplied to controller configuration loader")
|
d.err = fmt.Errorf("scheme not supplied to controller configuration loader")
|
||||||
|
2
vendor/sigs.k8s.io/controller-runtime/pkg/config/doc.go
generated
vendored
2
vendor/sigs.k8s.io/controller-runtime/pkg/config/doc.go
generated
vendored
@ -22,4 +22,6 @@ limitations under the License.
|
|||||||
// This uses a deferred file decoding allowing you to chain your configuration
|
// This uses a deferred file decoding allowing you to chain your configuration
|
||||||
// setup. You can pass this into manager.Options#File and it will load your
|
// setup. You can pass this into manager.Options#File and it will load your
|
||||||
// config.
|
// config.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
package config
|
package config
|
||||||
|
2
vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/doc.go
generated
vendored
2
vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/doc.go
generated
vendored
@ -17,4 +17,6 @@ limitations under the License.
|
|||||||
// Package v1alpha1 provides the ControllerManagerConfiguration used for
|
// Package v1alpha1 provides the ControllerManagerConfiguration used for
|
||||||
// configuring ctrl.Manager
|
// configuring ctrl.Manager
|
||||||
// +kubebuilder:object:generate=true
|
// +kubebuilder:object:generate=true
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
package v1alpha1
|
package v1alpha1
|
||||||
|
6
vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/register.go
generated
vendored
6
vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/register.go
generated
vendored
@ -23,12 +23,18 @@ import (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
// GroupVersion is group version used to register these objects.
|
// GroupVersion is group version used to register these objects.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
GroupVersion = schema.GroupVersion{Group: "controller-runtime.sigs.k8s.io", Version: "v1alpha1"}
|
GroupVersion = schema.GroupVersion{Group: "controller-runtime.sigs.k8s.io", Version: "v1alpha1"}
|
||||||
|
|
||||||
// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
|
// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
|
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
|
||||||
|
|
||||||
// AddToScheme adds the types in this group-version to the given scheme.
|
// AddToScheme adds the types in this group-version to the given scheme.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
AddToScheme = SchemeBuilder.AddToScheme
|
AddToScheme = SchemeBuilder.AddToScheme
|
||||||
)
|
)
|
||||||
|
|
||||||
|
10
vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/types.go
generated
vendored
10
vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/types.go
generated
vendored
@ -25,6 +25,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// ControllerManagerConfigurationSpec defines the desired state of GenericControllerManagerConfiguration.
|
// ControllerManagerConfigurationSpec defines the desired state of GenericControllerManagerConfiguration.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
type ControllerManagerConfigurationSpec struct {
|
type ControllerManagerConfigurationSpec struct {
|
||||||
// SyncPeriod determines the minimum frequency at which watched resources are
|
// SyncPeriod determines the minimum frequency at which watched resources are
|
||||||
// reconciled. A lower period will correct entropy more quickly, but reduce
|
// reconciled. A lower period will correct entropy more quickly, but reduce
|
||||||
@ -75,6 +77,8 @@ type ControllerManagerConfigurationSpec struct {
|
|||||||
|
|
||||||
// ControllerConfigurationSpec defines the global configuration for
|
// ControllerConfigurationSpec defines the global configuration for
|
||||||
// controllers registered with the manager.
|
// controllers registered with the manager.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
type ControllerConfigurationSpec struct {
|
type ControllerConfigurationSpec struct {
|
||||||
// GroupKindConcurrency is a map from a Kind to the number of concurrent reconciliation
|
// GroupKindConcurrency is a map from a Kind to the number of concurrent reconciliation
|
||||||
// allowed for that controller.
|
// allowed for that controller.
|
||||||
@ -149,14 +153,20 @@ type ControllerWebhook struct {
|
|||||||
// +kubebuilder:object:root=true
|
// +kubebuilder:object:root=true
|
||||||
|
|
||||||
// ControllerManagerConfiguration is the Schema for the GenericControllerManagerConfigurations API.
|
// ControllerManagerConfiguration is the Schema for the GenericControllerManagerConfigurations API.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
type ControllerManagerConfiguration struct {
|
type ControllerManagerConfiguration struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
|
||||||
// ControllerManagerConfiguration returns the contfigurations for controllers
|
// ControllerManagerConfiguration returns the contfigurations for controllers
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
ControllerManagerConfigurationSpec `json:",inline"`
|
ControllerManagerConfigurationSpec `json:",inline"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Complete returns the configuration for controller-runtime.
|
// Complete returns the configuration for controller-runtime.
|
||||||
|
//
|
||||||
|
// Deprecated: This package has been deprecated and will be removed in a future release.
|
||||||
func (c *ControllerManagerConfigurationSpec) Complete() (ControllerManagerConfigurationSpec, error) {
|
func (c *ControllerManagerConfigurationSpec) Complete() (ControllerManagerConfigurationSpec, error) {
|
||||||
return *c, nil
|
return *c, nil
|
||||||
}
|
}
|
||||||
|
2
vendor/sigs.k8s.io/controller-runtime/pkg/controller/controller.go
generated
vendored
2
vendor/sigs.k8s.io/controller-runtime/pkg/controller/controller.go
generated
vendored
@ -141,7 +141,7 @@ func NewUnmanaged(name string, mgr manager.Manager, options Options) (Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
if options.RecoverPanic == nil {
|
if options.RecoverPanic == nil {
|
||||||
options.RecoverPanic = mgr.GetControllerOptions().RecoverPanic
|
options.RecoverPanic = mgr.GetControllerOptions().RecoverPanic //nolint:staticcheck
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create controller with dependencies set
|
// Create controller with dependencies set
|
||||||
|
6
vendor/sigs.k8s.io/controller-runtime/pkg/manager/internal.go
generated
vendored
6
vendor/sigs.k8s.io/controller-runtime/pkg/manager/internal.go
generated
vendored
@ -41,7 +41,7 @@ import (
|
|||||||
"sigs.k8s.io/controller-runtime/pkg/cache"
|
"sigs.k8s.io/controller-runtime/pkg/cache"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/cluster"
|
"sigs.k8s.io/controller-runtime/pkg/cluster"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
|
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1" //nolint:staticcheck
|
||||||
"sigs.k8s.io/controller-runtime/pkg/healthz"
|
"sigs.k8s.io/controller-runtime/pkg/healthz"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/internal/httpserver"
|
"sigs.k8s.io/controller-runtime/pkg/internal/httpserver"
|
||||||
intrec "sigs.k8s.io/controller-runtime/pkg/internal/recorder"
|
intrec "sigs.k8s.io/controller-runtime/pkg/internal/recorder"
|
||||||
@ -108,7 +108,7 @@ type controllerManager struct {
|
|||||||
healthzHandler *healthz.Handler
|
healthzHandler *healthz.Handler
|
||||||
|
|
||||||
// controllerOptions are the global controller options.
|
// controllerOptions are the global controller options.
|
||||||
controllerOptions v1alpha1.ControllerConfigurationSpec
|
controllerOptions v1alpha1.ControllerConfigurationSpec //nolint:staticcheck
|
||||||
|
|
||||||
// Logger is the logger that should be used by this manager.
|
// Logger is the logger that should be used by this manager.
|
||||||
// If none is set, it defaults to log.Log global logger.
|
// If none is set, it defaults to log.Log global logger.
|
||||||
@ -325,7 +325,7 @@ func (cm *controllerManager) GetLogger() logr.Logger {
|
|||||||
return cm.logger
|
return cm.logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cm *controllerManager) GetControllerOptions() v1alpha1.ControllerConfigurationSpec {
|
func (cm *controllerManager) GetControllerOptions() v1alpha1.ControllerConfigurationSpec { //nolint:staticcheck
|
||||||
return cm.controllerOptions
|
return cm.controllerOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
|
22
vendor/sigs.k8s.io/controller-runtime/pkg/manager/manager.go
generated
vendored
22
vendor/sigs.k8s.io/controller-runtime/pkg/manager/manager.go
generated
vendored
@ -36,8 +36,8 @@ import (
|
|||||||
"sigs.k8s.io/controller-runtime/pkg/cache"
|
"sigs.k8s.io/controller-runtime/pkg/cache"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/cluster"
|
"sigs.k8s.io/controller-runtime/pkg/cluster"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/config"
|
"sigs.k8s.io/controller-runtime/pkg/config" //nolint:staticcheck
|
||||||
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
|
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1" //nolint:staticcheck
|
||||||
"sigs.k8s.io/controller-runtime/pkg/healthz"
|
"sigs.k8s.io/controller-runtime/pkg/healthz"
|
||||||
intrec "sigs.k8s.io/controller-runtime/pkg/internal/recorder"
|
intrec "sigs.k8s.io/controller-runtime/pkg/internal/recorder"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/leaderelection"
|
"sigs.k8s.io/controller-runtime/pkg/leaderelection"
|
||||||
@ -94,7 +94,11 @@ type Manager interface {
|
|||||||
GetLogger() logr.Logger
|
GetLogger() logr.Logger
|
||||||
|
|
||||||
// GetControllerOptions returns controller global configuration options.
|
// GetControllerOptions returns controller global configuration options.
|
||||||
GetControllerOptions() v1alpha1.ControllerConfigurationSpec
|
//
|
||||||
|
// Deprecated: In a future version, the returned value is going to be replaced with a
|
||||||
|
// different type that doesn't rely on component configuration types.
|
||||||
|
// This is a temporary warning, and no action is needed as of today.
|
||||||
|
GetControllerOptions() v1alpha1.ControllerConfigurationSpec //nolint:staticcheck
|
||||||
}
|
}
|
||||||
|
|
||||||
// Options are the arguments for creating a new Manager.
|
// Options are the arguments for creating a new Manager.
|
||||||
@ -297,7 +301,11 @@ type Options struct {
|
|||||||
// Controller contains global configuration options for controllers
|
// Controller contains global configuration options for controllers
|
||||||
// registered within this manager.
|
// registered within this manager.
|
||||||
// +optional
|
// +optional
|
||||||
Controller v1alpha1.ControllerConfigurationSpec
|
//
|
||||||
|
// Deprecated: In a future version, the type of this field is going to be replaced with a
|
||||||
|
// different struct that doesn't rely on component configuration types.
|
||||||
|
// This is a temporary warning, and no action is needed as of today.
|
||||||
|
Controller v1alpha1.ControllerConfigurationSpec //nolint:staticcheck
|
||||||
|
|
||||||
// makeBroadcaster allows deferring the creation of the broadcaster to
|
// makeBroadcaster allows deferring the creation of the broadcaster to
|
||||||
// avoid leaking goroutines if we never call Start on this manager. It also
|
// avoid leaking goroutines if we never call Start on this manager. It also
|
||||||
@ -456,6 +464,8 @@ func New(config *rest.Config, options Options) (Manager, error) {
|
|||||||
// AndFrom will use a supplied type and convert to Options
|
// AndFrom will use a supplied type and convert to Options
|
||||||
// any options already set on Options will be ignored, this is used to allow
|
// any options already set on Options will be ignored, this is used to allow
|
||||||
// cli flags to override anything specified in the config file.
|
// cli flags to override anything specified in the config file.
|
||||||
|
//
|
||||||
|
// Deprecated: This method will be removed in a future release.
|
||||||
func (o Options) AndFrom(loader config.ControllerManagerConfiguration) (Options, error) {
|
func (o Options) AndFrom(loader config.ControllerManagerConfiguration) (Options, error) {
|
||||||
if inj, wantsScheme := loader.(inject.Scheme); wantsScheme {
|
if inj, wantsScheme := loader.(inject.Scheme); wantsScheme {
|
||||||
err := inj.InjectScheme(o.Scheme)
|
err := inj.InjectScheme(o.Scheme)
|
||||||
@ -521,6 +531,8 @@ func (o Options) AndFrom(loader config.ControllerManagerConfiguration) (Options,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AndFromOrDie will use options.AndFrom() and will panic if there are errors.
|
// AndFromOrDie will use options.AndFrom() and will panic if there are errors.
|
||||||
|
//
|
||||||
|
// Deprecated: This method will be removed in a future release.
|
||||||
func (o Options) AndFromOrDie(loader config.ControllerManagerConfiguration) Options {
|
func (o Options) AndFromOrDie(loader config.ControllerManagerConfiguration) Options {
|
||||||
o, err := o.AndFrom(loader)
|
o, err := o.AndFrom(loader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -529,7 +541,7 @@ func (o Options) AndFromOrDie(loader config.ControllerManagerConfiguration) Opti
|
|||||||
return o
|
return o
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o Options) setLeaderElectionConfig(obj v1alpha1.ControllerManagerConfigurationSpec) Options {
|
func (o Options) setLeaderElectionConfig(obj v1alpha1.ControllerManagerConfigurationSpec) Options { //nolint:staticcheck
|
||||||
if obj.LeaderElection == nil {
|
if obj.LeaderElection == nil {
|
||||||
// The source does not have any configuration; noop
|
// The source does not have any configuration; noop
|
||||||
return o
|
return o
|
||||||
|
Loading…
Reference in New Issue
Block a user