Skip to content

Commit ffedcfe

Browse files
adityathebemoshloop
authored andcommitted
refactor: return error on conversion failure, remove unused crdgen
- Return error instead of nil when unstructured-to-typed conversion fails. This ensures malformed resources are requeued for retry rather than being silently dropped. - Remove unused tests/crdgen/ packages and generate.sh script. These types were only used for CRD generation but the test uses unstructured objects directly.
1 parent 0040a74 commit ffedcfe

File tree

6 files changed

+3
-102
lines changed

6 files changed

+3
-102
lines changed

reconciler.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ type Reconciler[T any, PT interface {
7676
OnConflictFunc OnConflictFunc[PT]
7777
Finalizer string
7878
Events record.EventRecorder
79-
// gvk is the GroupVersionKind of the resource being reconciled.
80-
gvk schema.GroupVersionKind
79+
gvk schema.GroupVersionKind
8180
}
8281

8382
func (r *Reconciler[T, PT]) Reconcile(ctx gocontext.Context, req ctrl.Request) (ctrl.Result, error) {
@@ -95,10 +94,10 @@ func (r *Reconciler[T, PT]) Reconcile(ctx gocontext.Context, req ctrl.Request) (
9594

9695
obj := PT(new(T))
9796
if err := runtime.DefaultUnstructuredConverter.FromUnstructured(raw.Object, obj); err != nil {
98-
logger.Errorf("[kopper] malformed resource %s, skipping: %v", resourceName, err)
97+
logger.Errorf("[kopper] malformed resource %s: %v", resourceName, err)
9998
r.Events.Event(raw, "Warning", "MalformedResource",
10099
fmt.Sprintf("Resource spec does not match expected schema: %v", err))
101-
return ctrl.Result{}, nil
100+
return ctrl.Result{}, fmt.Errorf("failed to convert unstructured to typed object: %w", err)
102101
}
103102

104103
original := obj.DeepCopyObject()

tests/crdgen/v1/doc.go

Lines changed: 0 additions & 4 deletions
This file was deleted.

tests/crdgen/v1/types.go

Lines changed: 0 additions & 33 deletions
This file was deleted.

tests/crdgen/v2/doc.go

Lines changed: 0 additions & 4 deletions
This file was deleted.

tests/crdgen/v2/types.go

Lines changed: 0 additions & 38 deletions
This file was deleted.

tests/crds/generate.sh

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)