kestra-io/kestra

Event Driven Orchestration & Scheduling Platform for Mission Critical Applications

26,641 stars Java 8 components 3 connections

Event-driven orchestration platform for mission-critical workflow automation

Workflows are defined in YAML, stored in repositories, queued for execution, processed by workers, with results indexed and exposed via API/UI

Under the hood, the system uses 2 feedback loops, 3 data pools, 3 control points to manage its runtime behavior.

Structural Verdict

A 8-component data pipeline with 3 connections. 2285 files analyzed. Loosely coupled — components are relatively independent.

How Data Flows Through the System

Workflows are defined in YAML, stored in repositories, queued for execution, processed by workers, with results indexed and exposed via API/UI

  1. Flow Definition — YAML workflow definitions are validated and stored in flow repositories
  2. Execution Queue — Flow executions are queued and dispatched to available workers
  3. Worker Processing — Workers execute flow tasks and report status back through controllers
  4. Result Indexing — Execution results and logs are indexed for searchability and monitoring
  5. API/UI Access — Results are exposed through REST API and consumed by web UI

System Behavior

How the system actually operates at runtime — where data accumulates, what loops, what waits, and what controls what.

Data Pools

Flow Repository (database)
Persisted workflow definitions and metadata
Execution Queue (queue)
Pending and active workflow executions
Execution Results (database)
Historical execution results and logs

Feedback Loops

Delays & Async Processing

Control Points

Technology Stack

Micronaut (framework)
Dependency injection and HTTP framework
Picocli (library)
Command-line interface framework
Vue 3 (framework)
Frontend web UI framework
PostgreSQL/MySQL/H2 (database)
Pluggable database backends
Gradle (build)
Build tool and dependency management
Docker (infra)
Containerization for deployment

Key Components

Sub-Modules

CLI Tools (independence: high)
Command-line interface for flow management, server operations, and system administration
Web UI (independence: high)
Vue.js frontend application for workflow visualization, monitoring, and management

Configuration

codecov.yml (yaml)

docker-compose-ci.yml (yaml)

docker-compose-dind.yml (yaml)

docker-compose.yml (yaml)

Explore the interactive analysis

See the full architecture map, data flow, and code patterns visualization.

Analyze on CodeSea

Related Data Pipeline Repositories

Frequently Asked Questions

What is kestra used for?

Event-driven orchestration platform for mission-critical workflow automation kestra-io/kestra is a 8-component data pipeline written in Java. Loosely coupled — components are relatively independent. The codebase contains 2285 files.

How is kestra architected?

kestra is organized into 4 architecture layers: Core Engine, Execution Layer, Storage & Queue, Interface Layer. Loosely coupled — components are relatively independent. This layered structure keeps concerns separated and modules independent.

How does data flow through kestra?

Data moves through 5 stages: Flow Definition → Execution Queue → Worker Processing → Result Indexing → API/UI Access. Workflows are defined in YAML, stored in repositories, queued for execution, processed by workers, with results indexed and exposed via API/UI This pipeline design reflects a complex multi-stage processing system.

What technologies does kestra use?

The core stack includes Micronaut (Dependency injection and HTTP framework), Picocli (Command-line interface framework), Vue 3 (Frontend web UI framework), PostgreSQL/MySQL/H2 (Pluggable database backends), Gradle (Build tool and dependency management), Docker (Containerization for deployment). A focused set of dependencies that keeps the build manageable.

What system dynamics does kestra have?

kestra exhibits 3 data pools (Flow Repository, Execution Queue), 2 feedback loops, 3 control points, 2 delays. The feedback loops handle polling and retry. These runtime behaviors shape how the system responds to load, failures, and configuration changes.

What design patterns does kestra use?

4 design patterns detected: Command Pattern, Plugin Architecture, Tenant Multi-tenancy, Composables Pattern.

Analyzed on March 31, 2026 by CodeSea. Written by .