package couchctl import ( "context" "edge-infra.dev/pkg/k8s/runtime/inventory" "edge-infra.dev/pkg/k8s/runtime/sap" "edge-infra.dev/pkg/k8s/unstructured" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" ) // pruneInventory delete resources from inventory. func pruneInventory(ctx context.Context, r *sap.ResourceManager, obj client.Object) error { un, err := unstructured.FromRuntime(obj) if err != nil { return err } inv, err := inventory.GetUnstructuredInventory(un) if err != nil { return err } if len(inv.Entries) > 0 { objs, err := inv.ListObjects() if err != nil { return err } _, err = r.DeleteAll(ctx, objs, sap.DeleteOptions{ PropagationPolicy: metav1.DeletePropagationBackground, }) return err } return nil }