mrkeyoor.com_
Wed 16 Sept 07:01 UTC
Automationevaluationupdated 26 Aug 2026

kestra review

Kestra is an event-driven workflow orchestrator for data jobs, AI tasks, infrastructure operations, and business processes. Teams define flows in YAML, edit them visually, trigger them on schedules or events, and run scripts or plugins across local machines, containers, Kubernetes, and cloud services.

+94stars / 7d
Verdict

Our Kestra UI build took 45 seconds after a 1,420-package install, but that workspace had no test target and npm audit found 1 moderate vulnerability. Kestra is a strong choice when visual editing, YAML in Git, event triggers, and a broad plugin catalog need to coexist. It is excessive for a small scheduler, and production adopters must treat Docker access, secrets, storage, and edition boundaries as part of the purchase.

We ran it

Lab card: what happened when we ran kestraScreenshot of kestra (go.kestra.io/home)
Install✓ · 123s1420 packages · 1620 MB
Build✓ · 45s
Testsn/ano test script
Known vulns10 critical · 0 high · 1 moderate · 0 low (npm audit)
Repo5023 files~505,981 lines of source · 39.2 MB · 22 CI workflows · tests dir

Answers from our run

Does kestra build from source?

Dependencies installed in 123 seconds (1420 packages), and the build succeeded in 45 seconds. We cloned commit e77ad77 into a clean Debian container with 3 CPUs and no project-specific setup.

Does kestra have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does kestra have known vulnerabilities in its dependencies?

npm audit flagged 1 known advisory in the dependency tree at the time of our run.

Who should not use kestra?

Teams unwilling to give a local development container Docker socket access: the README's quick start mounts /var/run/docker.sock and runs as root.

What are the alternatives to kestra?

Apache Airflow, Dagster, Prefect. Our Kestra UI build took 45 seconds after a 1,420-package install, but that workspace had no test target and npm audit found 1 moderate vulnerability.

Setup3/5Fast server demo, with Docker privileges and a large UI workspace
Docs5/5Clear quick start plus deep plugin and deployment documentation
Community5/527,921 stars with same-day pushes and busy issue activity
Maturity4/5Wide orchestration scope, with 2.0 behavior still changing

Discussed on

  1. hnShow HN: Kestra - Open-Source Airflow Alternative142 points
  2. hnShow HN: Free open-source alternative to Airflow/Prefect/Airbyte/Dagster23 points
  3. hnKestra: Infinitely scalable open source orchestration and scheduling platform7 points

Who it’s for

Data and platform teams that want scheduled and event-driven work in the same system.
Organizations that need visual workflow editing while keeping the resulting YAML in version control.
Mixed-language teams running Python, Node.js, R, Go, shell, SQL, and container tasks.
Operators who value a large plugin catalog, backfills, retries, namespaces, and execution history.

Who it’s NOT for

Teams unwilling to give a local development container Docker socket access: the README's quick start mounts /var/run/docker.sock and runs as root.
Developers seeking a small embedded scheduler library: Kestra is a server, UI, plugin platform, execution engine, and persistence layer.
Organizations that want every workflow capability in the Apache-licensed edition without checking edition boundaries: current issues and docs distinguish open-source and Enterprise features.
Users expecting every output format to preview in the UI: issue #18610 says only core text, ION, image, and PDF renderers exist today.
Buyers requiring our measured UI package to have a test target: the ui workspace exposed no test script or target to the lab.

Setup reality

Our sandbox entered the ui project, installed 1,420 npm packages in 123 seconds, and used 1,620 MB on disk. The UI build succeeded in 45 seconds. There was no test script or target, so tests were skipped. npm audit found 1 moderate vulnerability and 0 critical, 0 high, and 0 low findings.

The README's local server command exposes port 8080, mounts persistent storage and /tmp, mounts the Docker socket, and runs as root. Production choices include Compose, Podman, Kubernetes, and cloud templates. Real workflows still need plugin configuration, secrets, storage, worker or task-runner design, and access to every database, queue, or cloud system they call.

Our test method used commit e77ad77 in an unprivileged Node 22 Debian container with 3 CPUs, 8 GB of RAM, and no secrets. It measured only the UI workspace, not Kestra's Java backend or a running orchestrator. The monorepo held 5,023 files, about 505,981 source lines, 22 CI workflows, and a tests directory.

Kestra joins scheduled and event-driven work in YAML

Kestra treats a workflow as declarative YAML whether it is written in a repository, edited through the built-in code editor, changed by API, or rearranged in the visual topology editor. A flow contains tasks, inputs, outputs, variables, and triggers inside a namespace. Schedules cover recurring jobs, while event triggers react to files, messages, and external systems. Retries, timeouts, backfills, subflows, parallel branches, labels, and conditional tasks cover the machinery teams usually add after a simple scheduler reaches production.

The result suits a wider range than a classic data DAG. A single Kestra installation can run SQL, Python, Node.js, R, Go, and shell tasks, invoke APIs, start containers, or dispatch Kubernetes jobs. Plugins connect cloud storage, databases, Kafka, Redis, Pulsar, AMQP, MQTT, SQS, Pub/Sub, and notification systems. That breadth is the main reason to choose it. A team can give data, infrastructure, and application automation one visible execution model instead of maintaining separate schedulers.

