Orch8 Engine is a powerful, self-hosted workflow orchestration engine designed for resilience and efficiency. Built in Rust, it simplifies complex workflows into composable JSON sequences and ensures each step is reliably executed. With minimal dependencies, it offers a modern solution that scales effortlessly while providing essential features and innovative constructs.
Orch8 Engine
Orch8 Engine is a self-hosted, robust workflow orchestration engine developed in Rust, designed to simplify the definition and execution of workflows. Users can create workflows as composable JSON sequences that ensure each step either successfully completes, retries in case of failure, or gets routed to a dead-letter queue for further inspection.
Key Features
- Single Binary Installation: With just one primary dependency on PostgreSQL (or SQLite for development and embedded scenarios), Orch8’s architecture simplifies setup.
- Composable Workflow Primitives: Supports a variety of building blocks including Step, Parallel, Race, TryCatch, Loop, ForEach, Router, SubSequence, CancellationScope, and AB Split.
- Advanced Scheduling Capabilities: Schedule workflows with features such as relative delays, business-day awareness, timezone specificity, configurable sending windows, and cron triggers.
- Enhanced Reliability: Implements crash recovery through state snapshots, configurable retries with exponential backoff, and features like dead letter queues and circuit breakers to ensure consistent task execution.
- Multi-tenancy Support: Facilitates tenant-scoped queries, rate limiting, and isolation, ensuring that different clients do not interfere with each other’s operations.
- Extensibility and API Integration: Utilize external workers in any programming language through REST APIs, enabling seamless integration into existing systems and an easy addition of custom features.
- Observability Tools: Track performance with Prometheus metrics, structured JSON logging, and visualization through execution trees and Grafana dashboards.
- Comprehensive AI Agent Support: Unified support for various large language models, including step injection and human-in-the-loop capabilities for better workflow management.
- Robust Security Features: Employ AES-256-GCM encryption for sensitive data, support for OAuth2 credential refresh, and customizable API key access, ensuring secure workflow operations.
Getting Started
Setting up Orch8 Engine is straightforward - a quick start can be achieved through SQLite for development or Docker Compose for a full-fledged setup. Here’s an example of how to create and execute a workflow sequence:
# Initialize a project
orch8 init my-project
cd my-project
# Start the engine
orch8-server --insecure
To create a workflow sequence, users can post their sequence definitions via API calls:
curl -X POST http://localhost:8080/sequences \
-H 'Content-Type: application/json' \
-d '{
"id": "550e8400-e29b-41d4-a716-446655440000",
"tenant_id": "demo",
"namespace": "default",
"name": "hello-world",
"version": 1,
"blocks": [
{ "type": "step", "id": "greet", "handler": "noop", "params": {} }
]
}'
Project Structure
Orch8 Engine is organized in a modular fashion, with components such as orch8-api for the REST API, orch8-cli for command-line operations, and orch8-storage for handling data storage using PostgreSQL and SQLite.
Community and Documentation
Comprehensive documentation is available for users to explore all functionality, including detailed guides on installation, configuration, and external worker implementation. Users can also engage with the community through Discord for support and collaboration, and contribute to discussions on GitHub for feature requests or issues.
For more details, visit the official documentation.
No comments yet.
Sign in to be the first to comment.