kubernetes/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/finalizer/crd_finalizer.go

// OverlappingBuiltInResources returns the set of built-in group/resources that are persisted
// in storage paths that overlap with CRD storage paths, and should not be deleted
// by this controller if an associated CRD is deleted.
func OverlappingBuiltInResources() map[schema.GroupResource]bool {}

type CRDFinalizer

type ListerCollectionDeleter

type CRClientGetter

// NewCRDFinalizer creates a new CRDFinalizer.
func NewCRDFinalizer(
	crdInformer informers.CustomResourceDefinitionInformer,
	crdClient client.CustomResourceDefinitionsGetter,
	crClientGetter CRClientGetter,
) *CRDFinalizer {}

func (c *CRDFinalizer) sync(key string) error {}

func (c *CRDFinalizer) deleteInstances(crd *apiextensionsv1.CustomResourceDefinition) (apiextensionsv1.CustomResourceDefinitionCondition, error) {}

func (c *CRDFinalizer) Run(workers int, stopCh <-chan struct{}

func (c *CRDFinalizer) runWorker() {}

// processNextWorkItem deals with one key off the queue.  It returns false when it's time to quit.
func (c *CRDFinalizer) processNextWorkItem() bool {}

func (c *CRDFinalizer) enqueue(obj *apiextensionsv1.CustomResourceDefinition) {}

func (c *CRDFinalizer) addCustomResourceDefinition(obj interface{}

func (c *CRDFinalizer) updateCustomResourceDefinition(oldObj, newObj interface{}