| 27 |
27 |
|
| Layer | Modules | Role |
|
| 28 |
28 |
|
|-------|---------|------|
|
| 29 |
29 |
|
| SSH | `ssh/handler.rs`, `ssh/mod.rs` | Connection handling, public key auth, channel dispatch |
|
| 30 |
|
- |
| TUI | `tui/mod.rs` + 9 screen modules | Interactive terminal UI via [ratatui](https://ratatui.rs/) |
|
|
30 |
+ |
| TUI | `tui/mod.rs` + the screen modules | Interactive terminal UI via [ratatui](https://ratatui.rs/) |
|
| 31 |
31 |
|
| Commands | `commands.rs` | Non-interactive text output for scripting |
|
| 32 |
|
- |
| API | `api.rs` | HTTP client for MNW internal API (50+ methods) |
|
|
32 |
+ |
| API | `api.rs` | HTTP client for the MNW internal API |
|
| 33 |
33 |
|
| SFTP | `ssh/sftp.rs` | File upload handling with per-user staging |
|
| 34 |
34 |
|
| Git | `ssh/git.rs` | Git proxy (upload-pack, receive-pack) via subprocess |
|
| 35 |
35 |
|
| Staging | `staging.rs` | 1 GB per-user upload quota, 24h TTL auto-cleanup |
|
| 104 |
104 |
|
no separate deploy step and no manual `scp`. See `../sando/deploy/README.md`.
|
| 105 |
105 |
|
|
| 106 |
106 |
|
It runs on hetzner as a systemd service with security hardening
|
| 107 |
|
- |
(ProtectSystem=strict, PrivateTmp, NoNewPrivileges). The old
|
| 108 |
|
- |
`deploy/deploy.sh` is a retired reference, not a supported path.
|
|
107 |
+ |
(ProtectSystem=strict, PrivateTmp, NoNewPrivileges). `deploy/deploy.sh` is a
|
|
108 |
+ |
retired reference, not a supported path: do not run it.
|
| 109 |
109 |
|
|
| 110 |
110 |
|
## Key Paths
|
| 111 |
111 |
|
|
| 113 |
113 |
|
|------|-------|
|
| 114 |
114 |
|
| SSH server + auth | `src/ssh/handler.rs` |
|
| 115 |
115 |
|
| TUI app state + event loop | `src/tui/mod.rs` |
|
| 116 |
|
- |
| API client (50+ methods) | `src/api.rs` |
|
|
116 |
+ |
| API client | `src/api.rs` |
|
| 117 |
117 |
|
| Non-interactive commands | `src/commands.rs` |
|
| 118 |
118 |
|
| SFTP + staging | `src/ssh/sftp.rs`, `src/staging.rs` |
|
| 119 |
119 |
|
| Git proxy | `src/ssh/git.rs` |
|
| 120 |
|
- |
| Deploy script (retired) | `deploy/deploy.sh` |
|
| 121 |
120 |
|
| systemd unit | `deploy/mnw-cli.service` |
|
| 122 |
121 |
|
|
| 123 |
122 |
|
## Contributing
|