v0.3.34
Incompatible changes
This release adds a processing timeout to the component operator framework.
So far, if not all dependent objects of a component were in a Ready
state, the component stayed in a Processing
state, potentially forever. This is now changed. By default, there is a timeout assumed equal to the effective retry interval. If dependents do not get ready within that period, the component state will flip to Error
(but the reconciler will still continue to reconcile the dependent objects, trying to bring them to consistency). The timeout restarts counting whenever the component itself changes, or if the generated manifests of the dependent objects change.
Components (or their spec) can implement the new interface
type TimeoutConfiguration interface {
// Get timeout. Should be greater than 1 minute.
GetTimeout() time.Duration
}
(or embed the convenience type TimeoutSpec
) in order to make the timeout configurable.