From 7b794c2c931812e23d0193d5e1133509b7648748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=90=BD=20nixpig?= <143995476+nixpig@users.noreply.github.com> Date: Wed, 30 Oct 2024 05:14:47 +0000 Subject: [PATCH 1/2] chore: update proposed architecture --- architecture.md | 107 +++++++++++++++++++++++++----------------------- 1 file changed, 56 insertions(+), 51 deletions(-) diff --git a/architecture.md b/architecture.md index 23b2552..9cc4957 100644 --- a/architecture.md +++ b/architecture.md @@ -3,76 +3,81 @@ CLI Controller process Container process (spawn controller processs) (ephemeral) (persistent) - ─┬─ + ─┬─ ─┬─ + │ │ + ┌────────┐ ┌────┴───┐ ┌────┴─────┐ + │ create ├─────────────────►│ init ├─────────────────►│ creating │ + └────────┘ └─┬──┬───┘ └────┬─────┘ + ┌────────┐ │ │ │ + │ reexec │◄───────────────────┘ │ │ + └───┬────┘ │ │ + │ ┌────┴───┐ ┌────┴─────┐ + └──────────────────────►│ fork ├─────────────────►│ created │ + └────┬───┘ └─┬──┬─────┘ + ┌────┴───┐ │ │ + │ save │◄───────────────────┘ │ + └────┬───┘ ─┴─ │ - ┌────────┐ ┌────┴───┐ ┌────┐ - │ create ├─────────────────►│ ├──►│ db │ - └────────┘ └─┬──┬───┘ └────┘ - ┌────────┐ │ │ - │ reexec │◄───────────────────┘ │ - └───┬────┘ │ - │ ┌────┴───┐ ┌────────┐ - └──────────────────────►│ ├─────────────────►│ │ - └────┬───┘ └───┬────┘ - ┌────┴───┐ │ - │ update │◄─────────────────────┘ - └────┬─┬─┘ ┌────┐ - │ └────►│ db │ - ─┴─ └────┘ + ─┴─ ─┬─ │ - ┌────────┐ ┌────┴───┐ ┌────┐ - │ start ├─────────────────►│ load ├──►│ db │ - └────────┘ └────┬───┘ └────┘ - ┌────┴───┐ ┌────────┐ - │ start ├─────────────────►│ │ - └────┬───┘ └───┬────┘ - ┌────┴───┐ │ - │ update │◄─────────────────────┘ - └────┬─┬─┘ ┌────┐ - │ └────►│ db │ - ─┴─ └────┘ + ┌────────┐ ┌────┴───┐ + │ start ├─────────────────►│ load │ ─┬─ + └────────┘ └────┬───┘ │ + ┌────┴───┐ ┌────┴─────┐ + │ start ├─────────────────►│ running │ + └────┬───┘ └─┬──┬─────┘ + ┌────┴───┐ │ │ + │ save │◄───────────────────┘ │ + └────┬───┘ ┌────┴─────┐ + │ │ stopped │ + │ └─┬──┬─────┘ + ┌────┴───┐ │ │ + │ save │◄───────────────────┘ │ + └────┬───┘ ─┴─ + │ + ─┴─ ─┬─ │ - ┌────────┐ ┌────┴───┐ ┌────┐ - │ state ├─────────────────►│ load ├──►│ db │ - └────────┘ └────┬───┘ └────┘ + ┌────────┐ ┌────┴───┐ + │ state ├─────────────────►│ load │ + └────────┘ └────┬───┘ │ ─┴─ ─┬─ │ - ┌────────┐ ┌────┴───┐ ┌────┐ - │ kill ├─────────────────►│ load ├──►│ db │ - └────────┘ └────┬───┘ └────┘ - ┌────┴───┐ ┌────────┐ - │ kill ├─────────────────►│ │ - └────┬───┘ └───┬────┘ - ┌────┴───┐ │ - │ update │◄─────────────────────┘ - └────┬─┬─┘ ┌────┐ - │ └────►│ db │ - ─┴─ └────┘ + ┌────────┐ ┌────┴───┐ + │ kill ├─────────────────►│ load │ ─┬─ + └────────┘ └────┬───┘ │ + ┌────┴───┐ ┌────┴─────┐ + │ kill ├─────────────────►│ stopped │ + └────┬───┘ └─┬──┬─────┘ + ┌────┴───┐ │ │ + │ update │◄───────────────────┘ │ + └────┬───┘ ─┴─ + │ + ─┴─ ─┬─ │ - ┌────────┐ ┌────┴───┐ ┌────┐ - │ delete ├─────────────────►│ load ├──►│ db │ - └────────┘ └────┬───┘ └────┘ - ┌────┴───┐ ┌────────┐ - │ delete ├─────────────────►│ │ - └────┬───┘ └───┬────┘ - ┌────┴───┐ │ - │ update │◄─────────────────────┘ - └────┬─┬─┘ ┌────┐ - │ └────►│ db │ - ─┴─ └────┘ + ┌────────┐ ┌────┴───┐ + │ delete ├─────────────────►│ load │ + └────────┘ └────┬───┘ + ┌────┴───┐ ┌──────────┐ + │ delete ├─────────────────►│ │ + └────┬───┘ └─┬────────┘ + ┌────┴───┐ │ + │ update │◄───────────────────┘ + └────┬───┘ + │ + ─┴─ ``` From 613ed0da70dc2b49332f89e1bdffcdf620c35db0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=90=BD=20nixpig?= <143995476+nixpig@users.noreply.github.com> Date: Wed, 30 Oct 2024 05:31:31 +0000 Subject: [PATCH 2/2] docs: update architecture --- architecture.md | 110 ++++++++++++++++++++++++------------------------ 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/architecture.md b/architecture.md index 9cc4957..cf3b166 100644 --- a/architecture.md +++ b/architecture.md @@ -1,44 +1,44 @@ ``` - CLI Controller process Container process - (spawn controller processs) (ephemeral) (persistent) + (lib) (socket) + CLI ──────────────────► Controller ──────────────► Container ─┬─ ─┬─ │ │ - ┌────────┐ ┌────┴───┐ ┌────┴─────┐ - │ create ├─────────────────►│ init ├─────────────────►│ creating │ - └────────┘ └─┬──┬───┘ └────┬─────┘ - ┌────────┐ │ │ │ - │ reexec │◄───────────────────┘ │ │ + ┌────────┐ ┌────┴───┐ │ + │ create ├─────────────────►│ init ├──────────────────────►│ + └────────┘ └─┬──┬───┘ ┌────┴─────┐ + ┌────────┐ │ │ │ creating │ + │ reexec │◄───────────────────┘ │ └────┬─────┘ └───┬────┘ │ │ - │ ┌────┴───┐ ┌────┴─────┐ - └──────────────────────►│ fork ├─────────────────►│ created │ - └────┬───┘ └─┬──┬─────┘ - ┌────┴───┐ │ │ - │ save │◄───────────────────┘ │ - └────┬───┘ ─┴─ - │ - ─┴─ + │ ┌────┴───┐ │ + └──────────────────────►│ fork ├──────────────────────►│ + └────┬───┘ │ + ┌────┴───┐ ┌────┴─────┐ + │ save │◄─────────────────│ created │ + └────┬───┘ └────┬─────┘ + │ │ + ─┴─ ─┴─ - ─┬─ - │ - ┌────────┐ ┌────┴───┐ - │ start ├─────────────────►│ load │ ─┬─ + ─┬─ ─┬─ + │ │ + ┌────────┐ ┌────┴───┐ │ + │ start ├─────────────────►│ load │ │ └────────┘ └────┬───┘ │ + ┌────┴───┐ │ + │ start ├──────────────────────►│ + └────┬───┘ │ ┌────┴───┐ ┌────┴─────┐ - │ start ├─────────────────►│ running │ - └────┬───┘ └─┬──┬─────┘ - ┌────┴───┐ │ │ - │ save │◄───────────────────┘ │ - └────┬───┘ ┌────┴─────┐ - │ │ stopped │ - │ └─┬──┬─────┘ - ┌────┴───┐ │ │ - │ save │◄───────────────────┘ │ - └────┬───┘ ─┴─ - │ - ─┴─ + │ save │◄─────────────────│ running │ + └────┬───┘ └────┬─────┘ + │ │ + │ │ + ┌────┴───┐ ┌────┴─────┐ + │ save │◄─────────────────│ stopped │ + └────┬───┘ └────┬─────┘ + │ │ + ─┴─ ─┴─ ─┬─ @@ -50,34 +50,34 @@ ─┴─ - ─┬─ - │ - ┌────────┐ ┌────┴───┐ - │ kill ├─────────────────►│ load │ ─┬─ + ─┬─ ─┬─ + │ │ + ┌────────┐ ┌────┴───┐ │ + │ kill ├─────────────────►│ load │ │ └────────┘ └────┬───┘ │ + ┌────┴───┐ │ + │ kill ├──────────────────────►│ + └────┬───┘ │ ┌────┴───┐ ┌────┴─────┐ - │ kill ├─────────────────►│ stopped │ - └────┬───┘ └─┬──┬─────┘ - ┌────┴───┐ │ │ - │ update │◄───────────────────┘ │ - └────┬───┘ ─┴─ - │ - ─┴─ + │ save │◄─────────────────│ stopped │ + └────┬───┘ └────┬─────┘ + │ │ + ─┴─ ─┴─ - ─┬─ - │ - ┌────────┐ ┌────┴───┐ - │ delete ├─────────────────►│ load │ - └────────┘ └────┬───┘ - ┌────┴───┐ ┌──────────┐ - │ delete ├─────────────────►│ │ - └────┬───┘ └─┬────────┘ - ┌────┴───┐ │ - │ update │◄───────────────────┘ - └────┬───┘ - │ - ─┴─ + ─┬─ ─┬─ + │ │ + ┌────────┐ ┌────┴───┐ │ + │ delete ├─────────────────►│ load │ │ + └────────┘ └────┬───┘ │ + ┌────┴───┐ │ + │ delete ├──────────────────────►│ + └────┬───┘ │ + ┌────┴───┐ ┌────┴─────┐ + │ save │◄─────────────────│ │ + └────┬───┘ └────┬─────┘ + │ │ + ─┴─ ─┴─ ```