Skip to content

Commit 805a341

Browse files
committed
Update CRDs to reflect kubernetes 1.34 changes
Signed-off-by: Jannik Hollenbach <jannik.hollenbach@iteratec.com>
1 parent 424c32d commit 805a341

12 files changed

Lines changed: 1604 additions & 190 deletions

operator/controllers/execution/scans/scan_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ var (
4444
// Finalizer to delete related files in s3 when the scan gets deleted
4545
// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#finalizers
4646
var s3StorageFinalizer = "s3.storage.securecodebox.io/scan-files"
47+
4748
// Legacy finalizer name for backward compatibility during migration
4849
var s3StorageFinalizerLegacy = "s3.storage.securecodebox.io"
4950

operator/controllers/execution/scans/scan_reconciler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,21 @@ func (r *ScanReconciler) startScan(scan *executionv1.Scan) error {
4242

4343
// Add s3 storage finalizer to scan (and migrate legacy finalizer if needed)
4444
updated := false
45-
45+
4646
// Migrate legacy finalizer for active scans
4747
if containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy) && !containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer) {
4848
log.Info("Migrating legacy finalizer for active scan", "legacy", s3StorageFinalizerLegacy, "current", s3StorageFinalizer)
4949
scan.ObjectMeta.Finalizers = removeString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)
5050
scan.ObjectMeta.Finalizers = append(scan.ObjectMeta.Finalizers, s3StorageFinalizer)
5151
updated = true
5252
}
53-
53+
5454
// Add s3 storage finalizer if it doesn't exist
5555
if !containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer) {
5656
scan.ObjectMeta.Finalizers = append(scan.ObjectMeta.Finalizers, s3StorageFinalizer)
5757
updated = true
5858
}
59-
59+
6060
// Update scan if finalizers were modified
6161
if updated {
6262
if err := r.Update(context.Background(), scan); err != nil {

operator/controllers/execution/scans/scan_reconciler_test.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ var reconciler = &ScanReconciler{}
2121
var _ = Describe("ScanControllers", func() {
2222
Context("Finalizer Migration", func() {
2323
var scan *executionv1.Scan
24-
24+
2525
BeforeEach(func() {
2626
scan = &executionv1.Scan{
2727
ObjectMeta: metav1.ObjectMeta{
28-
Namespace: namespace,
29-
Name: "test-scan",
28+
Namespace: namespace,
29+
Name: "test-scan",
3030
Finalizers: []string{},
3131
},
3232
Spec: executionv1.ScanSpec{
@@ -42,20 +42,20 @@ var _ = Describe("ScanControllers", func() {
4242
It("should handle legacy finalizer migration logic", func() {
4343
// Set up scan with legacy finalizer
4444
scan.ObjectMeta.Finalizers = []string{s3StorageFinalizerLegacy, "other-finalizer"}
45-
45+
4646
// Test that legacy finalizer is present initially
4747
Expect(containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)).To(BeTrue())
48-
48+
4949
// Test that it would be detected for migration (without actually running migration
5050
// which requires MinioClient setup)
5151
hasLegacy := containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)
5252
Expect(hasLegacy).To(BeTrue())
53-
53+
5454
// Simulate the migration logic manually (what migrateFinalizer would do)
5555
if hasLegacy {
5656
scan.ObjectMeta.Finalizers = removeString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)
5757
}
58-
58+
5959
// After migration, legacy finalizer should be removed
6060
Expect(containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)).To(BeFalse())
6161
// Other finalizers should remain
@@ -65,10 +65,10 @@ var _ = Describe("ScanControllers", func() {
6565
It("should not migrate when legacy finalizer is not present", func() {
6666
// Set up scan without legacy finalizer
6767
scan.ObjectMeta.Finalizers = []string{s3StorageFinalizer}
68-
68+
6969
mockReconciler := &ScanReconciler{}
7070
err := mockReconciler.migrateFinalizer(scan)
71-
71+
7272
// Should return nil (no migration needed)
7373
Expect(err).To(BeNil())
7474
// Should still have the new finalizer
@@ -78,66 +78,66 @@ var _ = Describe("ScanControllers", func() {
7878
It("should not migrate when no finalizers are present", func() {
7979
// Set up scan without any finalizers
8080
scan.ObjectMeta.Finalizers = []string{}
81-
81+
8282
// Test detection logic (no migration needed)
8383
hasLegacy := containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)
8484
Expect(hasLegacy).To(BeFalse())
85-
85+
8686
// Should have no finalizers
8787
Expect(len(scan.ObjectMeta.Finalizers)).To(Equal(0))
8888
})
89-
89+
9090
It("should handle active scan migration from legacy finalizer", func() {
9191
// Set up scan with legacy finalizer (simulating existing scan)
9292
scan.ObjectMeta.Finalizers = []string{s3StorageFinalizerLegacy}
93-
93+
9494
// Simulate the active scan migration logic from startScan function
9595
updated := false
96-
96+
9797
// Check if migration is needed
9898
if containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy) && !containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer) {
9999
scan.ObjectMeta.Finalizers = removeString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)
100100
scan.ObjectMeta.Finalizers = append(scan.ObjectMeta.Finalizers, s3StorageFinalizer)
101101
updated = true
102102
}
103-
103+
104104
// Verify migration occurred
105105
Expect(updated).To(BeTrue())
106106
Expect(containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)).To(BeFalse())
107107
Expect(containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer)).To(BeTrue())
108108
})
109-
109+
110110
It("should not migrate active scan when current finalizer already exists", func() {
111111
// Set up scan with both finalizers (edge case)
112112
scan.ObjectMeta.Finalizers = []string{s3StorageFinalizerLegacy, s3StorageFinalizer}
113-
113+
114114
// Simulate the active scan migration logic
115115
updated := false
116-
116+
117117
// Check migration condition (should not migrate if current finalizer exists)
118118
if containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy) && !containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer) {
119119
// This block should not execute
120120
updated = true
121121
}
122-
122+
123123
// Verify no migration occurred
124124
Expect(updated).To(BeFalse())
125125
Expect(containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizerLegacy)).To(BeTrue())
126126
Expect(containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer)).To(BeTrue())
127127
})
128-
128+
129129
It("should add s3 storage finalizer to scan without any finalizers", func() {
130130
// Set up scan without finalizers
131131
scan.ObjectMeta.Finalizers = []string{}
132-
132+
133133
// Simulate adding s3 storage finalizer
134134
updated := false
135-
135+
136136
if !containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer) {
137137
scan.ObjectMeta.Finalizers = append(scan.ObjectMeta.Finalizers, s3StorageFinalizer)
138138
updated = true
139139
}
140-
140+
141141
// Verify finalizer was added
142142
Expect(updated).To(BeTrue())
143143
Expect(containsString(scan.ObjectMeta.Finalizers, s3StorageFinalizer)).To(BeTrue())
@@ -156,7 +156,7 @@ var _ = Describe("ScanControllers", func() {
156156
It("should correctly remove string from slice", func() {
157157
originalSlice := []string{"first", s3StorageFinalizerLegacy, "last"}
158158
result := removeString(originalSlice, s3StorageFinalizerLegacy)
159-
159+
160160
Expect(len(result)).To(Equal(2))
161161
Expect(result).To(Equal([]string{"first", "last"}))
162162
Expect(containsString(result, s3StorageFinalizerLegacy)).To(BeFalse())
@@ -165,7 +165,7 @@ var _ = Describe("ScanControllers", func() {
165165
It("should handle removing non-existent string", func() {
166166
originalSlice := []string{"first", "second", "third"}
167167
result := removeString(originalSlice, "non-existent")
168-
168+
169169
Expect(len(result)).To(Equal(3))
170170
Expect(result).To(Equal(originalSlice))
171171
})

0 commit comments

Comments
 (0)