Skip to content

azriel91/choochoo

Repository files navigation

🚂 Choo Choo

Crates.io docs.rs CI Coverage Status

choochoo is a library that supports building operations tools with good user experience.

Note: This is still in early development, so expect frequent API breakages.

See:

  • MOTIVATION.md for the motivation to create this library.
  • Operations UX for a book about the dimensions considered during choochoo's design and development.
  • The examples directory for usage examples.

Demo

2021-05-03_choochoo_demo.mp4

Features

Symbol Meaning
🟢 Supported
🟡 Work in progress
Planned
  • 🟢 Workflow graph with task dependencies
  • 🟢 Concurrent task execution
  • 🟢 Understandable error reporting (via codespan)
  • 🟢 Skip unnecessary work
  • 🟢 Understandable progress
  • 🟢 Actionable error messages
  • 🟢 Namespaced working directory (#21)
  • 🟡 Resource clean up (#28)
  • 🟡 API Ergonomics and ease of doing the right thing.
  • ⚫ Dry run
  • choochoo binary for configuration based workflows
  • ⚫ Off-the-shelf support for common tasks
  • ⚫ Web based UI
  • ⚫ Agent mode to run choochoo on servers (Web API invocation)

Ideas which may be considered:

  • Back up current state
  • Restore previous state
  • Telemetry logging for monitoring
  • Metrics collection for analysis

License

Licensed under either of

at your option.

Contribution

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

About

Automation that starts where it stops.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages