add ascii communication diagram
All checks were successful
Build Container / Build Container (push) Successful in 4m16s
All checks were successful
Build Container / Build Container (push) Successful in 4m16s
This commit is contained in:
parent
3f08745544
commit
81ec8ffc77
1 changed files with 25 additions and 0 deletions
25
README.md
25
README.md
|
|
@ -51,6 +51,31 @@ The appliction is implemented using the following different components:
|
|||
- When a user logs in with the `dooris` user now, they are always dropped into the `ssh-cli` binary. This works in cases where a command is specified on the users cli or where it isn't.
|
||||
In any case, the `ssh-cli` binary interprets the given command (via the `SSH_ORIGINAL_COMMAND` environment variable), figures out what to do, and contacts the running API with the configured credentials to do it.
|
||||
|
||||
### Communication Diagram
|
||||
|
||||
```text
|
||||
┌─────────────────┐ ┏━━━━━━━━━━━━━━┓
|
||||
│ web browser │ ┃ dooris-api ┃
|
||||
├┈┈┈┈┈┈┈with┈┈┈┈┈┈┤ ┣┉┉┉┉┉with┉┉┉┉┉┫ ┌──────────┐
|
||||
│ dooris-frontend │ ╌ ╌ ⇆ ╌ ╌ ┃ http server ┃ ╭ ╌ ╌ → ╌ ╌ │ SpaceApi │
|
||||
└─────────────────┘ ╭╌ ┃ ┃ ╎ └──────────┘
|
||||
╎ ┣┉┉┉┉┉and┉┉┉┉┉┉┫ ╎ ┌───────────┐ ┌───────────┐ ┌──────────┐
|
||||
╎ ┃ http client ┃ ╯ ╭╌ ⇆ ╌ ╌ │ homematic │ ╌ ⇆ ╌ │ homematic │ ╌ ⇆ ╌ │ physical │
|
||||
╎ ┃ ┃ ╌╌ ╯ ╭ ← ╌ │ ccujack │ │ daemon │ │ lock │
|
||||
⇅ ┣┉┉┉┉┉and┉┉┉┉┉┉┫ ╎ └───────────┘ └───────────┘ └──────────┘
|
||||
╎ ┃ mqtt client ┃╌ ← ╌ ╯ ┌────────────────┐
|
||||
╎ ┃ ┃ ╌ ╌ ╌ → ╌ ╌ │ Club-Assistant │
|
||||
╎ ┗━━━━━━━━━━━━━━┛ └────────────────┘
|
||||
╎
|
||||
╰ ╌ ╌ ╌ ╌ ╌ ⇄ ╌ ╌ ╌ ╌ ╮
|
||||
┌────────────┐ ┌──────────────────┐ ╎
|
||||
│ SSH client │ ╌ ╌ ╌ ⇆ ╌ ╌ ╌│ dooris "ssh-cli" │ ╯
|
||||
└────────────┘ └──────────────────┘
|
||||
```
|
||||
|
||||
- Boxes indicate a discrete daemon or running piece of software. Those sometimes include subcomponents of that daemon for clarity.
|
||||
- Dotted connections indicate information flow while the arrows indicate the direction of that flow
|
||||
|
||||
## Configuration
|
||||
|
||||
The final application can be configured either via CLI arguments or via environment variables.
|
||||
|
|
|
|||
Loading…
Reference in a new issue