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)

Searching Database…

29.9K ·GitHub
这是什么东西?Kestra 是一个开源的事件驱动编排平台,用于搭建数据、AI 和基础架构工作流。你用声明式的 YAML 来描述工作流,并通过内置的网页界面统一管理一切。
这是需要注册付费的云服务,还是我自己部署的东西?它由你自己运行:既可以在本地用一条命令在 Docker 里启动,也可以通过 Docker Compose、Podman、Kubernetes、AWS CloudFormation 模板或 Google Cloud 上的 Terraform 模块来部署。付费的企业版在此基础上额外提供治理功能。
我怎么把它跑起来?在 Docker 运行的前提下,用一条命令启动 Kestra:使用 kestra/kestra:slim 镜像并加上 KESTRAPLUGINSAUTOINSTALLENABLED=true。打开 Kestra 网页界面,从那里构建你的第一个 Hello World 工作流即可。
既然 Kestra 是用 Java 写的,我需要懂 Java 吗?不需要——工作流用 YAML 定义,任务可以用你已经在用的任何语言跑脚本:Python、Node.js、R、Go、Shell 等等。本地快速上手只需要 Docker。
那个快速上手的 Docker 镜像有什么坑吗?为了减小下载体积,kestra/kestra:slim 镜像不内置任何插件,所以工作流第一次用到某个插件时才会从 Maven Central 拉取。想一开始就带上全部插件?改用 kestra/kestra:latest 就行。
它真的免费吗,还是付费版本里藏着门槛?核心平台按 Apache-2.0 协议开源。此外还有一个商业企业版,提供基于操作的 RBAC、策略(Policies)、基于 Cases 的事件管理,以及通过界面跨实例部署等功能。
工作流是怎么被触发的——只有定时计划,还是也能响应真实事件?两者都支持。一条触发器定义就能覆盖定时运行和实时的、事件驱动的执行——工作流可以响应文件到达,或来自 Kafka、Redis、Pulsar、MQTT、NATS、AWS SQS、Google Pub/Sub 和 Azure Event Hubs 的消息。
我能不手写 YAML 就搭建工作流吗?可以。无代码编辑器通过引导式表单一块一块地搭建工作流,AI Copilot 则能根据一段普通描述起草或修改工作流。这三种方式——YAML 编辑器、无代码编辑器和 Copilot——编辑的是同一个工作流,并且始终保持同步。
AI 智能体能调用我的 Kestra 工作流吗?可以——内置的 MCP 服务器把你的工作流作为工具暴露给任何兼容 MCP 的智能体,Agent Skills 则让 Claude Code、Cursor、Windsurf 这类编程智能体为你生成工作流。AI Agents 和 RAG 流水线本身也是工作流中的一等任务类型。
当一台机器不够用的时候怎么办?它天生就能以高可用和容错的方式处理数百万个工作流。Worker 通过 gRPC 与控制平面通信,因此可以部署在另一个区域或受限网络中,Task Runner 则能把执行扩展到 Docker、Kubernetes 或云端虚拟机。
Creator
kestra-io
Size
143.2 MB
Stars
29.9K
Age
7y
Commits · 90 Days