diff --git a/pkg/trait/cron.go b/pkg/trait/cron.go index 715cec0c54..93366e94be 100644 --- a/pkg/trait/cron.go +++ b/pkg/trait/cron.go @@ -169,21 +169,36 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) { // Fallback strategy can be implemented in any other controller if t.Fallback != nil && *t.Fallback { + if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) { + e.Integration.Status.SetCondition( + v1.IntegrationConditionCronJobAvailable, + corev1.ConditionFalse, + v1.IntegrationConditionCronJobNotAvailableReason, + "fallback strategy selected", + ) + } return true, nil } // CronJob strategy requires common schedule strategy, err := e.DetermineControllerStrategy(t.ctx, t.client) if err != nil { - return false, err - } - if strategy != ControllerStrategyCronJob { - e.Integration.Status.SetCondition( + e.Integration.Status.SetErrorCondition( v1.IntegrationConditionCronJobAvailable, - corev1.ConditionFalse, v1.IntegrationConditionCronJobNotAvailableReason, - "controller strategy: "+string(strategy), + err, ) + return false, err + } + if strategy != ControllerStrategyCronJob { + if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) { + e.Integration.Status.SetCondition( + v1.IntegrationConditionCronJobAvailable, + corev1.ConditionFalse, + v1.IntegrationConditionCronJobNotAvailableReason, + "controller strategy: "+string(strategy), + ) + } return false, nil }