func()

in internal/resource/persistentvolumeclaim.go [67:90]


func (builder PersistentVolumeClaimBuilder) GetObsoleteObjects(ctx context.Context) ([]client.Object, error) {
	currentPVCList := &v12.PersistentVolumeClaimList{}
	var obsoleteObjects []client.Object
	var pvcList []CustomPersistentVolumeClaim

	listOptions := []client.ListOption{
		client.InNamespace(builder.Instance.Namespace),
		client.MatchingLabels(metadata.GetLabels(builder.Instance.Name, builder.Instance.Labels)),
	}
	if err := builder.Client.List(ctx, currentPVCList, listOptions...); err != nil {
		return nil, err
	}

	pvcList = append(pvcList, builder.Instance.Spec.DataDirVolumeClaim)
	pvcList = append(pvcList, builder.Instance.Spec.PersistentVolumeClaims...)
	for _, pvc := range currentPVCList.Items {
		var idx int
		s := pvc
		if idx = builder.getPVCIndex(&pvc, pvcList); idx == -1 {
			obsoleteObjects = append(obsoleteObjects, &s)
		}
	}
	return obsoleteObjects, nil
}