Welcome to LittleHorse! LittleHorse is a platform for integration, microservice orchestration, and agents all based on the open-source LittleHorse Kernel. LittleHorse allows you to:
- Orchestrate and execute distributed processes and workflows using the LittleHorse Kernel.
- Capture events and respond in real-time using LittleHorse Connect.
- Secure your applications and authorize your users to complete User Tasks with Pony ID.
The core of our platform is the LittleHorse Kernel. Therefore, we recommend you first go through the Kernel Quickstart, located in the quickstart
directory.
A reasonable order of operations to learn LittleHorse is:
- Start with the LittleHorse Kernel Quickstarts, whose code lives in this repo.
- Read the LittleHorse Kernel Concepts documentation.
- Go through the LittleHorse Connect Quickstart.
- Start exploring! Play with one of the demo's in this repository, and look at the other platform components in our documentation.
Install our CLI (lhctl
) using homebrew:
brew install littlehorse-enterprises/lh/lhctl
The easiest way to get a LittleHorse Server running on port 2023 is to run the following command:
docker run --pull always --name lh-standalone --rm -d -p 2023:2023 -p 8080:8080 -p 9092:9092 \
ghcr.io/littlehorse-enterprises/littlehorse/lh-standalone:latest
The development dashboard should be available at http://localhost:8080
.
- Quickstarts
- Demos
- Archives
- The Kernel: The LittleHorse Kernel is a workflow engine for microservices and integrations and is the core of the LittleHorse Platform.
- Ecosystem and Platform Components
- Pony ID: an OIDC-compatible API and UI for executing User Tasks in the LittleHorse Kernel.
- LittleHorse Connect: a platform for getting data into and out of LittleHorse using Apache Kafka and Apache Kafka Connect.
The demos directory contains a few prettified LittleHorse demo applications which all demonstrate various aspects of the platform:
- E-Commerce: an e-commerce and loyalty program application built with LittleHorse.
- Output Topic for real-time analytics to notice when a workflow has failed.
- Workflow Events to provide a synchronous wrapper over workflows.
- Failure Handling to handle business edge-cases.
- Portfolio Management: a back-office workflow for portfolio managers to triage and handle clients in the face of a stock market event.
- User Tasks for human-in-the-loop approvals.
- Pony ID to easily execute User Tasks.
- Complex Expressions and arithmetic inside the workflow to determine conditional routing.
- Transactional Outbox: an order checkout system that demonstrates how orchestration can replace the Transactional Outbox Pattern.
- Async Bank Transfer: a workflow which initiates a transfer, monitors it for completion, and returns once the transfer is completed.
- Loops are used to poll
- HTTP POST Task Workers, which are used to make requests to existing HTTP endpoints within a task.
- Agentic Customer Support: models a customer support workflow in which an LLM agentically takes action by running a choice of multiple other workflows in LittleHorse.
The archive folder contains older demo's that are no longer maintained but were interesting enough to keep for posterity.