func()

in appconfigmgrv2/controllers/appenvconfigtemplatev2_controller.go [310:337]


func (r *AppEnvConfigTemplateV2Reconciler) garbageCollect(
	t *appconfig.AppEnvConfigTemplateV2,
	names map[types.NamespacedName]bool,
	gvr schema.GroupVersionResource,
) error {
	list, err := r.Dynamic.Resource(gvr).List(metav1.ListOptions{})
	if err != nil {
		return fmt.Errorf("listing: %v", err)
	}

	for _, item := range list.Items {
		if !metav1.IsControlledBy(&item, t) {
			continue
		}

		nn := types.NamespacedName{Name: item.GetName(), Namespace: item.GetNamespace()}
		if !names[nn] {
			log.Info("Deleting", "resource", gvr.Resource, "name", nn.Name)
			if err := r.Dynamic.Resource(gvr).
				Namespace(nn.Namespace).
				Delete(nn.Name, &metav1.DeleteOptions{}); err != nil {
				return fmt.Errorf("deleting: %v", err)
			}
		}
	}

	return nil
}