diff --git a/dev/tools/controllerbuilder/template/controller/controller.go b/dev/tools/controllerbuilder/template/controller/controller.go index 9ddd54f465..344fd2897c 100644 --- a/dev/tools/controllerbuilder/template/controller/controller.go +++ b/dev/tools/controllerbuilder/template/controller/controller.go @@ -227,7 +227,12 @@ func (a *{{.ProtoResource}}Adapter) Update(ctx context.Context, updateOp *direct if len(paths) == 0 { log.V(2).Info("no field needs update", "name", a.id.External) - return nil + status := &krm.{{.Kind}}Status{} + status.ObservedState = {{.Kind}}ObservedState_FromProto(mapCtx, a.actual) + if mapCtx.Err() != nil { + return mapCtx.Err() + } + return updateOp.UpdateStatus(ctx, status, nil) } updateMask := &fieldmaskpb.FieldMask{ Paths: sets.List(paths)}