Skip to content

slowli/tardigrade

Tardigrade: WASM workflow automation engine

Build Status License: MIT OR Apache-2.0

Tardigrade is a Rust library for workflow automation, aka (business) process automation / orchestration. It allows defining workflows as a WASM module and running it in a fully sandboxed, controlled environment.

What's a workflow, anyway?

A key observation is that a workflow is essentially a future that interacts with the external world via well-defined interfaces:

  • Arguments provided to the workflow on creation
  • Inbound and outbound message channels
  • Timers
  • Tasks

That is, given an async runtime that has capabilities to track the progress of external futures, and is able to persist the progress of the workflow at wait points, the workflow itself can be represented as an ordinary future (i.e., just code)! As such, concurrency primitives (fork / join, fork / select, etc.) are not the responsibility of the workflow engine – they come for free with the programming language / tooling; a workflow can do anything the underlying tooling can do.

See architecture for more technical details.

Project status 🚧

Extremely early-stage (approximately the first PoC).

Project naming

Tardigrades are micro-animals known for resilience to extreme environments. Tardigrades are among the few groups of species able to suspend their metabolism for continuous periods (think years) and later come back to life.

Alternatives / similar tools

Camunda is an example of a BPMN-based process orchestration engine. Newer approaches to process orchestration include Temporal (an example of code-based workflow definition) and Netflix Conductor.

Contributing

All contributions are welcome! See the contributing guide to help you get involved.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in tardigrade by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

WASM workflow automation engine

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •