docker run -p 8089:8089 ghcr.io/vyuvaraj/servflow:latestServFlow is a stateful DAG-based workflow orchestrator and Saga compensation engine of the Servverse ecosystem.
- DAG execution: Runs multi-step execution graphs sorted topologically by dependency constraints.
- Durable execution: Checkpoints workflow state to
.statefiles on disk so executions survive engine restarts. - Saga rollback compensation: Triggers rollback tasks (
CompensateAction) in reverse order of completed steps on failure.
POST /api/workflows/define- Define a new DAG workflow structurePOST /api/workflows/execute- Execute a workflow instancePOST /api/workflows/resume- Resume execution of a failed/stopped workflow from a checkpoint fileGET /api/workflows/instances/{id}- Fetch logs and step statuses of an execution instance
To run the integration tests locally:
go test -v ./...ServFlow can run as an independent DAG workflow coordinator with local file checkpoints:
- Start
ServFlowin standalone mode:./servflow --port 8089 --standalone --checkpoint-dir ./state
- Register a simple workflow:
curl -X POST http://localhost:8089/api/workflows/define \ -H "Content-Type: application/json" \ -d '{ "id": "demo-flow", "tasks": [ {"name": "TaskA", "action": "success"}, {"name": "TaskB", "depends_on": ["TaskA"], "action": "success"} ] }'
- Execute the workflow:
curl -X POST http://localhost:8089/api/workflows/execute \ -H "Content-Type: application/json" \ -d '{"workflow_id": "demo-flow"}'