Discover / Automation
Kestra
by kestra-ioJava
Event-driven, declarative orchestration platform.
Maturity: stable because 7y old, v1.3.26 released 34d ago. Derived from release and commit history, not a rating.
- Stars
- 28k
- Forks
- 2.8k
- Downloads / mo
- —
- Last commit
- 2026-08-02
- License
- Apache-2.0
- Open issues
- 514
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · high confidenceScheduled and event driven automation ends up split across tools with no single declarative definition under version control.
Use it when
When you want language agnostic workflows defined in YAML, editable from a UI and pushed to Git.
Not the right pick when
Wrong pick if you want workflow logic expressed in your application language, since orchestration is always declarative YAML.
Capabilities
- declarative YAML interface with a built in code editor
- scheduled and event driven workflows through a trigger definition
- hundreds of plugins for databases, cloud storage and APIs
- run scripts in any language
- Git version control integration keeping workflows as code
- namespaces, subflows, retries, timeouts and error handling
Cost: Free and open source
Video walkthroughs
Getting Started with Kestra: Build Your First Workflow in Under 10 Minutes!
DE Zoomcamp 2.2.4 - Manage Scheduling and Backfills with Postgres in Kestra
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v1.3.26
Published 2026-06-30
Changelog
🚀 Features
core
- 25e4199 attach logs to dynamically-generated taskruns and nest them in the UI
ui
- d783e15 FORM wizard bottom progress bar + single primary button (#17125), closes #17118 #17125
📘 Subtasks
version
- 2edfe4b update to version '1.3.26'
global
- 76ab6ac update version of node for eslint compat
🐛 Bug Fixes
core
- 6441a06 throw an illegal exception when a sort is null or empty
- 3239db4 repair v1.3.x test compile from incomplete #6624 backport, closes #6624
- f22c8d6 match enum task states in tasksWithState(), closes #1984
- 686da51 compilation issue due to bad merge
- 886fd68 handle duplicate task IDs in cycle detection map
- 5607cb6 replace O(2^N) cycle detection in DAG with iterative DFS
dashboard
- d842ea3 apply active dashboard filters to chart CSV export
executions
- 2399fac nullable inputs cannot be passed from parent flow to subflow (#6624), closes #6624
namespaces
- 7a0f85e preserve spaces and distinguish '+' in namespace file paths, closes #16896
repository
- 11e7e84 escape jq string metacharacters in H2 label-key filters
security
- f8cd7fd escape control characters in jq string literals and add tests
system
- 510e88f SQL injection in SQL regex
ui
- 1613a1d make Vite dev-server proxy target configurable via VITE_APP_LOGIN_URL
global
- 6265761 coerce el-switch default values to real booleans
- cd3bf3c fix
Contributors
We'd like to thank the following people for their contributions:
Barthélémy Ledoux, GitHub, Loïc Mathieu, Roman Acevedo, Steven Meek, brian-mulier-p, brian.mulier, github-actions[bot], huanzhong
Tags
README
<p align="center">
<a href="https://www.kestra.io">
<img src="https://kestra.io/banner.png" alt="Kestra workflow orchestrator" />
</a>
</p>
<h1 align="center" style="border-bottom: none">
Open-source orchestration platform for data, AI, and infrastructure workflows
</h1>
<div align="center">
<a href="https://github.com/kestra-io/kestra/releases"><img src="https://img.shields.io/github/v/tag/kestra-io/kestra.svg?sort=semver&include_prereleases&color=blueviolet" alt="Last Version" /></a>
<a href="https://github.com/kestra-io/kestra/blob/develop/LICENSE"><img src="https://img.shields.io/github/license/kestra-io/kestra?color=blueviolet" alt="License" /></a>
<a href="https://github.com/kestra-io/kestra/stargazers"><img src="https://img.shields.io/github/stars/kestra-io/kestra?color=blueviolet&logo=github" alt="Github star" /></a> <br>
<a href="https://kestra.io"><img src="https://img.shields.io/badge/Website-kestra.io-192A4E?color=blueviolet" alt="Kestra infinitely scalable orchestration and scheduling platform"></a>
<a href="https://kestra.io/slack"><img src="https://img.shields.io/badge/Slack-Join%20Community-blueviolet?logo=slack" alt="Slack"></a>
</div>
<br />
<p align="center">
<a href="https://x.com/kestra_io" style="margin: 0 10px;">
<img height="25" src="https://kestra.io/twitter.svg" alt="twitter" width="35" height="25" /></a>
<a href="https://www.linkedin.com/company/kestra/" style="margin: 0 10px;">
<img height="25" src="https://kestra.io/linkedin.svg" alt="linkedin" width="35" height="25" /></a>
<a href="https://www.youtube.com/@kestra-io" style="margin: 0 10px;">
<img height="25" src="https://kestra.io/youtube.svg" alt="youtube" width="35" height="25" /></a>
</p>
<p align="center">
<a href="https://trendshift.io/repositories/2714" target="_blank">
<img src="https://trendshift.io/api/badge/repositories/2714" alt="kestra-io%2Fkestra | Trendshift" width="250" height="55"/>
</a>
<a href="https://www.producthunt.com/posts/kestra?embed=true&utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-kestra" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=612077&theme=light&period=daily&t=1740737506162" alt="Kestra - All-in-one automation & orchestration platform | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
</p>
<p align="center">
<a href="https://go.kestra.io/video/product-overview" target="_blank">
<img src="https://kestra.io/startvideo.png" alt="Get started in 3 minutes with Kestra" width="640px" />
</a>
</p>
<p align="center" style="color:grey;"><i>Click on the image to learn how to get started with Kestra in 3 minutes.</i></p>
🌟 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.
📖 Table of Contents
- 🚀 Quick Start
- 🧩 Plugin Ecosystem
- 📚 Key Concepts
- 🎨 Build Workflows Visually
- 🔧 Extensible and Developer-Friendly
- 🌐 Join the Community
- 🤝 Contributing
- 📄 License
- ⭐️ Stay Updated
Key Features:
- Everything as Code and from the UI: keep workflows as code with a Git Version Control integration, even when building them from the UI.
- Event-Driven & Scheduled Workflows: automate both scheduled and real-time event-driven workflows via a simple
triggerdefinition. - Declarative YAML Interface: define workflows using a simple configuration in the built-in code editor.
- Rich Plugin Ecosystem: hundreds of plugins built in to extract data from any database, cloud storage, or API, and run scripts in any language.
- Intuitive UI & Code Editor: build and visualize workflows directly from the UI with syntax highlighting, auto-completion and real-time syntax validation.
- Scalable: designed to handle millions of workflows, with high availability and fault tolerance.
- Version Control Friendly: write your workflows from the built-in code Editor and push them to your preferred Git branch directly from Kestra, enabling best practices with CI/CD pipelines and version control systems.
- Structure & Resilience: tame chaos and bring resilience to your workflows with namespaces, labels, subflows, retries, timeout, error handling, inputs, outputs that generate artifacts in the UI, variables, conditional branching, advanced scheduling, event triggers, backfills, dynamic tasks, sequential and parallel tasks, and skip tasks or triggers when needed by setting the flag
disabledtotrue.
🧑💻 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, CI/CD, Terraform, API calls).
🚀 Quick Start
Launch on AWS (CloudFormation)
Deploy Kestra on AWS using our CloudFormation template:
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 -it -p 8080:8080 --user=root \
--name kestra --restart=always \
-v kestra_data:/app/storage \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp:/tmp \
kestra/kestra:latest server local
If you're on Windows and use PowerShell:
docker run --pull=always -it -p 8080:8080 --user=root `
--name kestra --restart=always `
-v "kestra_data:/app/storage" `
-v "/var/run/docker.sock:/var/run/docker.sock" `
-v "C:/Temp:/tmp" `
kestra/kestra:latest server local
If you're on Windows and use Command Prompt (CMD):
docker run --pull=always -it -p 8080:8080 --user=root ^
--name kestra --restart=always ^
-v "kestra_data:/app/storage" ^
-v "/var/run/docker.sock:/var/run/docker.sock" ^
-v "C:/Temp:/tmp" ^
kestra/kestra:latest server local
If you're on Windows and use WSL (Linux-based environment in Windows):
docker run --pull=always -it -p 8080:8080 --user=root \
--name kestra --restart=always \
-v kestra_data:/app/storage \
-v "/var/run/docker.sock:/var/run/docker.sock" \
-v "/mnt/c/Temp:/tmp" \
kestra/kestra:latest server local
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:
- Run Anywhere:
- Local or Remote Execution: Execute tasks on your local machine, remote servers via SSH, or scale out to serverless containers using Task Runners.
- Docker and Kubernetes Support: Seamlessly run Docker containers within your workflows or launch Kubernetes jobs to handle compute-intensive workloads.
- Code in Any Language:
- Scripting Support: Write scripts in your preferred programming language. Kestra supports Python, Node.js, R, Go, Shell, and others, allowing you to integrate existing codebases and deployment patterns.
- Flexible Automation: Execute shell commands, run SQL queries against various databases, and make HTTP requests to interact with APIs.
- Event-Driven and Real-Time Processing:
- Real-Time Triggers: React to events from external systems in real-time, such as file arrivals, new messages in message buses (Kafka, Redis, Pulsar, AMQP, MQTT, NATS, AWS SQS, Google Pub/Sub, Azure Event Hubs), and more.
- Custom Events: Define custom events to trigger flows based on specific conditions or external signals, enabling highly responsive workflows.
- Cloud Integrations:
- AWS, Google Cloud, Azure: Integrate with a variety of cloud services to interact with storage solutions, messaging systems, compute resources, and more.
- Big Data Processing: Run big data processing tasks using tools like Apache Spark or interact with analytics platforms like Google BigQuery.
- Monitoring and Notifications:
- Stay Informed: Send messages to Slack channels, email notifications, or trigger alerts in PagerDuty to keep your team updated on workflow statuses.
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
- Flows: the core unit in Kestra, representing a workflow composed of tasks.
- Tasks: individual units of work, such as running a script, moving data, or calling an API.
- Namespaces: logical grouping of flows for organization and isolation.
- Triggers: schedule or events that initiate the execution of flows.
- Inputs & Variables: parameters and dynamic data passed into flows and tasks.
🎨 Build Workflows Visually
Kestra provides an intuitive UI that allows you to interactively build and visualize your workflows:
- Drag-and-Drop Interface: add and rearrange tasks from the Topology Editor.
- Real-Time Validation: instant feedback on your workflow's syntax and structure to catch errors early.
- Auto-Completion: smart suggestions as you type to write flow code quickly and without syntax errors.
- Live Topology View: see your workflow as a Directed Acyclic Graph (DAG) that updates in real-time.
🔧 Extensible and Developer-Friendly
Plugin Development
Create custom plugins to extend Kestra's capabilities. Check out our Plugin Developer Guide to get started.
Infrastructure as Code
- Version Control: store your flows in Git repositories.
- CI/CD Integration: automate deployment of flows using CI/CD pipelines.
- Terraform Provider: manage Kestra resources with the official Terraform provider.
🌐 Join the Community
Stay connected and get support:
- Slack: Join our Slack community to ask questions and share ideas.
- LinkedIn: Follow us on LinkedIn — next to Slack and GitHub, this is our main channel to share updates and product announcements.
- YouTube: Subscribe to our YouTube channel for educational video content. We publish new videos every week!
- X: Follow us on X if you're still active there.
🤝 Contributing
We welcome contributions of all kinds!
- Report Issues: Found a bug or have a feature request? Open an issue on GitHub.
- Contribute Code: Check out our Contributor Guide for initial guidelines, and explore our good first issues for beginner-friendly tasks to tackle first.
- Develop Plugins: Build and share plugins using our Plugin Developer Guide.
- Contribute to our Docs: Contribute edits or updates to keep our documentation top-notch.
📄 License
Kestra is licensed under the Apache 2.0 License © Kestra Technologies.
⭐️ Stay Updated
Give our repository a star to stay informed about the latest features and updates!
Thank you for considering Kestra for your workflow orchestration needs. We can't wait to see what you'll build!