|
6 | 6 |
|
7 | 7 | A powerful command-line interface for managing Solana Virtual Machines (SVMs) across various networks. Monitor, deploy, and manage your SVM infrastructure with a single tool. |
8 | 8 |
|
9 | | - |
| 9 | +```mermaid |
| 10 | +graph TB |
| 11 | + User((User)) |
| 12 | +
|
| 13 | + subgraph "OSVM CLI System" |
| 14 | + subgraph "CLI Interface" |
| 15 | + MainCLI["Main CLI<br>Rust/Clap"] |
| 16 | + CommandParser["Command Parser<br>Clap"] |
| 17 | + |
| 18 | + subgraph "Core Commands" |
| 19 | + SVMCommands["SVM Commands<br>Rust"] |
| 20 | + NodeCommands["Node Commands<br>Rust"] |
| 21 | + SolanaCommands["Solana Commands<br>Rust"] |
| 22 | + RPCCommands["RPC Commands<br>Rust"] |
| 23 | + end |
| 24 | + end |
| 25 | + |
| 26 | + subgraph "Node Management" |
| 27 | + NodeManager["Node Manager<br>Rust"] |
| 28 | + |
| 29 | + subgraph "Node Components" |
| 30 | + NodeDB["Node Database<br>JSON"] |
| 31 | + NodeMonitor["Node Monitor<br>Rust"] |
| 32 | + NodeDashboard["Node Dashboard<br>Ratatui"] |
| 33 | + NodeMetrics["Node Metrics<br>Rust"] |
| 34 | + NodeLogs["Log Manager<br>Rust"] |
| 35 | + end |
| 36 | + end |
| 37 | + |
| 38 | + subgraph "SSH Deployment" |
| 39 | + SSHManager["SSH Manager<br>SSH2"] |
| 40 | + |
| 41 | + subgraph "Deployment Components" |
| 42 | + DeployConfig["Deployment Config<br>Rust"] |
| 43 | + DiskManager["Disk Manager<br>Rust"] |
| 44 | + ServiceManager["Service Manager<br>Rust"] |
| 45 | + HotSwap["Hot Swap Manager<br>Rust"] |
| 46 | + Dependencies["Dependency Manager<br>Rust"] |
| 47 | + end |
| 48 | + end |
| 49 | + |
| 50 | + subgraph "Utilities" |
| 51 | + Logger["Logger<br>env_logger"] |
| 52 | + Config["Config Manager<br>YAML"] |
| 53 | + Dashboard["Dashboard Generator<br>HTML/CSS"] |
| 54 | + Examples["Examples Manager<br>Rust"] |
| 55 | + end |
| 56 | + end |
| 57 | +
|
| 58 | + subgraph "External Systems" |
| 59 | + SolanaNode["Solana Node<br>Rust"] |
| 60 | + RPCNode["RPC Node<br>JSON-RPC"] |
| 61 | + RemoteServer["Remote Server<br>Linux"] |
| 62 | + end |
| 63 | +
|
| 64 | + User -->|Uses| MainCLI |
| 65 | + MainCLI -->|Parses| CommandParser |
| 66 | + CommandParser -->|Executes| SVMCommands |
| 67 | + CommandParser -->|Executes| NodeCommands |
| 68 | + CommandParser -->|Executes| SolanaCommands |
| 69 | + CommandParser -->|Executes| RPCCommands |
| 70 | +
|
| 71 | + NodeCommands -->|Manages| NodeManager |
| 72 | + NodeManager -->|Stores| NodeDB |
| 73 | + NodeManager -->|Monitors| NodeMonitor |
| 74 | + NodeMonitor -->|Displays| NodeDashboard |
| 75 | + NodeMonitor -->|Collects| NodeMetrics |
| 76 | + NodeManager -->|Manages| NodeLogs |
| 77 | +
|
| 78 | + SolanaCommands -->|Deploys| SSHManager |
| 79 | + RPCCommands -->|Deploys| SSHManager |
| 80 | + SSHManager -->|Uses| DeployConfig |
| 81 | + SSHManager -->|Manages| DiskManager |
| 82 | + SSHManager -->|Controls| ServiceManager |
| 83 | + SSHManager -->|Handles| HotSwap |
| 84 | + SSHManager -->|Installs| Dependencies |
| 85 | +
|
| 86 | + MainCLI -->|Uses| Logger |
| 87 | + MainCLI -->|Reads| Config |
| 88 | + NodeDashboard -->|Generates| Dashboard |
| 89 | + MainCLI -->|Shows| Examples |
| 90 | +
|
| 91 | + SSHManager -->|Connects to| RemoteServer |
| 92 | + NodeMonitor -->|Monitors| SolanaNode |
| 93 | + NodeMonitor -->|Monitors| RPCNode |
| 94 | +``` |
10 | 95 |
|
11 | 96 | ## ⚡ One-Line Installation |
12 | 97 |
|
@@ -155,4 +240,4 @@ Contributions are welcome! Please feel free to submit a Pull Request. |
155 | 240 |
|
156 | 241 | ## 📄 License |
157 | 242 |
|
158 | | -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 243 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
0 commit comments