You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
System flow blueprints fail validation on Kestra 2.0 (removed trigger conditions, forced pluginDefaults, expiredOnly, ForEach) #246
Deploying the 22 system namespace blueprints to a Kestra EE v2.0.0-rc1 instance (kestractl flows validate / flows deploy) fails for 15 of 22 flows. Kestra 2.0 removed several deprecated constructs that these blueprints still use.
Validation errors
1. conditions removed from io.kestra.plugin.core.trigger.Flow (11 flows)
Unrecognized field "conditions" (class io.kestra.plugin.core.trigger.Flow) — the v2 trigger now uses states, when, dependsOn, window, mode, minSatisfied.
Plain-text secret properties (new v2 warning): username in push-to-git, sync-from-git, failure-alert-email; apiKey in create-hubspot-ticket-on-failure; token in create-linear-issue-on-failure — should use {{ secret('...') }}.
This flow will be triggered for EVERY execution of EVERY flow on your instance on the 7 unscoped failure-alert blueprints — expected for instance-wide alerting patterns, kept as-is (the trigger now recommends dependsOn scoping).
Note for the core team
The canonical v2 replacement for prefix-based namespace alert scoping (official Flow trigger example #3 in core) is when: "{{ flow.namespace | startsWith('company') }}". Reading the rc1 sources, the trigger-level when is rendered with a RunContext built from of(null, execution), which doesn't expose a flow variable (and Pebble is strict) — worth verifying that this documented pattern actually fires at runtime; if not it's a core bug affecting the example docs too.
Repro
kestractl flows validate <dir-with-system-flows># against a 2.0.0-rc1 instance
All 22 flows validate and deploy cleanly after the fixes in the linked PR (validated + deployed on EE v2.0.0-rc1).
Activity