Currently, we call the function CreateOrUpdateWithDefaults from actions called during the reconciliation algorithm.
This function updates the SonataFlowPlatform object in the cluster. By the end of the reconciliation phase, we will have updated the object again. This redundancy must be gone.
Additionally, the Monitor action will never be called since the Service action is called before it and doesn't change the object status to a phase where the monitor action can be performed.
Implementation ideas
Review the reconciliation logic to read the status field and set Reason and Status conditions aligned with each action
Update the SonataFlowPlatform only by the end of the reconciliation logic
Break and rename the services reconciliation logic accordingly. Today, everything is within the k8s.go file, which makes maintenance a pain.
Description
Currently, we call the function
CreateOrUpdateWithDefaults
from actions called during the reconciliation algorithm.This function updates the
SonataFlowPlatform
object in the cluster. By the end of the reconciliation phase, we will have updated the object again. This redundancy must be gone.Additionally, the
Monitor
action will never be called since theService
action is called before it and doesn't change the object status to a phase where the monitor action can be performed.Implementation ideas
status
field and setReason
andStatus
conditions aligned with each actionSonataFlowPlatform
only by the end of the reconciliation logick8s.go
file, which makes maintenance a pain.