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.
2021-05-03_choochoo_demo.mp4
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
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
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.