Crates.io | peace_rt_model_native |
lib.rs | peace_rt_model_native |
version | |
source | src |
created_at | 2022-09-29 18:49:35.459655 |
updated_at | 2025-01-17 23:57:22.224541 |
description | Runtime data types for the peace automation framework. |
homepage | https://peace.mk |
repository | https://github.com/azriel91/peace |
max_upload_size | |
id | 676844 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
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.
A joy to use.
Ergonomic API and guidance to do the right thing.
Understandable output.
Symbol | Meaning |
---|---|
🟢 | Works well |
🟡 | Partial support |
⚫ | Planned |
🔵 | Compatible by design |
🟣 | Works, "fun idea" |
miette
.fn_graph
.peace
binary for configuration based workflows.peace
on servers (Web API invocation).Further ideas:
Examples are run using --package
instead of --example
, as each example is organized as its own crate.
download
examplecargo run --package $example_name --all-features
# e.g.
cargo build --package download --all-features
cargo run -q --package download --all-features -- init https://ifconfig.me ip.json
for cmd in status goal diff ensure ensure diff clean clean diff
do
printf "=== ${cmd} ===\n"
cargo run -q --package download --all-features -- --format text $cmd
printf '\n'
done
# Look at metadata that Peace has saved
find .peace -type f -exec bash -c 'echo \# {}; cat {}; echo' \;
# Clean up the metadata directory
rm -rf .peace
The download
example can be built as a web assembly application using wasm-pack
:
cd examples/download
wasm-pack build --target web
In the examples/download
directory, start an HTTP server, and open http://localhost:8000/:
python3 -m http.server 8000 # or
simple-http-server --nocache --port 8000 -i
envman
exampleInstall cargo-leptos
.
cargo install --locked cargo-leptos
Build the envman
example:
# defined in .cargo/config.toml
cargo envman_build_debug
Copy artifacts to a temporary directory:
demo_dir=/tmp/demo/envman
test -d "${demo_dir}" || mkdir -p "${demo_dir}"
cp ./target/debug/envman "${demo_dir}"
cp ./target/web/envman/pkg "${demo_dir}"
Switch to the demo directory:
demo_dir=/tmp/demo/envman
cd "${demo_dir}"
Make sure you have AWS credentials set up in ~/.aws/credentials
.
Run the appropriate envman
commands:
Initialize a project:
# initialize a project to download from `azriel91/web_app`
./envman init \
--type development \
--flow deploy \
demo_1 azriel91/web_app 0.1.1
Status / Goal / Diff:
./envman status
./envman goal
./envman diff
Deploy / Clean
./envman deploy
./envman deploy --format json
./envman deploy --format none
./envman clean
./envman clean --format json
./envman clean --format none
You can also interrupt the deploy/clean process.
Run the web interface:
./envman web
Licensed under either of
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.