2026-05-05 12:59:36 +02:00
|
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
|
|
2026-04-23 19:18:06 +02:00
|
|
|
package k8sutil
|
2026-04-13 12:20:35 +02:00
|
|
|
|
|
|
|
|
import (
|
2026-06-15 13:57:14 +02:00
|
|
|
kruntime "k8s.io/apimachinery/pkg/runtime"
|
2026-04-13 12:20:35 +02:00
|
|
|
metav1ac "k8s.io/client-go/applyconfigurations/meta/v1"
|
|
|
|
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
|
|
|
|
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
|
|
|
|
|
)
|
|
|
|
|
|
2026-06-15 13:57:14 +02:00
|
|
|
func ControllerReference(owner client.Object, scheme *kruntime.Scheme) (*metav1ac.OwnerReferenceApplyConfiguration, error) {
|
2026-04-13 12:20:35 +02:00
|
|
|
gvk, err := apiutil.GVKForObject(owner, scheme)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return metav1ac.OwnerReference().
|
|
|
|
|
WithAPIVersion(gvk.GroupVersion().String()).
|
|
|
|
|
WithKind(gvk.Kind).
|
|
|
|
|
WithName(owner.GetName()).
|
|
|
|
|
WithUID(owner.GetUID()).
|
|
|
|
|
WithController(true).
|
|
|
|
|
WithBlockOwnerDeletion(true), nil
|
|
|
|
|
}
|
2026-04-23 16:11:15 +02:00
|
|
|
|
2026-06-15 13:57:14 +02:00
|
|
|
func OwnerReference(owner client.Object, scheme *kruntime.Scheme) (*metav1ac.OwnerReferenceApplyConfiguration, error) {
|
2026-04-23 16:11:15 +02:00
|
|
|
gvk, err := apiutil.GVKForObject(owner, scheme)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return metav1ac.OwnerReference().
|
|
|
|
|
WithAPIVersion(gvk.GroupVersion().String()).
|
|
|
|
|
WithKind(gvk.Kind).
|
|
|
|
|
WithName(owner.GetName()).
|
|
|
|
|
WithUID(owner.GetUID()).
|
|
|
|
|
WithController(false).
|
|
|
|
|
WithBlockOwnerDeletion(false), nil
|
|
|
|
|
}
|