Skip to content

Commit e094974

Browse files
authored
Call typed defaulter for reconciled object (#677)
controller-runtime now encourages the use of a typed webhook methods instead of using runtime.Object. This change in method signature was causing the Default method to be missed during a reconcile, allowing non-defaulted objects to be processed. It is now called when the generic type matches the type being reconciled. For example: _ admission.Defaulter[*TestResource] = &TestResource{} func (*TestResource) Default(ctx context.Context, obj *TestResource) error { ... } Signed-off-by: Scott Andrews <scott@andrews.me>
1 parent 9c9ed61 commit e094974

15 files changed

Lines changed: 719 additions & 156 deletions

internal/resources/dies/dies.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,3 +149,6 @@ func (d *TestResourceUnexportedFieldsStatusDie) AddUnexportedField(key, value st
149149

150150
// +die:object=true,spec=TestResourceSpec,status=TestResourceStatus
151151
type _ = resources.TestResourceWithLegacyDefault
152+
153+
// +die:object=true,spec=TestResourceSpec,status=TestResourceStatus
154+
type _ = resources.TestResourceWithObjectDefault

internal/resources/dies/zz_generated.die.go

Lines changed: 363 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/resources/dies/zz_generated.die_test.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)