docs.rs failed to build peace_fmt-0.0.13
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
peace_fmt-0.0.7
🕊️ peace – zero stress automation
peace
is a framework to build empathetic and forgiving software automation.
See:
- peace.mk for the project vision.
- Background 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 |
---|---|
🟢 | Works well |
🟡 | Partial support |
⚫ | Planned |
🔵 | Compatible by design |
🟣 | Works, "fun idea" |
- 🟢 Idempotent: Multiple invocations result in the goal outcome.
- 🟢 Clean: Every item creation is paired with how it is cleaned up.
- 🟢 Understandable: Progress is shown at an understandable level of detail.
- 🔵 Understandable: Error reporting is compatible with
miette
. - 🟡 Interruptible: Execution can be interrupted.
- 🟢 Resumable: Automation resumes where it was interrupted.
- 🟢 Diffable: States and diffs are serialized as YAML.
- 🟢 Efficient: Tasks are concurrently executed via
fn_graph
. - 🟢 Namespaced: Profile directories isolate environments from each other.
- 🟢 Type Safe: Items and parameters are defined in code, not configuration.
Roadmap
- 🟢 Define items to manage with automation.
- 🟢 Define dependencies between items.
- 🟢 Define "apply" logic.
- 🟢 Define "clean up" logic.
- 🟢 Discover current and goal states.
- 🟢 Define diff calculation between states.
- 🟢 Store and recall parameters across commands.
- 🟢 Diff states between multiple profiles.
- 🟢 Type-safe referential parameters -- specify usage of values generated during automation as parameters to subsequent items.
- 🟡 Feature-gated incremental functionality.
- 🟡 Off-the-shelf support for common items.
- 🟡 Dry run.
- 🟣 WASM support.
- ⚫ Cancel-safe interruption via
tokio-graceful-shutdown
. - ⚫ Secure-by-design Support: Encrypted value storage, decrypted per execution / time based agent.
- ⚫ Tutorial for writing a software lifecycle management tool.
- ⚫ Built-in application execution methods -- CLI, web service.
- ⚫
peace
binary for configuration based workflows. - ⚫ Web based UI with interactive graph.
- ⚫ Agent mode to run
peace
on servers (Web API invocation).
Further ideas:
- Back up current state.
- Restore previous state.
- Telemetry / metrics logging for analysis.
Examples
Examples are run using --package
instead of --example
, as each example is organized as its own crate.
# e.g.
for
do
done
# Look at metadata that Peace has saved
# Clean up the metadata directory
WASM
The download
example can be built as a web assembly application using wasm-pack
:
In the examples/download
directory, start an HTTP server, and open http://localhost:8000/:
License
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.
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.