workflow-automation / app
Kestra
Capability: Kestra
Use it when
- Scheduled scripts and data pipelines are scattered across servers as cron jobs with no central visibility, retries, or backfill when one fails
- You need workflows triggered by real-time events such as file arrivals or messages on Kafka, SQS, or Pub/Sub, defined declaratively in YAML and version controlled in Git
What it solves
Not the fit when
- Not a stream processing engine like Flink or Spark Streaming (though it can launch Spark jobs via plugins)
- Runs as a server platform in Docker; not an embeddable library
- Not an AI agent framework
- The README's `server local` quickstart runs as root and mounts `/var/run/docker.sock` plus host `/tmp`; treat it as a privileged local evaluation command, not a production deployment template, and use a hardened deployment from the installation guide for production.
- stream processing engine for continuous data
- LLM agent orchestration
- in-process job queue embedded in application code
Install
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
Invoke
Open http://localhost:8080, create a flow in the built-in editor as YAML (id, namespace, tasks with plugin types such as io.kestra.plugin.core.log.Log), add a trigger for schedules or events, and run it from the UI.
Alternatives
No reviewed alternatives recorded yet.