#automation #peace #compile-time #framework #macro #error #full-spec-id

macro peace_full_spec_id_macro

Macro to validate FullSpecIds at compile time for the peace automation framework

1 unstable release

0.0.2 Aug 3, 2022

#29 in #peace

Download history 43/week @ 2024-02-20 15/week @ 2024-02-27

58 downloads per month

MIT/Apache

7KB

🕊️ peace – zero stress automation

Crates.io docs.rs CI Coverage Status

peace is a framework to build user friendly software automation.

See:

  • MOTIVATION.md for the motivation to create this framework.
  • Operations UX for a book about the dimensions considered during peace's design and development.

Guiding Principles

  • A joy to use.
  • Ergonomic API and guidance to do the right thing.
  • Understandable output.

Features

Symbol Meaning
🟢 Supported
🟡 Work in progress
Planned
  • 🟢 Fetch current state.
  • 🟢 Fetch desired state.
  • 🟢 Workflow graph with task dependencies
  • 🟢 Concurrent task execution
  • 🟢 Dry run
  • 🟢 Skip unnecessary work
  • ⚫ Understandable error reporting
  • ⚫ Feature-gated incremental functionality
  • ⚫ Built-in application execution methods -- CLI, web service
  • ⚫ Understandable progress
  • ⚫ Actionable error messages
  • ⚫ Namespaced working directory
  • ⚫ Resource clean up
  • peace binary for configuration based workflows
  • ⚫ Off-the-shelf support for common tasks
  • ⚫ Web based UI
  • ⚫ Agent mode to run peace on servers (Web API invocation)

Further ideas:

  • 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.

Dependencies

~1.5MB
~32K SLoC