The visual editor preserves code, with some UI gaps

Kestra's topology editor supports drag and drop, completion, syntax checks, and a live graph. Changes made through the UI update the YAML definition, so visual users and Git users work on the same artifact. This is more credible than a diagram that cannot round-trip to deployable code. The official Terraform provider and Git integration add a path for promotion between environments, while namespaces and labels help organize a shared installation.

Current issue #18610 describes a concrete UI limit: data files such as Avro, Parquet, ORC, CSV, and Excel have no plugin-supplied preview renderer. The platform currently has 4 core renderer types covering text, ION, images, and PDF. A binary file can therefore fall back to an unhelpful text preview or only offer download. This does not stop the workflow, but it weakens the UI when operators inspect the data artifacts those workflows produce.

What happened when we ran it

Our sandbox measured the ui workspace at commit e77ad77. npm installed 1,420 packages in 123 seconds and occupied 1,620 MB. The UI build completed successfully in 45 seconds. The full checkout contained 5,023 files and about 505,981 source lines, using 39.2 MB. The environment was an unprivileged Node 22 Debian container with 3 CPUs, 8 GB of RAM, and no secrets.

The UI package had no npm test script or target, so the harness skipped tests. npm audit found 1 known vulnerability at moderate severity, with 0 critical, 0 high, and 0 low findings. The repository includes a tests directory and 22 CI workflow files, but those facts do not give us a backend test result or a running-server result. Our measurement proves that this UI snapshot installs and builds under the stated container, nothing more.

The 1-command server trial grants broad Docker control

The README launches a local server on port 8080 with one Docker command. That container runs as root, persists /app/storage, mounts /tmp, and receives the host Docker socket. The setup makes script and container tasks easy to demonstrate because Kestra can start sibling containers. It also grants the process control over the Docker daemon, which is effectively host-level power on many systems. Use a disposable workstation or isolated runner rather than a shared production host for that quick start.

Production is a different exercise. Kestra documents Docker Compose, Podman, Kubernetes, and deployments across AWS, Google Cloud, and Azure. Operators must choose storage, database, task runners, queues, network paths, secrets, authentication, and plugin policy. Workflows also need credentials for every system they touch. A plugin catalog reduces integration code; it does not remove permission design. The correct proof is one representative flow that runs, fails, retries, emits artifacts, and survives a service restart.

Plugins are the advantage and the upgrade surface

Hundreds of integrations let teams assemble useful flows without wrapping every service themselves. Task runners separate orchestration from execution and can send work to remote machines, Docker, or Kubernetes. Custom plugins cover internal systems. Because workflows remain language agnostic, a platform team can set one operational standard without rewriting every existing script into Java or Python. That is a meaningful advantage over schedulers tied closely to one programming model.

Plugin behavior must still be pinned and tested. Release v1.3.30 fixed schema revalidation so newly added plugins appear in completion, corrected concurrency accounting for unfinished tasks, and handled deeper JDBC deadlock causes. The current develop branch is already tracking 2.0 work. Issue #18500 reports an empty matched Switch case remaining in RUNNING forever on a 2.0 snapshot across both open-source and Enterprise core. That report is not evidence against v1.3.30, but it is relevant to early 2.0 evaluation.

Active development favors teams that can manage change

GitHub recorded 27,921 stars, 722 open issues and pull requests, and a push on August 26, 2026. The latest stable release we fetched was v1.3.30 from July 28. Current issue traffic includes UI work, dev-container Docker access, file previews, core flow behavior, and destructive API filtering. A stale tag alone would not show abandonment here; the later push and active discussion show ongoing work across the next release line.

Kestra makes sense when the organization wants one visible automation system for several kinds of work. Start with a flow that crosses a real boundary, such as a scheduled query followed by a container task and an event notification. Check the needed plugins and edition before designing around them. If the main job is a Python data DAG, Airflow, Dagster, or Prefect may be easier to staff. If mixed teams need YAML, events, UI editing, and many execution targets, Kestra earns the operational weight.

Alternatives

ProjectWhat it isPick it when
Apache Airflow gh↗The established Python-first scheduler for data pipelines and batch workflows.pick this instead when the organization already has Airflow skills and Python DAGs fit the work.
DagsterA data orchestrator centered on software-defined assets and testable Python definitions.pick this instead when data assets, lineage, and Python development are the core concerns.
Prefect gh↗A Python workflow system with dynamic execution and managed or self-hosted control planes.pick this instead when Python-native flow code matters more than YAML and a broad plugin UI.

Sources

  1. Kestra repository and README
  2. Kestra v1.3.30 release notes
  3. Missing data file preview renderers
  4. Empty Switch case remains running on 2.0 snapshot
  5. Kestra installation guide

More automation reviews

goldie · TikTokDownloader · goreleaser · obscura · ios_rule_script · background-agents · the whole board →