Hi everyone,
I’ve just released kata v1.0.0.
kata is a small in-process Go library for multi-step workflows with automatic compensation on failure.
Example use case:
- charge card
- reserve stock
- create shipment
- compensate completed steps if a later step fails
Main features:
- shared typed state
- per-step retry and timeout
- parallel steps
- observability hooks
It is not a durable distributed workflow engine.
It is meant for explicit in-process workflows inside a Go service.
Repository:
https://github.com/kerlenton/kata
I’m specifically looking for honest feedback:
- what workflow you would use it for
- what would stop you from using it
- what feels unclear in the docs
- what feels missing in the API
Discussion for feedback:
https://github.com/kerlenton/kata/discussions/10