kestra README

The project's README from github.com/kestra-io/kestra. As one markdown file: README.md.

Kestra workflow orchestrator

Open-source orchestration platform for data, AI, and infrastructure workflows

Last Version License Github star
Kestra infinitely scalable orchestration and scheduling platform Slack

twitter linkedin youtube

kestra-io%2Fkestra | Trendshift Kestra - All-in-one automation & orchestration platform | Product Hunt

Get started in 3 minutes with Kestra

Click on the image to learn how to get started with Kestra in 3 minutes.

🌟 What is Kestra?

Kestra is an open-source, event-driven orchestration platform for data, AI, and infrastructure workflows. It unifies scheduled and event-driven automation behind a declarative, language-agnostic interface. By bringing Infrastructure as Code best practices to your data, process, and microservice pipelines, you can build reliable workflows directly from the UI in just a few lines of YAML, let the built-in AI Copilot write them for you, or generate them straight from your coding agent (Claude Code, Cursor, Windsurf, and others) with Agent Skills.

📖 Table of Contents

Key Features:

🧑‍💻 The YAML definition gets automatically adjusted any time you make changes to a workflow from the UI or via an API call. Therefore, the orchestration logic is always managed declaratively in code, even if you modify your workflows in other ways (UI, No-Code editor, AI Copilot, CI/CD, Terraform, API calls).


✨ What's New in 2.0

Kestra 2.0 is a major release. The highlights below are the short version. See What's New in Kestra 2.0 for the full list, and the 2.0 migration guide for breaking changes and upgrade steps.

AI

Workflow components

Developer experience

Infrastructure

Enterprise Edition also gains an action-based RBAC model, Policies, Cases for incident management, Promote for UI-driven cross-instance deployment, Reusable Inputs, Worker Groups 2.0, and an external log data store.


🚀 Quick Start

Launch on AWS (CloudFormation)

Deploy Kestra on AWS using our CloudFormation template:

Launch Stack

Launch on Google Cloud (Terraform deployment)

Deploy Kestra on Google Cloud Infrastructure Manager using our Terraform module.

Get Started Locally in 5 Minutes

Launch Kestra in Docker

Make sure that Docker is running. Then, start Kestra in a single command:

docker run --pull=always --rm -it -p 8080:8080 --user=root \
  --name kestra \
  -v kestra_data:/app/storage \
  -v kestra_db:/app/data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /tmp:/tmp \
  -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true \
  kestra/kestra:latest-slim server local

If you're on Windows and use PowerShell:

