Skip to content

Commit 7ff2444

Browse files
feat: added smoothoperator to prevent duplicate code
1 parent 7286c4e commit 7ff2444

File tree

4 files changed

+15
-35
lines changed

4 files changed

+15
-35
lines changed

go.mod

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ require (
66
github.com/onsi/ginkgo/v2 v2.22.1
77
github.com/onsi/gomega v1.36.2
88
github.com/pdok/azure-volume-populator v0.1.1
9+
github.com/pdok/smooth-operator v1.2.2
910
k8s.io/api v0.34.0
1011
k8s.io/apimachinery v0.34.0
1112
k8s.io/client-go v0.34.0
@@ -21,11 +22,11 @@ require (
2122
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2223
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
2324
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
24-
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
2525
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
2626
github.com/felixge/httpsnoop v1.0.4 // indirect
2727
github.com/fsnotify/fsnotify v1.9.0 // indirect
2828
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
29+
github.com/go-errors/errors v1.5.1 // indirect
2930
github.com/go-logr/logr v1.4.2 // indirect
3031
github.com/go-logr/stdr v1.2.2 // indirect
3132
github.com/go-logr/zapr v1.3.0 // indirect
@@ -96,6 +97,8 @@ require (
9697
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect
9798
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect
9899
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
100+
sigs.k8s.io/kustomize/api v0.19.0 // indirect
101+
sigs.k8s.io/kustomize/kyaml v0.19.0 // indirect
99102
sigs.k8s.io/randfill v1.0.0 // indirect
100103
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
101104
sigs.k8s.io/yaml v1.6.0 // indirect

go.sum

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S
2727
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
2828
github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
2929
github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
30+
github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk=
31+
github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
3032
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
3133
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
3234
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
@@ -95,6 +97,8 @@ github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
9597
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
9698
github.com/pdok/azure-volume-populator v0.1.1 h1:4Wx3nvf6dIhsBjntCT8/8pIc0tncL7s+wczQ6iWOOEw=
9799
github.com/pdok/azure-volume-populator v0.1.1/go.mod h1:VZ6H9R9U4F0RqPct3jTEyPg1ziWuLa1EXO+F4tLZuMc=
100+
github.com/pdok/smooth-operator v1.2.2 h1:g6wq77mbK335KMb73Hn/7LnRA8VVqtdr7hj+tjrdoiM=
101+
github.com/pdok/smooth-operator v1.2.2/go.mod h1:tqr/CDCXZHNzQzQVlSAnCmsPlx9tWAObsj8hg9mSSEU=
98102
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
99103
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
100104
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -249,6 +253,10 @@ sigs.k8s.io/controller-runtime v0.22.1 h1:Ah1T7I+0A7ize291nJZdS1CabF/lB4E++WizgV
249253
sigs.k8s.io/controller-runtime v0.22.1/go.mod h1:FwiwRjkRPbiN+zp2QRp7wlTCzbUXxZ/D4OzuQUDwBHY=
250254
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
251255
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
256+
sigs.k8s.io/kustomize/api v0.19.0 h1:F+2HB2mU1MSiR9Hp1NEgoU2q9ItNOaBJl0I4Dlus5SQ=
257+
sigs.k8s.io/kustomize/api v0.19.0/go.mod h1:/BbwnivGVcBh1r+8m3tH1VNxJmHSk1PzP5fkP6lbL1o=
258+
sigs.k8s.io/kustomize/kyaml v0.19.0 h1:RFge5qsO1uHhwJsu3ipV7RNolC7Uozc0jUBC/61XSlA=
259+
sigs.k8s.io/kustomize/kyaml v0.19.0/go.mod h1:FeKD5jEOH+FbZPpqUghBP8mrLjJ3+zD3/rf9NNu1cwY=
252260
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
253261
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
254262
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=

internal/controller/util.go

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,10 @@
11
package controller
22

33
import (
4-
"context"
5-
"fmt"
6-
74
"github.com/PDOK/volume-operator/internal/config"
85
appsv1 "k8s.io/api/apps/v1"
9-
"sigs.k8s.io/controller-runtime/pkg/client"
106
)
117

12-
func deleteObjects(ctx context.Context, c client.Client, objects []client.Object) (err error) {
13-
for _, obj := range objects {
14-
fullName := getObjectFullName(c, obj)
15-
err = client.IgnoreNotFound(c.Delete(ctx, obj))
16-
if err != nil {
17-
return fmt.Errorf("unable to delete resource %s: %w", fullName, err)
18-
}
19-
}
20-
return
21-
}
22-
23-
func getObjectFullName(c client.Client, obj client.Object) string {
24-
groupVersionKind, err := c.GroupVersionKindFor(obj)
25-
if err != nil {
26-
return ""
27-
}
28-
key := client.ObjectKeyFromObject(obj)
29-
30-
return groupVersionKind.Group + "/" +
31-
groupVersionKind.Version + "/" +
32-
groupVersionKind.Kind + "/" +
33-
key.String()
34-
}
35-
368
func resourceIsUsedByOtherReplicaSet(rsList appsv1.ReplicaSetList, currentRs appsv1.ReplicaSet) bool {
379
for _, rs := range rsList.Items {
3810
if rs.Name == currentRs.Name {
@@ -47,7 +19,3 @@ func resourceIsUsedByOtherReplicaSet(rsList appsv1.ReplicaSetList, currentRs app
4719

4820
return false
4921
}
50-
51-
func StringPtr(s string) *string {
52-
return &s
53-
}

internal/controller/volume_controller.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
logf "sigs.k8s.io/controller-runtime/pkg/log"
3636

3737
avp "github.com/pdok/azure-volume-populator/api/v1alpha1"
38+
smoothoperator "github.com/pdok/smooth-operator/pkg/util"
3839
)
3940

4041
type VolumeReconciler struct {
@@ -134,7 +135,7 @@ func createPvcIfNotExists(ctx context.Context, obj client.Client, conf config.Co
134135
},
135136
},
136137
DataSourceRef: &corev1.TypedObjectReference{
137-
APIGroup: StringPtr(avp.GroupVersion.Group),
138+
APIGroup: smoothoperator.Pointer(avp.GroupVersion.Group),
138139
Kind: populator.Kind,
139140
Name: populator.Name,
140141
},
@@ -245,7 +246,7 @@ func deleteAllForReplicaSet(ctx context.Context, c client.Client, rs *appsv1.Rep
245246

246247
objectsToDelete := []client.Object{populator, pvc, rs}
247248

248-
return deleteObjects(ctx, c, objectsToDelete)
249+
return smoothoperator.DeleteObjects(ctx, c, objectsToDelete)
249250
}
250251

251252
// SetupWithManager sets up the controller with the Manager.

0 commit comments

Comments
 (0)