Skip to content
This repository was archived by the owner on Dec 12, 2025. It is now read-only.

Commit 46a8240

Browse files
author
Nikolas De Giorgis
authored
Moved DeleteServiceIfItExists to Community (#549)
1 parent 4ce5f88 commit 46a8240

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

pkg/kube/service/service.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package service
22

33
import (
4+
"fmt"
5+
46
corev1 "k8s.io/api/core/v1"
7+
apiErrors "k8s.io/apimachinery/pkg/api/errors"
8+
"k8s.io/apimachinery/pkg/types"
59
"sigs.k8s.io/controller-runtime/pkg/client"
610
)
711

@@ -44,6 +48,19 @@ type GetUpdateCreateDeleter interface {
4448
Deleter
4549
}
4650

51+
func DeleteServiceIfItExists(getterDeleter GetDeleter, serviceName types.NamespacedName) error {
52+
_, err := getterDeleter.GetService(serviceName)
53+
if err != nil {
54+
// If it is not found return
55+
if apiErrors.IsNotFound(err) {
56+
return nil
57+
}
58+
// Otherwise we got an error when trying to get it
59+
return fmt.Errorf("can't get service %s: %s", serviceName, err)
60+
}
61+
return getterDeleter.DeleteService(serviceName)
62+
}
63+
4764
// Merge merges `source` into `dest`. Both arguments will remain unchanged
4865
// a new service will be created and returned.
4966
// The "merging" process is arbitrary and it only handle specific attributes

0 commit comments

Comments
 (0)