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

Commit 66cd12b

Browse files
author
Nikolas De Giorgis
authored
CLOUDP-79509: Added deleter interface (#547)
1 parent ebc0733 commit 66cd12b

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

pkg/kube/client/client.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ type Client interface {
2828
// TODO: remove this function, add mongodb package which has GetAndUpdate function
2929
GetAndUpdate(nsName types.NamespacedName, obj k8sClient.Object, updateFunc func()) error
3030
configmap.GetUpdateCreateDeleter
31-
service.GetUpdateCreator
31+
service.GetUpdateCreateDeleter
3232
secret.GetUpdateCreateDeleter
3333
statefulset.GetUpdateCreateDeleter
3434
pod.Getter
@@ -139,6 +139,17 @@ func (c client) CreateService(service corev1.Service) error {
139139
return c.Create(context.TODO(), &service)
140140
}
141141

142+
// DeleteService provides a thin wrapper around client.Client to delete corev1.Service types
143+
func (c client) DeleteService(objectKey k8sClient.ObjectKey) error {
144+
svc := corev1.Service{
145+
ObjectMeta: metav1.ObjectMeta{
146+
Name: objectKey.Name,
147+
Namespace: objectKey.Namespace,
148+
},
149+
}
150+
return c.Delete(context.TODO(), &svc)
151+
}
152+
142153
// GetStatefulSet provides a thin wrapper and client.Client to access appsv1.StatefulSet types
143154
func (c client) GetStatefulSet(objectKey k8sClient.ObjectKey) (appsv1.StatefulSet, error) {
144155
sts := appsv1.StatefulSet{}

pkg/kube/service/service.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,20 @@ type Getter interface {
1010
}
1111

1212
type Updater interface {
13-
UpdateService(secret corev1.Service) error
13+
UpdateService(service corev1.Service) error
1414
}
1515

1616
type Creator interface {
17-
CreateService(secret corev1.Service) error
17+
CreateService(service corev1.Service) error
18+
}
19+
20+
type Deleter interface {
21+
DeleteService(objectKey client.ObjectKey) error
22+
}
23+
24+
type GetDeleter interface {
25+
Getter
26+
Deleter
1827
}
1928

2029
type GetUpdater interface {
@@ -28,6 +37,13 @@ type GetUpdateCreator interface {
2837
Creator
2938
}
3039

40+
type GetUpdateCreateDeleter interface {
41+
Getter
42+
Updater
43+
Creator
44+
Deleter
45+
}
46+
3147
// Merge merges `source` into `dest`. Both arguments will remain unchanged
3248
// a new service will be created and returned.
3349
// The "merging" process is arbitrary and it only handle specific attributes

0 commit comments

Comments
 (0)