Skip to content
OpenSourceSoftware.ai

GitHub stars

30,063
—Awaiting first sync

Awaiting first sync

No measured star history yet

What is Kestra?

Kestra gives a team one place to schedule, run and watch automated work, from data pipelines to infrastructure jobs and AI tasks. Each workflow is a short YAML file, so it can be reviewed and versioned like code, and it can also be built in a visual editor. Because flows react to events as well as schedules, work can start as soon as a file lands or a message arrives.

Kestra is an event-driven orchestration platform for data, AI and infrastructure workflows. Flows are written in declarative YAML or built in a No-Code editor, and they run on a schedule or in response to events. Hundreds of plugins connect databases, cloud storage and APIs, and tasks can run scripts in Python, Node.js, R, Go, Shell and other languages.

Core capabilities

  • Builds the same flow in a YAML editor, a No-Code editor or the AI Copilot.
  • Starts flows on a schedule or from events such as new files or queue messages.
  • Keeps flows in Git, with draft revisions that do not disturb running triggers.

Workflows as YAML, built three ways

A flow is a YAML file with an id, a namespace, a list of tasks and optional triggers. The YAML editor, the No-Code editor and the AI Copilot all edit the same flow, and the YAML is updated when you change the flow in the UI or through the API. A live topology view shows the flow as a graph while you edit it. Flows can be pushed to a Git branch from Kestra, and draft revisions let you stage changes while triggers keep running the published version.

  • YAML
  • No-Code editor
  • Git
  • Topology view

Plugins, scripts and event triggers

Hundreds of built-in plugins read from databases, cloud storage and APIs, and script tasks run Python, Node.js, R, Go, Shell and other languages. Triggers start flows on a schedule or when an event happens, such as a file arriving or a message on Kafka, Amazon SQS or Google Pub/Sub. Flows can use subflows, retries, timeouts, error handling, parallel tasks and backfills. Plugins also send notifications to Slack, email and PagerDuty.

  • Plugins
  • Triggers
  • Scripts
  • Notifications

Run it yourself under Apache-2.0

The quickest start is a single Docker container that serves the UI on port 8080, and the docs also cover Docker Compose with PostgreSQL, a Helm chart for Kubernetes and a standalone JAR. The kestra/kestra:latest-slim image fetches plugins the first time a flow needs them, while kestra/kestra:latest bundles them. The open-source edition includes unlimited flows and executions, Git integration, the MCP server and the AI Copilot with Gemini. SSO, RBAC, audit logs, a secrets manager and worker groups belong to the paid Enterprise Edition, and Kestra Cloud is a paid managed service. Kestra is released under the Apache-2.0 licence.

  • Self-hosted
  • Docker
  • Kubernetes
  • Apache-2.0

Where it fits

Use cases

  1. 01

    Run a nightly data pipeline

    Create a flow in a namespace with tasks that query a database, run a Python script and load the result into cloud storage. Add a Schedule trigger so it runs each night, and set retries and timeouts on tasks that call outside systems. Use backfills to rerun the flow for past dates when data is missing.

  2. 02

    Start a process when a file or message arrives

    Add a trigger that watches a source such as cloud storage or a message queue like Kafka, Amazon SQS or Google Pub/Sub. Each new file or message starts an execution of the flow. Subflows and conditional branching route the work, and notification plugins can tell Slack, email or PagerDuty when a run fails.

  3. 03

    Add AI steps to a business process

    Use the AI Agents and RAG task types to call models from OpenAI, Anthropic, Google Gemini, Amazon Bedrock or Ollama inside a flow, with token usage reported per execution. The built-in MCP server exposes your flows as tools that other AI agents can call. In the open-source edition, the AI Copilot that drafts flows for you works with Google Gemini.