kestra-io / kestra

:zap: Workflow Automation Platform. Orchestrate & Schedule code in any language, run anywhere, 500+ plugins. Alternative to Zapier, Rundeck, Camunda, Airflow...
https://kestra.io
Apache License 2.0
13.1k stars 1.15k forks source link
automation data-orchestration devops hacktoberfest high-availability infrastructure-as-code java low-code lowcode orchestration pipeline pipeline-as-code workflow

Kestra workflow orchestrator

Event-Driven Declarative Orchestration Platform

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


X(formerly Twitter)   linkedin   youtube  

Get started in 4 minutes with Kestra

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

🌟 What is Kestra?

Kestra is an open-source, event-driven orchestration platform that makes both scheduled and event-driven workflows easy. By bringing Infrastructure as Code best practices to data, process, and microservice orchestration, you can build reliable workflows directly from the UI in just a few lines of YAML.

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, CI/CD, Terraform, API calls).

Adding new tasks in the UI


πŸš€ Quick Start

Try the Live Demo

Try Kestra with our Live Demo. No installation required!

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 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /tmp:/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:

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:


πŸ”§ 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


🌐 Join the Community

Stay connected and get support:


🀝 Contributing

We welcome contributions of all kinds!


πŸ“„ 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!

Star the Repo


Thank you for considering Kestra for your workflow orchestration needs. We can't wait to see what you'll build!