mirror of https://github.com/kubernetes/kops.git
				
				
				
			Merge pull request #12967 from hakman/controller-runtime-0.11.0
Update controller-runtime to v0.11.0
This commit is contained in:
		
						commit
						7ccf0d6b7a
					
				
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							| 
						 | 
				
			
			@ -91,7 +91,7 @@ require (
 | 
			
		|||
	k8s.io/legacy-cloud-providers v0.23.0
 | 
			
		||||
	k8s.io/mount-utils v0.23.0
 | 
			
		||||
	k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b
 | 
			
		||||
	sigs.k8s.io/controller-runtime v0.11.0-beta.0
 | 
			
		||||
	sigs.k8s.io/controller-runtime v0.11.0
 | 
			
		||||
	sigs.k8s.io/yaml v1.3.0
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										8
									
								
								go.sum
								
								
								
								
							| 
						 | 
				
			
			@ -1008,8 +1008,8 @@ github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y
 | 
			
		|||
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
 | 
			
		||||
github.com/onsi/gomega v1.14.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
 | 
			
		||||
github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
 | 
			
		||||
github.com/onsi/gomega v1.16.0 h1:6gjqkI8iiRHMvdccRJM8rVKjCWk6ZIm6FTm3ddIe4/c=
 | 
			
		||||
github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
 | 
			
		||||
github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE=
 | 
			
		||||
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
 | 
			
		||||
github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 | 
			
		||||
github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 | 
			
		||||
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 | 
			
		||||
| 
						 | 
				
			
			@ -2021,8 +2021,8 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyz
 | 
			
		|||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.8.3/go.mod h1:U/l+DUopBc1ecfRZ5aviA9JDmGFQKvLf5YkZNx2e0sU=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.10.1/go.mod h1:CQp8eyUQZ/Q7PJvnIrB6/hgfTC1kBkGylwsLgOQi1WY=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.11.0-beta.0 h1:a/I8BabKLj3FAnxJV7vQwrekxA1ZpPAFP3wUhdlOIOk=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.11.0-beta.0/go.mod h1:VyRpZSHayzGLe5hzG1SGNUiTecyiZAPKq4v4+4s8VSg=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.11.0 h1:DqO+c8mywcZLFJWILq4iktoECTyn30Bkj0CwgqMpZWQ=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.11.0/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA=
 | 
			
		||||
sigs.k8s.io/controller-tools v0.5.0/go.mod h1:JTsstrMpxs+9BUj6eGuAaEb6SDSPTeVtUyp0jmnAM/I=
 | 
			
		||||
sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0=
 | 
			
		||||
sigs.k8s.io/gateway-api v0.3.0/go.mod h1:Wb8bx7QhGVZxOSEU3i9vw/JqTB5Nlai9MLMYVZeDmRQ=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -548,6 +548,7 @@ github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMi
 | 
			
		|||
github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 | 
			
		||||
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 | 
			
		||||
github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 | 
			
		||||
github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 | 
			
		||||
github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 | 
			
		||||
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
 | 
			
		||||
github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
 | 
			
		||||
| 
						 | 
				
			
			@ -1264,7 +1265,7 @@ github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y
 | 
			
		|||
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
 | 
			
		||||
github.com/onsi/gomega v1.14.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
 | 
			
		||||
github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
 | 
			
		||||
github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
 | 
			
		||||
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
 | 
			
		||||
github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 | 
			
		||||
github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 | 
			
		||||
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 | 
			
		||||
| 
						 | 
				
			
			@ -2487,7 +2488,7 @@ sigs.k8s.io/controller-runtime v0.5.0/go.mod h1:REiJzC7Y00U+2YkMbT8wxgrsX5USpXKG
 | 
			
		|||
sigs.k8s.io/controller-runtime v0.5.4/go.mod h1:JZUwSMVbxDupo0lTJSSFP5pimEyxGynROImSsqIOx1A=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.8.3/go.mod h1:U/l+DUopBc1ecfRZ5aviA9JDmGFQKvLf5YkZNx2e0sU=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.10.1/go.mod h1:CQp8eyUQZ/Q7PJvnIrB6/hgfTC1kBkGylwsLgOQi1WY=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.11.0-beta.0/go.mod h1:VyRpZSHayzGLe5hzG1SGNUiTecyiZAPKq4v4+4s8VSg=
 | 
			
		||||
sigs.k8s.io/controller-runtime v0.11.0/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA=
 | 
			
		||||
sigs.k8s.io/controller-tools v0.5.0/go.mod h1:JTsstrMpxs+9BUj6eGuAaEb6SDSPTeVtUyp0jmnAM/I=
 | 
			
		||||
sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0=
 | 
			
		||||
sigs.k8s.io/gateway-api v0.3.0/go.mod h1:Wb8bx7QhGVZxOSEU3i9vw/JqTB5Nlai9MLMYVZeDmRQ=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1545,8 +1545,8 @@ oras.land/oras-go/pkg/auth/docker
 | 
			
		|||
oras.land/oras-go/pkg/content
 | 
			
		||||
oras.land/oras-go/pkg/context
 | 
			
		||||
oras.land/oras-go/pkg/oras
 | 
			
		||||
# sigs.k8s.io/controller-runtime v0.11.0-beta.0
 | 
			
		||||
## explicit; go 1.16
 | 
			
		||||
# sigs.k8s.io/controller-runtime v0.11.0
 | 
			
		||||
## explicit; go 1.17
 | 
			
		||||
sigs.k8s.io/controller-runtime
 | 
			
		||||
sigs.k8s.io/controller-runtime/pkg/builder
 | 
			
		||||
sigs.k8s.io/controller-runtime/pkg/cache
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,9 +59,9 @@ linters-settings:
 | 
			
		|||
      - pkg: sigs.k8s.io/controller-runtime
 | 
			
		||||
        alias: ctrl
 | 
			
		||||
  staticcheck:
 | 
			
		||||
    go: "1.16"
 | 
			
		||||
    go: "1.17"
 | 
			
		||||
  stylecheck:
 | 
			
		||||
    go: "1.16"
 | 
			
		||||
    go: "1.17"
 | 
			
		||||
 | 
			
		||||
issues:
 | 
			
		||||
  max-same-issues: 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -90,6 +90,8 @@ type Informer interface {
 | 
			
		|||
type ObjectSelector internal.Selector
 | 
			
		||||
 | 
			
		||||
// SelectorsByObject associate a client.Object's GVK to a field/label selector.
 | 
			
		||||
// There is also `DefaultSelector` to set a global default (which will be overridden by
 | 
			
		||||
// a more specific setting here, if any).
 | 
			
		||||
type SelectorsByObject map[client.Object]ObjectSelector
 | 
			
		||||
 | 
			
		||||
// Options are the optional arguments for creating a new InformersMap object.
 | 
			
		||||
| 
						 | 
				
			
			@ -117,6 +119,10 @@ type Options struct {
 | 
			
		|||
	// [2] https://pkg.go.dev/k8s.io/apimachinery/pkg/fields#Set
 | 
			
		||||
	SelectorsByObject SelectorsByObject
 | 
			
		||||
 | 
			
		||||
	// DefaultSelector will be used as selectors for all object types
 | 
			
		||||
	// that do not have a selector in SelectorsByObject defined.
 | 
			
		||||
	DefaultSelector ObjectSelector
 | 
			
		||||
 | 
			
		||||
	// UnsafeDisableDeepCopyByObject indicates not to deep copy objects during get or
 | 
			
		||||
	// list objects per GVK at the specified object.
 | 
			
		||||
	// Be very careful with this, when enabled you must DeepCopy any object before mutating it,
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +138,7 @@ func New(config *rest.Config, opts Options) (Cache, error) {
 | 
			
		|||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	selectorsByGVK, err := convertToSelectorsByGVK(opts.SelectorsByObject, opts.Scheme)
 | 
			
		||||
	selectorsByGVK, err := convertToSelectorsByGVK(opts.SelectorsByObject, opts.DefaultSelector, opts.Scheme)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -153,21 +159,23 @@ func New(config *rest.Config, opts Options) (Cache, error) {
 | 
			
		|||
//          returned from cache get/list before mutating it.
 | 
			
		||||
func BuilderWithOptions(options Options) NewCacheFunc {
 | 
			
		||||
	return func(config *rest.Config, opts Options) (Cache, error) {
 | 
			
		||||
		if opts.Scheme == nil {
 | 
			
		||||
			opts.Scheme = options.Scheme
 | 
			
		||||
		if options.Scheme == nil {
 | 
			
		||||
			options.Scheme = opts.Scheme
 | 
			
		||||
		}
 | 
			
		||||
		if opts.Mapper == nil {
 | 
			
		||||
			opts.Mapper = options.Mapper
 | 
			
		||||
		if options.Mapper == nil {
 | 
			
		||||
			options.Mapper = opts.Mapper
 | 
			
		||||
		}
 | 
			
		||||
		if options.Resync == nil {
 | 
			
		||||
			options.Resync = opts.Resync
 | 
			
		||||
		}
 | 
			
		||||
		if options.Namespace == "" {
 | 
			
		||||
			options.Namespace = opts.Namespace
 | 
			
		||||
		}
 | 
			
		||||
		if opts.Resync == nil {
 | 
			
		||||
			opts.Resync = options.Resync
 | 
			
		||||
		}
 | 
			
		||||
		if opts.Namespace == "" {
 | 
			
		||||
			opts.Namespace = options.Namespace
 | 
			
		||||
		}
 | 
			
		||||
		opts.SelectorsByObject = options.SelectorsByObject
 | 
			
		||||
		opts.UnsafeDisableDeepCopyByObject = options.UnsafeDisableDeepCopyByObject
 | 
			
		||||
		return New(config, opts)
 | 
			
		||||
 | 
			
		||||
		return New(config, options)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -194,7 +202,7 @@ func defaultOpts(config *rest.Config, opts Options) (Options, error) {
 | 
			
		|||
	return opts, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func convertToSelectorsByGVK(selectorsByObject SelectorsByObject, scheme *runtime.Scheme) (internal.SelectorsByGVK, error) {
 | 
			
		||||
func convertToSelectorsByGVK(selectorsByObject SelectorsByObject, defaultSelector ObjectSelector, scheme *runtime.Scheme) (internal.SelectorsByGVK, error) {
 | 
			
		||||
	selectorsByGVK := internal.SelectorsByGVK{}
 | 
			
		||||
	for object, selector := range selectorsByObject {
 | 
			
		||||
		gvk, err := apiutil.GVKForObject(object, scheme)
 | 
			
		||||
| 
						 | 
				
			
			@ -203,6 +211,7 @@ func convertToSelectorsByGVK(selectorsByObject SelectorsByObject, scheme *runtim
 | 
			
		|||
		}
 | 
			
		||||
		selectorsByGVK[gvk] = internal.Selector(selector)
 | 
			
		||||
	}
 | 
			
		||||
	selectorsByGVK[schema.GroupVersionKind{}] = internal.Selector(defaultSelector)
 | 
			
		||||
	return selectorsByGVK, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ func newSpecificInformersMap(config *rest.Config,
 | 
			
		|||
		startWait:         make(chan struct{}),
 | 
			
		||||
		createListWatcher: createListWatcher,
 | 
			
		||||
		namespace:         namespace,
 | 
			
		||||
		selectors:         selectors,
 | 
			
		||||
		selectors:         selectors.forGVK,
 | 
			
		||||
		disableDeepCopy:   disableDeepCopy,
 | 
			
		||||
	}
 | 
			
		||||
	return ip
 | 
			
		||||
| 
						 | 
				
			
			@ -131,7 +131,7 @@ type specificInformersMap struct {
 | 
			
		|||
 | 
			
		||||
	// selectors are the label or field selectors that will be added to the
 | 
			
		||||
	// ListWatch ListOptions.
 | 
			
		||||
	selectors SelectorsByGVK
 | 
			
		||||
	selectors func(gvk schema.GroupVersionKind) Selector
 | 
			
		||||
 | 
			
		||||
	// disableDeepCopy indicates not to deep copy objects during get or list objects.
 | 
			
		||||
	disableDeepCopy DisableDeepCopyByGVK
 | 
			
		||||
| 
						 | 
				
			
			@ -277,19 +277,19 @@ func createStructuredListWatch(gvk schema.GroupVersionKind, ip *specificInformer
 | 
			
		|||
	// Create a new ListWatch for the obj
 | 
			
		||||
	return &cache.ListWatch{
 | 
			
		||||
		ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) {
 | 
			
		||||
			ip.selectors[gvk].ApplyToList(&opts)
 | 
			
		||||
			ip.selectors(gvk).ApplyToList(&opts)
 | 
			
		||||
			res := listObj.DeepCopyObject()
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors[gvk])
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors(gvk))
 | 
			
		||||
			isNamespaceScoped := namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot
 | 
			
		||||
			err := client.Get().NamespaceIfScoped(namespace, isNamespaceScoped).Resource(mapping.Resource.Resource).VersionedParams(&opts, ip.paramCodec).Do(ctx).Into(res)
 | 
			
		||||
			return res, err
 | 
			
		||||
		},
 | 
			
		||||
		// Setup the watch function
 | 
			
		||||
		WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) {
 | 
			
		||||
			ip.selectors[gvk].ApplyToList(&opts)
 | 
			
		||||
			ip.selectors(gvk).ApplyToList(&opts)
 | 
			
		||||
			// Watch needs to be set to true separately
 | 
			
		||||
			opts.Watch = true
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors[gvk])
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors(gvk))
 | 
			
		||||
			isNamespaceScoped := namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot
 | 
			
		||||
			return client.Get().NamespaceIfScoped(namespace, isNamespaceScoped).Resource(mapping.Resource.Resource).VersionedParams(&opts, ip.paramCodec).Watch(ctx)
 | 
			
		||||
		},
 | 
			
		||||
| 
						 | 
				
			
			@ -319,8 +319,8 @@ func createUnstructuredListWatch(gvk schema.GroupVersionKind, ip *specificInform
 | 
			
		|||
	// Create a new ListWatch for the obj
 | 
			
		||||
	return &cache.ListWatch{
 | 
			
		||||
		ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) {
 | 
			
		||||
			ip.selectors[gvk].ApplyToList(&opts)
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors[gvk])
 | 
			
		||||
			ip.selectors(gvk).ApplyToList(&opts)
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors(gvk))
 | 
			
		||||
			if namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot {
 | 
			
		||||
				return dynamicClient.Resource(mapping.Resource).Namespace(namespace).List(ctx, opts)
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -328,10 +328,10 @@ func createUnstructuredListWatch(gvk schema.GroupVersionKind, ip *specificInform
 | 
			
		|||
		},
 | 
			
		||||
		// Setup the watch function
 | 
			
		||||
		WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) {
 | 
			
		||||
			ip.selectors[gvk].ApplyToList(&opts)
 | 
			
		||||
			ip.selectors(gvk).ApplyToList(&opts)
 | 
			
		||||
			// Watch needs to be set to true separately
 | 
			
		||||
			opts.Watch = true
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors[gvk])
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors(gvk))
 | 
			
		||||
			if namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot {
 | 
			
		||||
				return dynamicClient.Resource(mapping.Resource).Namespace(namespace).Watch(ctx, opts)
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -366,13 +366,13 @@ func createMetadataListWatch(gvk schema.GroupVersionKind, ip *specificInformersM
 | 
			
		|||
	// create the relevant listwatch
 | 
			
		||||
	return &cache.ListWatch{
 | 
			
		||||
		ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) {
 | 
			
		||||
			ip.selectors[gvk].ApplyToList(&opts)
 | 
			
		||||
			ip.selectors(gvk).ApplyToList(&opts)
 | 
			
		||||
 | 
			
		||||
			var (
 | 
			
		||||
				list *metav1.PartialObjectMetadataList
 | 
			
		||||
				err  error
 | 
			
		||||
			)
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors[gvk])
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors(gvk))
 | 
			
		||||
			if namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot {
 | 
			
		||||
				list, err = client.Resource(mapping.Resource).Namespace(namespace).List(ctx, opts)
 | 
			
		||||
			} else {
 | 
			
		||||
| 
						 | 
				
			
			@ -387,7 +387,7 @@ func createMetadataListWatch(gvk schema.GroupVersionKind, ip *specificInformersM
 | 
			
		|||
		},
 | 
			
		||||
		// Setup the watch function
 | 
			
		||||
		WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) {
 | 
			
		||||
			ip.selectors[gvk].ApplyToList(&opts)
 | 
			
		||||
			ip.selectors(gvk).ApplyToList(&opts)
 | 
			
		||||
			// Watch needs to be set to true separately
 | 
			
		||||
			opts.Watch = true
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -395,7 +395,7 @@ func createMetadataListWatch(gvk schema.GroupVersionKind, ip *specificInformersM
 | 
			
		|||
				watcher watch.Interface
 | 
			
		||||
				err     error
 | 
			
		||||
			)
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors[gvk])
 | 
			
		||||
			namespace := restrictNamespaceBySelector(ip.namespace, ip.selectors(gvk))
 | 
			
		||||
			if namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot {
 | 
			
		||||
				watcher, err = client.Resource(mapping.Resource).Namespace(namespace).Watch(ctx, opts)
 | 
			
		||||
			} else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,17 @@ import (
 | 
			
		|||
// SelectorsByGVK associate a GroupVersionKind to a field/label selector.
 | 
			
		||||
type SelectorsByGVK map[schema.GroupVersionKind]Selector
 | 
			
		||||
 | 
			
		||||
func (s SelectorsByGVK) forGVK(gvk schema.GroupVersionKind) Selector {
 | 
			
		||||
	if specific, found := s[gvk]; found {
 | 
			
		||||
		return specific
 | 
			
		||||
	}
 | 
			
		||||
	if defaultSelector, found := s[schema.GroupVersionKind{}]; found {
 | 
			
		||||
		return defaultSelector
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return Selector{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Selector specify the label/field selector to fill in ListOptions.
 | 
			
		||||
type Selector struct {
 | 
			
		||||
	Label labels.Selector
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/zz_generated.deepcopy.go
								
								
									generated
								
								
									vendored
								
								
							
							
						
						
									
										1
									
								
								vendor/sigs.k8s.io/controller-runtime/pkg/config/v1alpha1/zz_generated.deepcopy.go
								
								
									generated
								
								
									vendored
								
								
							| 
						 | 
				
			
			@ -1,3 +1,4 @@
 | 
			
		|||
//go:build !ignore_autogenerated
 | 
			
		||||
// +build !ignore_autogenerated
 | 
			
		||||
 | 
			
		||||
// Code generated by controller-gen. DO NOT EDIT.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,8 +24,8 @@ import (
 | 
			
		|||
 | 
			
		||||
var onlyOneSignalHandler = make(chan struct{})
 | 
			
		||||
 | 
			
		||||
// SetupSignalHandler registers for SIGTERM and SIGINT. A stop channel is returned
 | 
			
		||||
// which is closed on one of these signals. If a second signal is caught, the program
 | 
			
		||||
// SetupSignalHandler registers for SIGTERM and SIGINT. A context is returned
 | 
			
		||||
// which is canceled on one of these signals. If a second signal is caught, the program
 | 
			
		||||
// is terminated with exit code 1.
 | 
			
		||||
func SetupSignalHandler() context.Context {
 | 
			
		||||
	close(onlyOneSignalHandler) // panics when called twice
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue