Get started with Kestra in 3 minutes.
- What user problem does this solve? Teams need to clone, fetch, and interact with Git repositories from orchestrated workflows instead of relying on manual console work, ad hoc scripts, or disconnected schedulers.
- Why would a team adopt this plugin in a workflow? It keeps Git steps in the same Kestra flow as upstream preparation, approvals, retries, notifications, and downstream systems.
- What operational/business outcome does it enable? It reduces manual handoffs and fragmented tooling while improving reliability, traceability, and delivery speed for processes that depend on Git.
- Provides plugin components under
io.kestra.plugin.git. - Includes classes such as
SyncFlow,Sync,SyncNamespaceFiles,PushNamespaceFiles.
Dashboard tasks (SyncDashboards, PushDashboards) moved to the Git EE plugin in Kestra 2.0.0, because dashboards are an Enterprise Edition feature. TenantSync no longer syncs the _global/dashboards directory on OSS.
TenantSync and NamespaceSync set their sync direction with sourceOfTruth (KESTRA pushes Kestra state to Git, GIT applies Git state into Kestra). sourceOfTruthOverrides lets you set the direction per resource kind, so one run can push one kind to Git while pulling the other kind from Git in the same execution. It currently exposes flows and namespaceFiles; any field left unset falls back to sourceOfTruth.
- id: sync
type: io.kestra.plugin.git.TenantSync
sourceOfTruth: KESTRA # flows: Kestra -> Git
sourceOfTruthOverrides:
namespaceFiles: GIT # namespace files: Git -> Kestra
whenMissingInSource: KEEP
branch: main
url: https://github.com/my-org/my-repowhenMissingInSource stays a single global setting, but its effect flips per kind with the resolved source. With sourceOfTruth: KESTRA, sourceOfTruthOverrides.namespaceFiles: GIT, and whenMissingInSource: DELETE, a Namespace File present in Kestra but absent from Git is deleted from Kestra (Git is the source for files), while a flow present in Git but absent from Kestra is deleted from Git (Kestra is the source for flows). protectedNamespaces still guards every deletion regardless of direction.
- Full documentation can be found under kestra.io/docs
- Documentation for developing a plugin is included in the Plugin Developer Guide.
Apache 2.0 © Kestra Technologies
We release new versions every month. Give the main repository a star to stay up to date with the latest releases and get notified about future updates.
