diff --git a/doc/src/SUMMARY.md b/doc/src/SUMMARY.md index 295e7e72b..c3a67212a 100644 --- a/doc/src/SUMMARY.md +++ b/doc/src/SUMMARY.md @@ -186,6 +186,47 @@ - [Challenges](learning_material/dot_ix_diagram_generator/solution/challenges.md) - [What's Next](learning_material/dot_ix_diagram_generator/whats_next.md) - [Q & A](learning_material/dot_ix_diagram_generator/qna.md) + - [Peace: Zero Stress Automation](learning_material/peace_zero_stress_automation.md) + - [🕊️ Peace Framework](learning_material/peace_zero_stress_automation/peace_framework.md) + - [🐉 Origin Story](learning_material/peace_zero_stress_automation/origin_story.md) + - [Manual Deployment](learning_material/peace_zero_stress_automation/origin_story/manual_deployment.md) + - [Automation](learning_material/peace_zero_stress_automation/origin_story/automation.md) + - [Engineering Eyes](learning_material/peace_zero_stress_automation/origin_story/engineering_eyes.md) + - [Engineering Success](learning_material/peace_zero_stress_automation/origin_story/engineering_success.md) + - [Automation (For Real)](learning_material/peace_zero_stress_automation/origin_story/automation_for_real.md) + - [Human Eyes](learning_material/peace_zero_stress_automation/origin_story/human_eyes.md) + - [🏗️ envman (example tool)](learning_material/peace_zero_stress_automation/envman_example_tool.md) + - [💡 Understandability](learning_material/peace_zero_stress_automation/understandability.md) + - [Demo](learning_material/peace_zero_stress_automation/understandability/demo.md) + - [Goldilocks Principle](learning_material/peace_zero_stress_automation/understandability/goldilocks_principle.md) + - [🎮 Control](learning_material/peace_zero_stress_automation/control.md) + - [Minimal Control](learning_material/peace_zero_stress_automation/control/minimal_control.md) + - [Discovery](learning_material/peace_zero_stress_automation/control/discovery.md) + - [Interruption](learning_material/peace_zero_stress_automation/control/interruption.md) + - [Demo](learning_material/peace_zero_stress_automation/control/demo.md) + - [💟 Morale](learning_material/peace_zero_stress_automation/morale.md) + - [Aesthetics: Outcome](learning_material/peace_zero_stress_automation/morale/aesthetics_outcome.md) + - [Aesthetics: Progress](learning_material/peace_zero_stress_automation/morale/aesthetics_progress.md) + - [Aesthetics: Errors](learning_material/peace_zero_stress_automation/morale/aesthetics_errors.md) + - [Automation Clarified](learning_material/peace_zero_stress_automation/morale/automation_clarified.md) + - [⚙️ How Does It Work](learning_material/peace_zero_stress_automation/how_does_it_work.md) + - [🏭 Architecture](learning_material/peace_zero_stress_automation/architecture.md) + - [Components](learning_material/peace_zero_stress_automation/architecture/components.md) + - [Item](learning_material/peace_zero_stress_automation/architecture/item.md) + - [Item Implementations](learning_material/peace_zero_stress_automation/architecture/item_implementations.md) + - [Flow](learning_material/peace_zero_stress_automation/architecture/flow.md) + - [Commands](learning_material/peace_zero_stress_automation/architecture/commands.md) + - [Item Parameters](learning_material/peace_zero_stress_automation/architecture/item_parameters.md) + - [Tool](learning_material/peace_zero_stress_automation/architecture/tool.md) + + - [🪆 Side-Side Projects](learning_material/peace_zero_stress_automation/side_side_projects.md) + - [🛑 Interruptible](learning_material/peace_zero_stress_automation/side_side_projects/interruptible.md) + - [🎨 Dot IX](learning_material/peace_zero_stress_automation/side_side_projects/dot_ix.md) + - [🦖 Project Status](learning_material/peace_zero_stress_automation/project_status.md) + - [Readiness](learning_material/peace_zero_stress_automation/project_status/readiness.md) + - [🔗 Links](learning_material/peace_zero_stress_automation/links.md) + - [🙇‍♂️ Thank You](learning_material/peace_zero_stress_automation/thank_you.md) + - [❓ Q & A](learning_material/peace_zero_stress_automation/qna.md) - [Ideas](ideas.md) - [Feature Gated Incremental Functionality](ideas/feature_gated_incremental_functionality.md) - [Licenses](licenses.html) diff --git a/doc/src/css/terminal.css b/doc/src/css/terminal.css index 33fc4ef58..33afcc0e6 100644 --- a/doc/src/css/terminal.css +++ b/doc/src/css/terminal.css @@ -4,6 +4,10 @@ border-radius: 4px; color: #dddddd; font-size: 0.8em; + overflow-x: scroll; + overflow-y: scroll; + text-overflow: ellipsis; + max-height: 15.0em; } /* prompt arrow */ diff --git a/doc/src/learning_material/empathetic_code_design/background.md b/doc/src/learning_material/empathetic_code_design/background.md index 9f25ce253..aa4cdb526 100644 --- a/doc/src/learning_material/empathetic_code_design/background.md +++ b/doc/src/learning_material/empathetic_code_design/background.md @@ -11,7 +11,7 @@ alt="Peace logo" />

Peace

-

Constraints and
common functionality

+

Constraints and
Common functionality

+ diff --git a/doc/src/learning_material/empathetic_code_design/command_invocation.md b/doc/src/learning_material/empathetic_code_design/command_invocation.md index 087e76a61..ede275490 100644 --- a/doc/src/learning_material/empathetic_code_design/command_invocation.md +++ b/doc/src/learning_material/empathetic_code_design/command_invocation.md @@ -1,5 +1,7 @@ # Command Invocation + + ```dot process digraph { graph [ diff --git a/doc/src/learning_material/peace_zero_stress_automation.md b/doc/src/learning_material/peace_zero_stress_automation.md new file mode 100644 index 000000000..187dabb17 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation.md @@ -0,0 +1,376 @@ +
+
+ +
+
+
Peace
+
Zero Stress Automation
+
https://peace.mk/
+
+
Azriel Hoh
+
October 2024
+
+ + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture.md b/doc/src/learning_material/peace_zero_stress_automation/architecture.md new file mode 100644 index 000000000..a29e7442a --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture.md @@ -0,0 +1,12 @@ +
+ +# 🏭 Architecture + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/commands.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/commands.md new file mode 100644 index 000000000..62f93405a --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/commands.md @@ -0,0 +1,9 @@ +# Commands + + +
+source diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/commands/commands_calling_item.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/commands/commands_calling_item.svg new file mode 100644 index 000000000..f42e2da1c --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/commands/commands_calling_item.svg @@ -0,0 +1,256 @@ + + + + + + + + + +G + +cluster_tag_legend + +Legend + + +cluster_tag_clean + +    Clean Cmd    + + +cluster_tag_ensure + +    Ensure Cmd   + + +cluster_tag_diff + +     Diff Cmd    + + +cluster_tag_discover + +Discover Cmd +(current / goal) + + +cluster_item_1_item + +📄 File Download Item + + + + +cluster_item_2_item + +📄 S3 Object Item + + + + +cluster_item_3_item + +🪣 S3 Bucket Item + + + + +cluster_peace_cmd + +*Cmd + + + + + + + +item_1_interactions + +🌐 interactions + + + +item_1_apply + +💻 apply + + + +item_2_state_current + +📍 state_current + + + +item_1_apply:se->item_2_state_current + + + + + +item_1_state_clean + +🧹 state_clean + + + +item_1_state_diff + +🔼 state_diff + + + +item_1_state_goal + +🎯 state_goal + + + +item_1_state_current + +📍 state_current + + + + + +item_2_interactions + +🌐 interactions + + + +item_2_apply + +💻 apply + + + +item_2_state_clean + +🧹 state_clean + + + +item_2_state_diff + +🔼 state_diff + + + +item_2_state_goal + +🎯 state_goal + + + + + +item_3_interactions + +🌐 interactions + + + +item_3_apply + +💻 apply + + + +item_3_apply:ne->item_2_state_current + + + + + +item_3_state_clean + +🧹 state_clean + + + +item_3_state_diff + +🔼 state_diff + + + +item_3_state_goal + +🎯 state_goal + + + +item_3_state_current + +📍 state_current + + + + + +peace_cmd_exec + +⚡ exec(flow, params, ..) + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/components.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/components.md new file mode 100644 index 000000000..00da311c5 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/components.md @@ -0,0 +1,24 @@ +# Components + +
+ +
+source +
+ + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/components/components.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/components/components.svg new file mode 100644 index 000000000..cb239b567 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/components/components.svg @@ -0,0 +1,132 @@ + + + + + + + + + +G + +cluster_peace + +Peace +Framework + + +cluster_peace_item_def + +Item Definition + + +cluster_peace_common_func + +Common Functionality + + +cluster_item + +Item Crate + + +cluster_tool + +Tool + + + +peace_item_def_item + +Logic/Data Traits + + + +item_logic_and_data + +Logic/Data + + + +peace_item_def_item->item_logic_and_data + + + + + +peace_common_func_cmd + +Command Execution + + + + + +tool_lib + +Library +(WASM) + + + +peace_common_func_cmd->tool_lib + + + + + +peace_common_func_ui + +User Interface + + + +peace_common_func_other + +... + + + +item_logic_and_data->tool_lib + + + + + +tool_bin + +Binary +(CLI) + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/flow.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/flow.md new file mode 100644 index 000000000..2076d6e36 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/flow.md @@ -0,0 +1,10 @@ +# Flow + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/flow/flow.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/flow/flow.svg new file mode 100644 index 000000000..058d42f1b --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/flow/flow.svg @@ -0,0 +1,103 @@ + + + + + + + + + +G + +cluster_flow + +Flow + + + +item_3_item + +🪣 S3 Bucket Item + + + +item_2_item + +📄 S3 Object Item + + + +item_3_item->item_2_item + + + + + +item_1_item + +📄 File Download Item + + + +item_1_item->item_2_item + + + + + +flow_item_3_item + +🪣 Item (Boxed) + + + +flow_item_2_item + +📄 Item (Boxed) + + + +flow_item_3_item->flow_item_2_item + + + + + +flow_item_1_item + +📄 Item (Boxed) + + + +flow_item_1_item->flow_item_2_item + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/item.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/item.md new file mode 100644 index 000000000..7bd9e4be1 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/item.md @@ -0,0 +1,20 @@ +# Item + +
+ +
+source +
+ +
+ +1. Each step is an "item". + +2. Besides the "apply" logic, each item has read logic. + +
+ +For clarity, not all functions from item.rs are shown. diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/item/item_trait.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/item/item_trait.svg new file mode 100644 index 000000000..3a1bb5011 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/item/item_trait.svg @@ -0,0 +1,93 @@ + + + + + + + + + +G + +cluster_item + +Item + + + + + +interactions + +🌐 interactions + + + +apply + +💻 apply + + + +state_clean + +🧹 state_clean + + + +state_diff + +🔼 state_diff + + + +state_goal + +🎯 state_goal + + + +state_current + +📍 state_current + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/item_implementations.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_implementations.md new file mode 100644 index 000000000..69e3f9411 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_implementations.md @@ -0,0 +1,12 @@ +# Item Implementations + +## File Download + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/item_implementations/file_download.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_implementations/file_download.svg new file mode 100644 index 000000000..ba2780fcf --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_implementations/file_download.svg @@ -0,0 +1,107 @@ + + + + + + + + + +G + +cluster_item + +📄 File Download Item + + + + + +interactions + +🌐 interactions +Localhost pulls from a server +and writes to a path on disk. + + + +apply + +💻 apply +Turns the current state into +the target state -- goal or +clean. + + + +state_clean + +🧹 state_clean +Returns "file doesn't exist". + + + +state_diff + +🔼 state_diff +Compares local file state +and etag (md5) from server. + + + +state_goal + +🎯 state_goal +Returns the content-length +/ etag (md5) from server. + + + +state_current + +📍 state_current +Returns the existence / +md5 hash of file on disk. + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/item_parameters.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_parameters.md new file mode 100644 index 000000000..65a429acb --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_parameters.md @@ -0,0 +1,10 @@ +# Item Parameters + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/item_parameters/item_trait_with_params.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_parameters/item_trait_with_params.svg new file mode 100644 index 000000000..16a17d4cd --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/item_parameters/item_trait_with_params.svg @@ -0,0 +1,117 @@ + + + + + + + + + +G + +cluster_item + +Item + + + + + +interactions + +🌐 interactions + + + +apply + +💻 apply + + + +state_clean + +🧹 state_clean + + + +state_diff + +🔼 state_diff + + + +state_goal + +🎯 state_goal + + + +state_current + +📍 state_current + + + + + +item_state + +📄 State (Output) +- exists / not exists +- location: url/path +- contents (summary) + + + +item_params + +📝 Params (Input) +- source url/path +- dest url/path +- credentials etc. + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/rationale.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/rationale.md new file mode 100644 index 000000000..45aaf281e --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/rationale.md @@ -0,0 +1,13 @@ +# Rationale + +## "Be pragmatic, build the MVP" + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/rationale/mvp_non_mvp.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/rationale/mvp_non_mvp.svg new file mode 100644 index 000000000..81ebec327 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/rationale/mvp_non_mvp.svg @@ -0,0 +1,113 @@ + + + + + + + + + +G + +cluster_tag_legend + +Legend + + +cluster_tag_non_mvp + +Non-MVP + + +cluster_tag_mvp + +   MVP + + +cluster_logic + +Functionality + + +cluster_ux + +User Experience + + + + + +step_4 + +.. + + + +step_3 + +Step 3 + + + +step_3->step_4 + + + + + +step_2 + +Step 2 + + + +step_2->step_3 + + + + + +step_1 + +Step 1 + + + +step_1->step_2 + + + + + +anything_nice + +🎨 + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/tool.md b/doc/src/learning_material/peace_zero_stress_automation/architecture/tool.md new file mode 100644 index 000000000..cb9df6877 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/tool.md @@ -0,0 +1,20 @@ +# Tool + + + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/tool/item_parameters_and_flow.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/tool/item_parameters_and_flow.svg new file mode 100644 index 000000000..86cc2e946 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/tool/item_parameters_and_flow.svg @@ -0,0 +1,120 @@ + + + + + + + + + +G + +cluster_flow + +Flow + + +cluster_params + +Params + + + +item_3_item + +🪣 S3 Bucket Item + + + +item_2_item + +📄 S3 Object Item + + + +item_3_item->item_2_item + + + + + +item_1_item + +📄 File Download Item + + + +item_1_item->item_2_item + + + + + +item_1_item_params + + File Download Params + + + +item_1_item_params->item_1_item + + + + + +item_3_item_params + + S3 Bucket Params + + + +item_3_item_params->item_3_item + + + + + +item_2_item_params + + S3 Object Params + + + +item_2_item_params->item_2_item + + + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/architecture/tool/tool.svg b/doc/src/learning_material/peace_zero_stress_automation/architecture/tool/tool.svg new file mode 100644 index 000000000..856e2c15b --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/architecture/tool/tool.svg @@ -0,0 +1,192 @@ + + + + + + + + + +G + +cluster_tool + +Tool + + +cluster_commands + +Commands + + +cluster_output + + Output + + +cluster_params + +Params + + +cluster_flow + +Flow + + + +commands_other_cmd + +.. + + + +commands_status_cmd + +StatesCurrentStoredDisplayCmd +"status" + + + +commands_clean_cmd + +CleanCmd +"clean" + + + + + +commands_ensure_cmd + +EnsureCmd +"deploy" + + + + + +output_web + +🌐 Web + + + +output_cli + +💻 CLI + + + + + +item_1_item_params + + File Download Params + + + +item_1_item + +📄 File Download Item + + + +item_1_item_params->item_1_item + + + + + +item_3_item_params + + S3 Bucket Params + + + +item_3_item + +🪣 S3 Bucket Item + + + +item_3_item_params->item_3_item + + + + + +item_2_item_params + + S3 Object Params + + + +item_2_item + +📄 S3 Object Item + + + +item_2_item_params:se->item_2_item + + + + + + + +item_1_item->item_2_item + + + + + +item_3_item->item_2_item + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/control.md b/doc/src/learning_material/peace_zero_stress_automation/control.md new file mode 100644 index 000000000..dcf366c1e --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/control.md @@ -0,0 +1,12 @@ +
+ +# 🎮 Control + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/control/demo.md b/doc/src/learning_material/peace_zero_stress_automation/control/demo.md new file mode 100644 index 000000000..9519ce180 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/control/demo.md @@ -0,0 +1,12 @@ +
+ +# 🎨 Demo + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/control/discovery.md b/doc/src/learning_material/peace_zero_stress_automation/control/discovery.md new file mode 100644 index 000000000..373715807 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/control/discovery.md @@ -0,0 +1,15 @@ +# Discovery + +
🗺️
+ +
+
+ +1. 📍 Current State + +2. 🎯 Goal State + +3. 🚗 Difference + +
+
diff --git a/doc/src/learning_material/peace_zero_stress_automation/control/interruption.md b/doc/src/learning_material/peace_zero_stress_automation/control/interruption.md new file mode 100644 index 000000000..de3f87575 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/control/interruption.md @@ -0,0 +1,20 @@ +# Interruption + +
☝️
+ +
+
+ +Why: + +1. 🧠 Remembered something +2. 🔀 Changed our mind + +What we want: + +1. 🛡️ Safe interruption +2. 🚏 Don't undo what's done + + +
+
diff --git a/doc/src/learning_material/peace_zero_stress_automation/control/minimal_control.md b/doc/src/learning_material/peace_zero_stress_automation/control/minimal_control.md new file mode 100644 index 000000000..41f1315ed --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/control/minimal_control.md @@ -0,0 +1,24 @@ +# Minimal Control + +
🏁🏁🏁
+ +
+
+ +🟢 Start + + + +
+
diff --git a/doc/src/learning_material/peace_zero_stress_automation/dove.svg b/doc/src/learning_material/peace_zero_stress_automation/dove.svg new file mode 100644 index 000000000..e0d3e9a25 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/dove.svg @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cloud + + cloud_back_silhouette + + + + dove + + tail + + + wings + + left_wing + + left_wing + + + left_wing_tip_colour + + + left_wing_stroke + + + + right_wing + + right_wing + + + right_wing_tip_colour + + + right_wing_stroke + + + + + body + + body_and_neck_colour + + + body_stroke_inner + + + body_stroke_bottom + + + body_stroke_outer + + + + head + + + eyes + + left_eye + + left_eye_shadow + + + left_eye + + + left_eye_stroke + + + + right_eye + + right_eye_shadow + + + right_eye + + + right_eye_stroke + + + + + beak + + + claws + + left_claw + + left_claw_stem + + + left_claw_talon_top + + + left_claw_talon_out + + + left_claw_talon_in + + + left_claw_talon_bot + + + + right_claw + + right_claw_stem + + + right_claw_talon_top + + + right_claw_talon_out + + + right_claw_talon_in + + + right_claw_talon_bot + + + + + \ No newline at end of file diff --git a/doc/src/learning_material/peace_zero_stress_automation/envman_example_tool.md b/doc/src/learning_material/peace_zero_stress_automation/envman_example_tool.md new file mode 100644 index 000000000..fdd524827 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/envman_example_tool.md @@ -0,0 +1,59 @@ +# 🏗️ envman (example tool) + +
+
+ Peace logo
+

Peace

+

Constraints and
common functionality

+
+
+ + +
+
+ 💻
+

Code

+

Logic and data types

+
+
+ = +
+
+ ⚙️
+

envman

+

Automation software

+
+
+ + + + +## What It Does + +
+ +1. 📥 Downloads a file + +2. ☁️ Creates AWS resources + +3. 📤 Uploads the file to AWS + +
+ +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/envman_example_tool/envman_what_it_does.svg b/doc/src/learning_material/peace_zero_stress_automation/envman_example_tool/envman_what_it_does.svg new file mode 100644 index 000000000..d74e4267d --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/envman_example_tool/envman_what_it_does.svg @@ -0,0 +1,198 @@ + + + + + + + + + +G + +cluster_tag_legend + +Legend + + +cluster_tag_s3_object + +Upload App to S3 + + +cluster_tag_s3_bucket + +Create AWS Resources + + +cluster_tag_app_download + +Download Web App + + +cluster_group___iam + +IAM + + +cluster_group___iam___group___instance__profiles + +Instance Profiles + + +cluster_group___iam___group___policies + +Policies + + +cluster_group___iam___group___roles + +Roles + + +cluster_group___s3 + +S3 + + +cluster_group___s3___path_______azrielh__peace__envman__demo__1 + +🪣 azrielh-peace-envman-demo-1 + + +cluster_host_______github__com + +🌐 github.com + + +cluster_host_______localhost + +💻 localhost + + + + + + + + +group___iam___group___instance__profiles___path_______demo__1 + +📝 demo_1 + + + +group___iam___group___policies___path_______demo__1 + +📝 demo_1 + + + +group___iam___group___roles___path_______demo__1 + +🧢 demo_1 + + + +group___s3___path_______azrielh__peace__envman__demo__1___path_______web__app__tar + +📄 web_app.tar + + + +host_______github__com___path___https______github__com__azriel91__web__app__releases__download__0__1__1__web__app__tar + +https://github.com/azriel91/web_app/releases/download/0.1.1/web_app.tar + + + +host_______localhost___path_______azriel91__web__app__0__1__1__web__app__tar + +📄 azriel91\web_app\0.1.1\web_app.tar + + + + + + + + + + + + + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/how_does_it_work.md b/doc/src/learning_material/peace_zero_stress_automation/how_does_it_work.md new file mode 100644 index 000000000..44646dbb3 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/how_does_it_work.md @@ -0,0 +1,12 @@ +
+ +# ⚙️ How Does It Work + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/links.md b/doc/src/learning_material/peace_zero_stress_automation/links.md new file mode 100644 index 000000000..5aa99ad01 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/links.md @@ -0,0 +1,11 @@ +# 🔗 Links + +
+ +1. 🕊️ [peace.mk](https://peace.mk) + +2. 📘 [peace.mk/book](https://peace.mk/book) (slides) + +3. 🐙 [github.com/azriel91/peace](https://github.com/azriel91/peace) (repo) + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale.md b/doc/src/learning_material/peace_zero_stress_automation/morale.md new file mode 100644 index 000000000..2d64cea1a --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale.md @@ -0,0 +1,12 @@ +
+ +# 💟 Morale + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_errors.md b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_errors.md new file mode 100644 index 000000000..d5c7371cf --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_errors.md @@ -0,0 +1,33 @@ +# Aesthetics: Errors + +
+ +
+thread 'main' panicked at C:\Users\azrielh\work\github\azriel91\peace\examples\envman\src\items\peace_aws_s3_object\s3_object_apply_fns.rs:204:30:
+called `Result::unwrap()` on an `Err` value: S3ObjectUploadError { bucket_name: "azrielh-peace-envman-demo-1", object_key: "web_app.tar", aws_desc: "timed out", aws_desc_span: SourceSpan { offset: SourceOffset(0), length: 9 }, error: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Timeout, source: hyper::Error(Connect, HttpTimeoutError { kind: "HTTP connect", duration: 3.1s }), connection: Unknown } }) }
+stack backtrace:
+   0: <unknown>
+   ..
+  73: <unknown>
+  74: BaseThreadInitThunk
+  75: RtlUserThreadStart
+
+ + +
+ ./envman clean
+..
+✅ 5. s3_bucket        ▰▰▰▰▰▰▰▰▰▰▰▰▰▰ done!
+❌ 6. s3_object        ▱▱▱▱▱▱▱▱▱▱▱▱▱▱ 0/1
+                        Failed to upload S3 object: `web_app.tar`.
+# Errors
+`s3_object`:
+  × Failed to upload S3 object: `web_app.tar`.
+   ╭────
+ 1 │ timed out
+   · ─────────
+   ╰────
+  help: Make sure you are connected to the internet and try again.
+
+ +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_outcome.md b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_outcome.md new file mode 100644 index 000000000..a13b35a32 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_outcome.md @@ -0,0 +1,29 @@ +# Aesthetics: Outcome + +## CLI + +
+ +
+ ./envman status
+# States Current
+
+1. `app_download`    : `azriel91\web_app\0.1.1\web_app.tar` containing 6492160 bytes, ETag: "0x8DAEA1931AF89EE"
+2. `iam_policy`      : exists at https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::140353555758:policy/demo_1
+3. `iam_role`        : exists at https://console.aws.amazon.com/iamv2/home#/roles/details/demo_1 with policy attached
+4. `instance_profile`: exists at https://console.aws.amazon.com/iamv2/home#/roles/details/demo_1 associated with same named role
+5. `s3_bucket`       : exists at https://s3.console.aws.amazon.com/s3/buckets/azrielh-peace-envman-demo-1
+6. `s3_object`       : uploaded at https://s3.console.aws.amazon.com/s3/object/azrielh-peace-envman-demo-1?prefix=web_app.tar (MD5: 66e1cfaf498426ad444257d765c0766a)
+
+ +
+ +## Web + + +
+source diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_outcome/web_example.svg b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_outcome/web_example.svg new file mode 100644 index 000000000..a0e49053d --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_outcome/web_example.svg @@ -0,0 +1,219 @@ + + + + + + + + + +G + +cluster_tag_legend + +Legend + + +cluster_tag_s3_object + +Web App: S3 Object + + +cluster_tag_s3_bucket + +Web App: S3 Bucket + + +cluster_tag_instance_profile + +Web App: Instance Profile + + +cluster_tag_iam_role + +Web App: Iam Role + + +cluster_tag_iam_policy + +Web App: Iam Policy + + +cluster_tag_app_download + +Web App: File Download + + +cluster_group___iam + +IAM + + +cluster_group___iam___group___instance__profiles + +Instance Profiles + + +cluster_group___iam___group___policies + +Policies + + +cluster_group___iam___group___roles + +Roles + + +cluster_group___s3 + +S3 + + +cluster_group___s3___path_______azrielh__peace__envman__demo__1 + +🪣 azrielh-peace-envman-demo-1 + + +cluster_host_______github__com + +🌐 github.com + + +cluster_host_______localhost + +💻 localhost + + + + + + + + + + + + + + +group___iam___group___instance__profiles___path_______demo__1 + +📝 demo_1 + + + +group___iam___group___policies___path_______demo__1 + +📝 demo_1 + + + +group___iam___group___roles___path_______demo__1 + +🧢 demo_1 + + + +group___s3___path_______azrielh__peace__envman__demo__1___path_______web__app__tar + +📄 web_app.tar + + + +host_______github__com___path___https______github__com__azriel91__web__app__releases__download__0__1__1__web__app__tar + +https://github.com/azriel91/web_app/releases/download/0.1.1/web_app.tar + + + +host_______localhost___path_______azriel91__web__app__0__1__1__web__app__tar + +📄 azriel91\web_app\0.1.1\web_app.tar + + + + + + + + + + + + + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_progress.md b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_progress.md new file mode 100644 index 000000000..1501890c1 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_progress.md @@ -0,0 +1,40 @@ +# Aesthetics: Progress + +## CLI + +
+ +
+{"item_id":"app_download","progress_update":"ResetToPending","msg_update":"Clear"}
+{"item_id":"iam_policy","progress_update":"ResetToPending","msg_update":"Clear"}
+{"item_id":"iam_role","progress_update":"ResetToPending","msg_update":"Clear"}
+{"item_id":"instance_profile","progress_update":"ResetToPending","msg_update":"Clear"}
+{"item_id":"s3_bucket","progress_update":"ResetToPending","msg_update":"Clear"}
+{"item_id":"s3_object","progress_update":"ResetToPending","msg_update":"Clear"}
+{"item_id":"s3_bucket","progress_update":{"Delta":"Tick"},"msg_update":{"Set":"listing buckets"}}
+{"item_id":"iam_policy","progress_update":{"Delta":"Tick"},"msg_update":{"Set":"listing policies"}}
+{"item_id":"app_download","progress_update":{"Delta":"Tick"},"msg_update":"Clear"}
+
+ +
+ ./envman clean
+🔵 1. app_download     ▰▰▰▰▱▱▱▱▱▱▱▱▱▱ 955.00 KiB/6.19 MiB
+                                                  (el: 19s, eta: 5s)
+✅ 2. iam_policy       ▰▰▰▰▰▰▰▰▰▰▰▰▰▰ done!
+✅ 3. iam_role         ▰▰▰▰▰▰▰▰▰▰▰▰▰▰ done!
+✅ 4. instance_profile ▰▰▰▰▰▰▰▰▰▰▰▰▰▰ done!
+✅ 5. s3_bucket        ▰▰▰▰▰▰▰▰▰▰▰▰▰▰ done!
+⚪ 6. s3_object        ▱▱▱▱▱▱▱▱▱▱▱▱▱▱
+
+ +
+ + +## Web + + +
+source diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_progress/web.svg b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_progress/web.svg new file mode 100644 index 000000000..1d5c95af0 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale/aesthetics_progress/web.svg @@ -0,0 +1,155 @@ + + + + + + + + + +G + +cluster_app_download + + + +cluster_s3_bucket + + + +cluster_s3_object + + + +cluster_iam_policy + + + +cluster_iam_role + + + +cluster_instance_profile + + + + +app_download + + + + +s3_object + + + + +app_download->s3_object + + + + + +app_download_text + +app_download + + + +iam_policy + + + + +iam_role + + + + +iam_policy->iam_role + + + + + +iam_policy_text + +iam_policy + + + +instance_profile + + + + +iam_role->instance_profile + + + + + +iam_role_text + +iam_role + + + +instance_profile_text + +instance_profile + + + +s3_bucket + + + + +s3_bucket->s3_object + + + + + +s3_bucket_text + +s3_bucket + + + +s3_object_text + +s3_object + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale/automation_clarified.md b/doc/src/learning_material/peace_zero_stress_automation/morale/automation_clarified.md new file mode 100644 index 000000000..35cf55e3d --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale/automation_clarified.md @@ -0,0 +1,23 @@ +# Automation Clarified + +
+ + +
+source +
+ + +
+source +
+
+ diff --git a/doc/src/learning_material/peace_zero_stress_automation/morale/automation_clarified/automation_clarified.svg b/doc/src/learning_material/peace_zero_stress_automation/morale/automation_clarified/automation_clarified.svg new file mode 100644 index 000000000..ef400d392 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/morale/automation_clarified/automation_clarified.svg @@ -0,0 +1,147 @@ + + + + + + + + + +G + +cluster_execute + +🎮 + Control Automation +(5 ~ 30 minutes) + + + +params_define + +📝 + Define Parameters +(5 ~ 60 minutes) + + + +execute_step_1 + +1 + + + +params_define->execute_step_1 + + + + + +execute_step_2 + +2 + + + +execute_step_1->execute_step_2 + + + + + +execute_step_3 + +3 + + + +execute_step_1->execute_step_3 + + + + + +execute_step_4 + +4 + + + +execute_step_2->execute_step_4 + + + + + +execute_step_3:e->params_define:se + + + + + +execute_step_3->execute_step_4 + + + + + +test + +💻 + Check if it worked +(10 minutes) + + + +execute_step_4->test + + + + + +delete + +🗑️ + Delete +(5 minutes) + + + +test->delete + + + + + +delete->params_define:e + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story.md b/doc/src/learning_material/peace_zero_stress_automation/origin_story.md new file mode 100644 index 000000000..4292bed5c --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story.md @@ -0,0 +1,12 @@ +
+ +# 🐉 Origin Story + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation.md b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation.md new file mode 100644 index 000000000..f4b09bd9a --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation.md @@ -0,0 +1,11 @@ +# Automation + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation/automation.svg b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation/automation.svg new file mode 100644 index 000000000..821bd08d4 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation/automation.svg @@ -0,0 +1,102 @@ + + + + + + + + + +G + + +a + +💻 + Prep Servers +(automatic) + + + +b + +📥 + Copy Software +(automatic) + + + +a->b + + + + + +c + +💽 + Install +(automatic) + + + +b->c + + + + + +d + +📝 + Configure +(automatic) + + + +c->d + + + + + +e + +👷 + Test +(automatic) + + + +d->e + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation_for_real.md b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation_for_real.md new file mode 100644 index 000000000..5b66b55d5 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation_for_real.md @@ -0,0 +1,11 @@ +# Automation (For Real) + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation_for_real/automation_for_real.svg b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation_for_real/automation_for_real.svg new file mode 100644 index 000000000..64c2cdbe2 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/automation_for_real/automation_for_real.svg @@ -0,0 +1,94 @@ + + + + + + + + + +G + + +params_define + +📝 + Define Parameters +(5 ~ 60 minutes) + + + +execute + +⚙️ + Run Automation +(30 minutes) + + + +params_define->execute + + + + + +test + +💻 + Check if it worked +(10 minutes) + + + +execute->test + + + + + +delete + +🗑️ + Delete +(5 minutes) + + + +test->delete + + + + + +delete->params_define + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_eyes.md b/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_eyes.md new file mode 100644 index 000000000..71ede7140 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_eyes.md @@ -0,0 +1,21 @@ +# Engineering Eyes + +
+ +
+source + +
+ +1. 🔁 End-to-end automation + +2. ✅ Repeatable correctness + +3. ⚡ Performance: Time / Cost efficiency + +
+
diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_eyes/click_wait_done.svg b/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_eyes/click_wait_done.svg new file mode 100644 index 000000000..39022a50a --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_eyes/click_wait_done.svg @@ -0,0 +1,71 @@ + + + + + + + + + +G + + +a + +🖱️ + Click + + + +b + + + Wait + + + +a->b + + + + + +c + +🏁 + Done + + + +b->c + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_success.md b/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_success.md new file mode 100644 index 000000000..9cfe87811 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/engineering_success.md @@ -0,0 +1,29 @@ +# Engineering Success + +
+ +
+source + +
+ +1. 🔁 End-to-end automation + +2. ✅ Repeatable correctness + +3. ⚡ Performance: Time / Cost efficiency + +
+
+ +
+ +
+ +2 weeks → 30 minutes + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/human_eyes.md b/doc/src/learning_material/peace_zero_stress_automation/origin_story/human_eyes.md new file mode 100644 index 000000000..23804faa2 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/human_eyes.md @@ -0,0 +1,33 @@ +# Human Eyes + +
+ +
+source + +
+ +1. 🔁 End-to-end automation + +2. ✅ Repeatable correctness + +3. ⚡ Performance: Time / Cost efficiency + +
+ +
+ +4. 💡 Understandability + +5. 🎮 Control + +6. 💟 Morale + +
+ +
+ diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/manual_deployment.md b/doc/src/learning_material/peace_zero_stress_automation/origin_story/manual_deployment.md new file mode 100644 index 000000000..eca515eee --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/manual_deployment.md @@ -0,0 +1,11 @@ +# Manual Deployment + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/origin_story/manual_deployment/manual_deployment.svg b/doc/src/learning_material/peace_zero_stress_automation/origin_story/manual_deployment/manual_deployment.svg new file mode 100644 index 000000000..f1d53c594 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/origin_story/manual_deployment/manual_deployment.svg @@ -0,0 +1,102 @@ + + + + + + + + + +G + + +a + +💻 + Prep Servers +(manual) + + + +b + +📥 + Copy Software +(manual) + + + +a->b + + + + + +c + +💽 + Install +(manual) + + + +b->c + + + + + +d + +📝 + Configure +(manual) + + + +c->d + + + + + +e + +👷 + Test +(manual) + + + +d->e + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/peace_framework.md b/doc/src/learning_material/peace_zero_stress_automation/peace_framework.md new file mode 100644 index 000000000..1231ff12e --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/peace_framework.md @@ -0,0 +1,63 @@ +# 🕊️ Peace Framework + +
+
+ Peace logo
+