docker run --pull=always --rm -it -p 8080:8080 --user=root `
  --name kestra `
  -v "kestra_data:/app/storage" `
  -v "kestra_db:/app/data" `
  -v "/var/run/docker.sock:/var/run/docker.sock" `
  -v "C:/Temp:/tmp" `
  -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true `
  kestra/kestra:latest-slim server local

If you're on Windows and use Command Prompt (CMD):

docker run --pull=always --rm -it -p 8080:8080 --user=root ^
  --name kestra ^
  -v "kestra_data:/app/storage" ^
  -v "kestra_db:/app/data" ^
  -v "/var/run/docker.sock:/var/run/docker.sock" ^
  -v "C:/Temp:/tmp" ^
  -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true ^
  kestra/kestra:latest-slim server local

If you're on Windows and use WSL (Linux-based environment in Windows):

docker run --pull=always --rm -it -p 8080:8080 --user=root \
  --name kestra \
  -v kestra_data:/app/storage \
  -v kestra_db:/app/data \
  -v "/var/run/docker.sock:/var/run/docker.sock" \
  -v "/mnt/c/Temp:/tmp" \
  -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true \
  kestra/kestra:latest-slim server local

The -slim image ships without bundled plugins to keep the download small; KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true makes Kestra fetch each plugin from Maven Central the first time a flow needs it. Prefer everything bundled up front? Use kestra/kestra:latest instead and drop the environment variable.

Check our Installation Guide for other deployment options (Docker Compose, Podman, Kubernetes, AWS, GCP, Azure, and more).

Access the Kestra UI at http://localhost:8080 and start building your first flow!

Your First Hello World Flow

Create a new flow with the following content:

id: hello_world
namespace: dev

tasks:
  - id: say_hello
    type: io.kestra.plugin.core.log.Log
    message: "Hello, World!"

Run the flow and see the output in the UI!


🧩 Plugin Ecosystem

Kestra's functionality is extended through a rich ecosystem of plugins that empower you to run tasks anywhere and code in any language, including Python, Node.js, R, Go, Shell, and more. Here's how Kestra plugins enhance your workflows:

Kestra's plugin ecosystem is continually expanding, allowing you to tailor the platform to your specific needs. Whether you're orchestrating complex data pipelines, automating scripts across multiple environments, or integrating with cloud services, there's likely a plugin to assist. And if not, you can always build your own plugins to extend Kestra's capabilities.

🧑‍💻 Note: This is just a glimpse of what Kestra plugins can do. Explore the full list on our Plugins Page.


📚 Key Concepts


🎨 Build Workflows Visually

Kestra provides an intuitive UI that allows you to interactively build and visualize your workflows:

The YAML editor, the No-Code editor, and the AI Copilot all edit the same flow, so a change in one is reflected immediately in the others.


🔧 Extensible and Developer-Friendly

Plugin Development

Create custom plugins to extend Kestra's capabilities. Check out our Plugin Developer Guide to get started. Plugins can also define UI artifacts such as Topology nodes, which are Vue components loaded into the Kestra UI at runtime, and custom file renderers that preview task outputs inline.

Infrastructure as Code

CLI, SDKs, and Editors

kestra (kestra-io/kestra)

infrastructure-as-code
Searching Database…

29.7K ·GitHub
What is this?Kestra is an open-source, event-driven orchestration platform for building data, AI, and infrastructure workflows. You describe them in declarative YAML and manage everything from a built-in web UI.
Is this a cloud service I sign up for, or something I host myself?You run it yourself: launch it locally in Docker with one command, or deploy with Docker Compose, Podman, Kubernetes, an AWS CloudFormation template, or a Terraform module on Google Cloud. A paid Enterprise Edition adds governance features on top.
How do I get it running?With Docker running, start Kestra in a single command using the kestra/kestra:slim image plus KESTRAPLUGINSAUTOINSTALLENABLED=true. Open the Kestra web UI and build your first Hello World flow from there.
Do I need to know Java, since that's what Kestra is written in?No — flows are defined in YAML, and tasks can run scripts in whatever language you already use: Python, Node.js, R, Go, Shell, and others. Docker is all you need for the local quick start.
Any gotchas with that quick-start Docker image?The kestra/kestra:slim image ships without bundled plugins to keep the download small, so each plugin is fetched from Maven Central the first time a flow needs it. Prefer everything bundled up front? Use kestra/kestra:latest instead.
Is it actually free, or is there a catch with paid tiers?The core platform is open source under Apache-2.0. There is also a commercial Enterprise Edition that adds action-based RBAC, Policies, incident management with Cases, and UI-driven cross-instance deployment.
How do flows get triggered — cron schedules only, or real events too?Both. A single trigger definition covers scheduled runs and real-time, event-driven execution — flows can react to file arrivals or messages from Kafka, Redis, Pulsar, MQTT, NATS, AWS SQS, Google Pub/Sub, and Azure Event Hubs.
Can I build flows without hand-writing YAML?Yes. The No-Code editor builds a flow block by block with guided forms, and the AI Copilot can draft or edit flows from a plain description. All three — YAML editor, No-Code editor, and Copilot — edit the same flow and stay in sync.
Can AI agents call my Kestra flows?Yes — a built-in MCP server exposes your flows as tools to any MCP-compatible agent, and Agent Skills let coding agents like Claude Code, Cursor, and Windsurf generate flows for you. AI Agents and RAG pipelines are also first-class task types inside flows.
What happens when I outgrow a single machine?It is built to handle millions of workflows with high availability and fault tolerance. Workers talk to the control plane over gRPC, so they can run in another region or a restricted network, and Task Runners scale execution out to Docker, Kubernetes, or cloud VMs.
Creator
kestra-io
Size
141.9 MB
Stars
29.7K
Age
7y
Commits · 90 Days