Peace

+

Constraints and
Common functionality

+
+
+ + +
+
+ 💻
+

Code

+

Logic and data types

+
+
+ = +
+
+ ⚙️
+

Nice Tool

+

Automation software

+
+
+ +
+ +
+
+ ⚙️
+

Nice Tool

+

Automation software

+
+
+ + +
+
+ 🔡
+

Data

+

Values for parameters

+
+
+ = +
+
+ 🚀
+

Work Done

+

App built and published

+

Environment deployed

+
+
+ + diff --git a/doc/src/learning_material/peace_zero_stress_automation/project_status.md b/doc/src/learning_material/peace_zero_stress_automation/project_status.md new file mode 100644 index 000000000..290810579 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/project_status.md @@ -0,0 +1,12 @@ +
+ +# 🦖 Project Status + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/project_status/readiness.md b/doc/src/learning_material/peace_zero_stress_automation/project_status/readiness.md new file mode 100644 index 000000000..3abdac72d --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/project_status/readiness.md @@ -0,0 +1,24 @@ +# Readiness + +
+
+ +| | Use case | Ready? | +|---:|:-------------------------|:-------| +| 1. | Development workflows | ✅ | +| 2. | Short lived environments | ✅ | +| 3. | Production workflows | ❌ | +| 4. | Stable environments | ❌ | + +
+ +| | Feature | Stable? | +|---:|:---------------------|:----------| +| 1. | Item / Data Traits | 🚧 80% | +| 2. | Execution | ✅ | +| 3. | Command Line Output | ✅ | +| 4. | Web Output | ❌ | +| 5. | API / Data Stability | ❌ ~1 year | + +
+
diff --git a/doc/src/learning_material/peace_zero_stress_automation/qna.md b/doc/src/learning_material/peace_zero_stress_automation/qna.md new file mode 100644 index 000000000..5312ee6a5 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/qna.md @@ -0,0 +1,3 @@ +# ❓ Q & A + +
🦀🕊️
diff --git a/doc/src/learning_material/peace_zero_stress_automation/side_side_projects.md b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects.md new file mode 100644 index 000000000..5b96a672f --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects.md @@ -0,0 +1,12 @@ +
+ +# 🪆 Side-Side Projects + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/dot_ix.md b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/dot_ix.md new file mode 100644 index 000000000..b36f05d6b --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/dot_ix.md @@ -0,0 +1,17 @@ +# 🎨 Dot IX + +> [🐙 github.com/azriel91/dot_ix](https://github.com/azriel91/dot_ix) +> [🔗 azriel.im/dot_ix](https://azriel.im/dot_ix) +> +> Generates SVG diagrams from structured input. + +
+ +
+source +
+ diff --git a/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/dot_ix/dot_ix_process.svg b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/dot_ix/dot_ix_process.svg new file mode 100644 index 000000000..51aca6981 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/dot_ix/dot_ix_process.svg @@ -0,0 +1,101 @@ + + + + + + + + + +G + +cluster_user_input + + + +cluster_diagram_generate + + + +cluster_diagram_styles + + + + +user_input + + + + +diagram_generate + + + + +user_input->diagram_generate + + + + + +user_input_text + +📝 +Input Object +(YAML / API) + + + +diagram_styles + + + + +diagram_generate->diagram_styles + + + + + +diagram_generate_text + + +Generate SVG +(GraphViz dot) + + + +diagram_styles_text + +🖼️ +Add CSS Styles +(Tailwind) + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible.md b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible.md new file mode 100644 index 000000000..618c346d5 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible.md @@ -0,0 +1,27 @@ +# 🛑 Interruptible + +> [🐙 github.com/azriel91/interruptible](https://github.com/azriel91/interruptible) +> +> Provides interruptibility + +
🎧 ▶️⏯️⏹️
+ + + +
+ +
+source +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible/media_player_stream.svg b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible/media_player_stream.svg new file mode 100644 index 000000000..a11c1f51d --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible/media_player_stream.svg @@ -0,0 +1,136 @@ + + + + + + + + + +G + +cluster_tag_legend + +Legend + + +cluster_tag_stop + +⏹️ Stop   + + +cluster_tag_pause + +⏸️ Pause/ +Resume + + +cluster_tag_play + +▶️ Play   + + +cluster_bytes + +bytes + + + + + + +file + +💽 File +    00 01 +    02 03 + + + +b3 + +03 + + + +file->b3 + + + + + +b2 + +02 + + + +b3->b2 + + + + + +b1 + +01 + + + +b2->b1 + + + + + +b0 + +00 + + + +b1->b0 + + + + + +speaker + +🎵 Speaker +(music) + + + +b0->speaker + + + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible/media_player_track.svg b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible/media_player_track.svg new file mode 100644 index 000000000..5e2414d59 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/side_side_projects/interruptible/media_player_track.svg @@ -0,0 +1,57 @@ + + + + + + + + + +G + + +a + +💽 File + + + +b + +🎵 Sound + + + +a->b + + +bytes + + + diff --git a/doc/src/learning_material/peace_zero_stress_automation/thank_you.md b/doc/src/learning_material/peace_zero_stress_automation/thank_you.md new file mode 100644 index 000000000..8f8ea0332 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/thank_you.md @@ -0,0 +1,12 @@ +
+ +# 🙇‍♂️ Thank You + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/understandability.md b/doc/src/learning_material/peace_zero_stress_automation/understandability.md new file mode 100644 index 000000000..76b6adb5c --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/understandability.md @@ -0,0 +1,12 @@ +
+ +# 💡 Understandability + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/understandability/demo.md b/doc/src/learning_material/peace_zero_stress_automation/understandability/demo.md new file mode 100644 index 000000000..9519ce180 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/understandability/demo.md @@ -0,0 +1,12 @@ +
+ +# 🎨 Demo + +
diff --git a/doc/src/learning_material/peace_zero_stress_automation/understandability/goldilocks_principle.md b/doc/src/learning_material/peace_zero_stress_automation/understandability/goldilocks_principle.md new file mode 100644 index 000000000..31e6c5519 --- /dev/null +++ b/doc/src/learning_material/peace_zero_stress_automation/understandability/goldilocks_principle.md @@ -0,0 +1,13 @@ +# Goldilocks Principle + +
🐻🐻‍❄️🐼
+ +
+ +1. Too much information is overwhelming. + +2. Too little information is not useful. + +3. There is a level specific to each individual that is "just right". + +