Tim Jones 2 месяцев назад
Родитель
Сommit
822083f377

+ 1 - 95
COMMANDS.md

@@ -1,100 +1,5 @@
 # CLI Commands
 
-## Command Tree
-- [CLI Commands](#cli-commands)
-  - [Command Tree](#command-tree)
-  - [`rpk`](#rpk)
-  - [`rpk switches`](#rpk-switches)
-  - [`rpk switches summary`](#rpk-switches-summary)
-  - [`rpk switches add`](#rpk-switches-add)
-  - [`rpk switches list`](#rpk-switches-list)
-  - [`rpk switches get`](#rpk-switches-get)
-  - [`rpk switches describe`](#rpk-switches-describe)
-  - [`rpk switches set`](#rpk-switches-set)
-  - [`rpk switches del`](#rpk-switches-del)
-  - [`rpk systems`](#rpk-systems)
-  - [`rpk systems summary`](#rpk-systems-summary)
-  - [`rpk systems add`](#rpk-systems-add)
-  - [`rpk systems list`](#rpk-systems-list)
-  - [`rpk systems get`](#rpk-systems-get)
-  - [`rpk systems describe`](#rpk-systems-describe)
-  - [`rpk systems set`](#rpk-systems-set)
-  - [`rpk systems del`](#rpk-systems-del)
-  - [`rpk accesspoints`](#rpk-accesspoints)
-  - [`rpk accesspoints summary`](#rpk-accesspoints-summary)
-  - [`rpk accesspoints add`](#rpk-accesspoints-add)
-  - [`rpk accesspoints list`](#rpk-accesspoints-list)
-  - [`rpk accesspoints get`](#rpk-accesspoints-get)
-  - [`rpk accesspoints describe`](#rpk-accesspoints-describe)
-  - [`rpk accesspoints set`](#rpk-accesspoints-set)
-  - [`rpk accesspoints del`](#rpk-accesspoints-del)
-  - [`rpk ups`](#rpk-ups)
-  - [`rpk ups summary`](#rpk-ups-summary)
-  - [`rpk ups add`](#rpk-ups-add)
-  - [`rpk ups list`](#rpk-ups-list)
-  - [`rpk ups get`](#rpk-ups-get)
-  - [`rpk ups describe`](#rpk-ups-describe)
-  - [`rpk ups set`](#rpk-ups-set)
-  - [`rpk ups del`](#rpk-ups-del)
-  - [`rpk desktops`](#rpk-desktops)
-  - [`rpk desktops add`](#rpk-desktops-add)
-  - [`rpk desktops list`](#rpk-desktops-list)
-  - [`rpk desktops get`](#rpk-desktops-get)
-  - [`rpk desktops describe`](#rpk-desktops-describe)
-  - [`rpk desktops set`](#rpk-desktops-set)
-  - [`rpk desktops del`](#rpk-desktops-del)
-  - [`rpk desktops cpu`](#rpk-desktops-cpu)
-  - [`rpk desktops cpu add`](#rpk-desktops-cpu-add)
-  - [`rpk desktops cpu set`](#rpk-desktops-cpu-set)
-  - [`rpk desktops cpu del`](#rpk-desktops-cpu-del)
-  - [`rpk desktops drive`](#rpk-desktops-drive)
-  - [`rpk desktops drive add`](#rpk-desktops-drive-add)
-  - [`rpk desktops drive set`](#rpk-desktops-drive-set)
-  - [`rpk desktops drive del`](#rpk-desktops-drive-del)
-  - [`rpk desktops gpu`](#rpk-desktops-gpu)
-  - [`rpk desktops gpu add`](#rpk-desktops-gpu-add)
-  - [`rpk desktops gpu set`](#rpk-desktops-gpu-set)
-  - [`rpk desktops gpu del`](#rpk-desktops-gpu-del)
-  - [`rpk desktops nic`](#rpk-desktops-nic)
-  - [`rpk desktops nic add`](#rpk-desktops-nic-add)
-  - [`rpk desktops nic set`](#rpk-desktops-nic-set)
-  - [`rpk desktops nic del`](#rpk-desktops-nic-del)
-  - [`rpk services`](#rpk-services)
-  - [`rpk services summary`](#rpk-services-summary)
-  - [`rpk services add`](#rpk-services-add)
-  - [`rpk services list`](#rpk-services-list)
-  - [`rpk services get`](#rpk-services-get)
-  - [`rpk services describe`](#rpk-services-describe)
-  - [`rpk services set`](#rpk-services-set)
-  - [`rpk services del`](#rpk-services-del)
-  - [`rpk ap`](#rpk-ap)
-  - [`rpk servers`](#rpk-servers)
-  - [`rpk servers summary`](#rpk-servers-summary)
-  - [`rpk servers add`](#rpk-servers-add)
-  - [`rpk servers get`](#rpk-servers-get)
-  - [`rpk servers describe`](#rpk-servers-describe)
-  - [`rpk servers set`](#rpk-servers-set)
-  - [`rpk servers del`](#rpk-servers-del)
-  - [`rpk servers tree`](#rpk-servers-tree)
-  - [`rpk servers cpu`](#rpk-servers-cpu)
-  - [`rpk servers cpu add`](#rpk-servers-cpu-add)
-  - [`rpk servers cpu set`](#rpk-servers-cpu-set)
-  - [`rpk servers cpu del`](#rpk-servers-cpu-del)
-  - [`rpk servers drive`](#rpk-servers-drive)
-  - [`rpk servers drive add`](#rpk-servers-drive-add)
-  - [`rpk servers drive set`](#rpk-servers-drive-set)
-  - [`rpk servers drive del`](#rpk-servers-drive-del)
-  - [`rpk servers gpu`](#rpk-servers-gpu)
-  - [`rpk servers gpu add`](#rpk-servers-gpu-add)
-  - [`rpk servers gpu set`](#rpk-servers-gpu-set)
-  - [`rpk servers gpu del`](#rpk-servers-gpu-del)
-  - [`rpk servers nic`](#rpk-servers-nic)
-  - [`rpk servers nic add`](#rpk-servers-nic-add)
-  - [`rpk servers nic set`](#rpk-servers-nic-set)
-  - [`rpk servers nic del`](#rpk-servers-nic-del)
-
----
-
 ## `rpk`
 ```
 USAGE:
@@ -108,6 +13,7 @@ COMMANDS:
     systems         Manage systems                   
     accesspoints    Manage access points             
     ups             Manage UPS units                 
+    desktops                                         
     services        Manage services                  
     ap              Show access point hardware report
     desktops        Show desktop hardware report     

+ 93 - 0
CommandIndex.md

@@ -0,0 +1,93 @@
+# CLI Command Index
+
+- [rpk](Commands.md#rpk)
+  - [switches](Commands.md#rpk-switches)
+    - [summary](Commands.md#rpk-switches-summary)
+    - [add](Commands.md#rpk-switches-add)
+    - [list](Commands.md#rpk-switches-list)
+    - [get](Commands.md#rpk-switches-get)
+    - [describe](Commands.md#rpk-switches-describe)
+    - [set](Commands.md#rpk-switches-set)
+    - [del](Commands.md#rpk-switches-del)
+  - [systems](Commands.md#rpk-systems)
+    - [summary](Commands.md#rpk-systems-summary)
+    - [add](Commands.md#rpk-systems-add)
+    - [list](Commands.md#rpk-systems-list)
+    - [get](Commands.md#rpk-systems-get)
+    - [describe](Commands.md#rpk-systems-describe)
+    - [set](Commands.md#rpk-systems-set)
+    - [del](Commands.md#rpk-systems-del)
+  - [accesspoints](Commands.md#rpk-accesspoints)
+    - [summary](Commands.md#rpk-accesspoints-summary)
+    - [add](Commands.md#rpk-accesspoints-add)
+    - [list](Commands.md#rpk-accesspoints-list)
+    - [get](Commands.md#rpk-accesspoints-get)
+    - [describe](Commands.md#rpk-accesspoints-describe)
+    - [set](Commands.md#rpk-accesspoints-set)
+    - [del](Commands.md#rpk-accesspoints-del)
+  - [ups](Commands.md#rpk-ups)
+    - [summary](Commands.md#rpk-ups-summary)
+    - [add](Commands.md#rpk-ups-add)
+    - [list](Commands.md#rpk-ups-list)
+    - [get](Commands.md#rpk-ups-get)
+    - [describe](Commands.md#rpk-ups-describe)
+    - [set](Commands.md#rpk-ups-set)
+    - [del](Commands.md#rpk-ups-del)
+  - [desktops](Commands.md#rpk-desktops)
+    - [add](Commands.md#rpk-desktops-add)
+    - [list](Commands.md#rpk-desktops-list)
+    - [get](Commands.md#rpk-desktops-get)
+    - [describe](Commands.md#rpk-desktops-describe)
+    - [set](Commands.md#rpk-desktops-set)
+    - [del](Commands.md#rpk-desktops-del)
+    - [cpu](Commands.md#rpk-desktops-cpu)
+      - [add](Commands.md#rpk-desktops-cpu-add)
+      - [set](Commands.md#rpk-desktops-cpu-set)
+      - [del](Commands.md#rpk-desktops-cpu-del)
+    - [drive](Commands.md#rpk-desktops-drive)
+      - [add](Commands.md#rpk-desktops-drive-add)
+      - [set](Commands.md#rpk-desktops-drive-set)
+      - [del](Commands.md#rpk-desktops-drive-del)
+    - [gpu](Commands.md#rpk-desktops-gpu)
+      - [add](Commands.md#rpk-desktops-gpu-add)
+      - [set](Commands.md#rpk-desktops-gpu-set)
+      - [del](Commands.md#rpk-desktops-gpu-del)
+    - [nic](Commands.md#rpk-desktops-nic)
+      - [add](Commands.md#rpk-desktops-nic-add)
+      - [set](Commands.md#rpk-desktops-nic-set)
+      - [del](Commands.md#rpk-desktops-nic-del)
+  - [services](Commands.md#rpk-services)
+    - [summary](Commands.md#rpk-services-summary)
+    - [add](Commands.md#rpk-services-add)
+    - [list](Commands.md#rpk-services-list)
+    - [get](Commands.md#rpk-services-get)
+    - [describe](Commands.md#rpk-services-describe)
+    - [set](Commands.md#rpk-services-set)
+    - [del](Commands.md#rpk-services-del)
+  - [ap](Commands.md#rpk-ap)
+  - [desktops](Commands.md#rpk-desktops)
+  - [ups](Commands.md#rpk-ups)
+  - [servers](Commands.md#rpk-servers)
+    - [summary](Commands.md#rpk-servers-summary)
+    - [add](Commands.md#rpk-servers-add)
+    - [get](Commands.md#rpk-servers-get)
+    - [describe](Commands.md#rpk-servers-describe)
+    - [set](Commands.md#rpk-servers-set)
+    - [del](Commands.md#rpk-servers-del)
+    - [tree](Commands.md#rpk-servers-tree)
+    - [cpu](Commands.md#rpk-servers-cpu)
+      - [add](Commands.md#rpk-servers-cpu-add)
+      - [set](Commands.md#rpk-servers-cpu-set)
+      - [del](Commands.md#rpk-servers-cpu-del)
+    - [drive](Commands.md#rpk-servers-drive)
+      - [add](Commands.md#rpk-servers-drive-add)
+      - [set](Commands.md#rpk-servers-drive-set)
+      - [del](Commands.md#rpk-servers-drive-del)
+    - [gpu](Commands.md#rpk-servers-gpu)
+      - [add](Commands.md#rpk-servers-gpu-add)
+      - [set](Commands.md#rpk-servers-gpu-set)
+      - [del](Commands.md#rpk-servers-gpu-del)
+    - [nic](Commands.md#rpk-servers-nic)
+      - [add](Commands.md#rpk-servers-nic-add)
+      - [set](Commands.md#rpk-servers-nic-set)
+      - [del](Commands.md#rpk-servers-nic-del)

+ 91 - 1469
README.md

@@ -3,1474 +3,96 @@
 RackPeek is a lightweight CLI tool for managing and documenting your IT infrastructure and home lab.
 Track servers, switches, routers, desktops, access points, UPS systems, and more — including software systems, services, and networks — all from the command line.
 It’s designed to help you inventory, configure, and audit your environment in a consistent, reusable way.
-# CLI Commands
 
 ## Command Tree
-- [RackPeek](#rackpeek)
-- [CLI Commands](#cli-commands)
-  - [Command Tree](#command-tree)
-  - [`rpk`](#rpk)
-  - [`rpk switches`](#rpk-switches)
-  - [`rpk switches summary`](#rpk-switches-summary)
-  - [`rpk switches add`](#rpk-switches-add)
-  - [`rpk switches list`](#rpk-switches-list)
-  - [`rpk switches get`](#rpk-switches-get)
-  - [`rpk switches describe`](#rpk-switches-describe)
-  - [`rpk switches set`](#rpk-switches-set)
-  - [`rpk switches del`](#rpk-switches-del)
-  - [`rpk systems`](#rpk-systems)
-  - [`rpk systems summary`](#rpk-systems-summary)
-  - [`rpk systems add`](#rpk-systems-add)
-  - [`rpk systems list`](#rpk-systems-list)
-  - [`rpk systems get`](#rpk-systems-get)
-  - [`rpk systems describe`](#rpk-systems-describe)
-  - [`rpk systems set`](#rpk-systems-set)
-  - [`rpk systems del`](#rpk-systems-del)
-  - [`rpk accesspoints`](#rpk-accesspoints)
-  - [`rpk accesspoints summary`](#rpk-accesspoints-summary)
-  - [`rpk accesspoints add`](#rpk-accesspoints-add)
-  - [`rpk accesspoints list`](#rpk-accesspoints-list)
-  - [`rpk accesspoints get`](#rpk-accesspoints-get)
-  - [`rpk accesspoints describe`](#rpk-accesspoints-describe)
-  - [`rpk accesspoints set`](#rpk-accesspoints-set)
-  - [`rpk accesspoints del`](#rpk-accesspoints-del)
-  - [`rpk ups`](#rpk-ups)
-  - [`rpk ups summary`](#rpk-ups-summary)
-  - [`rpk ups add`](#rpk-ups-add)
-  - [`rpk ups list`](#rpk-ups-list)
-  - [`rpk ups get`](#rpk-ups-get)
-  - [`rpk ups describe`](#rpk-ups-describe)
-  - [`rpk ups set`](#rpk-ups-set)
-  - [`rpk ups del`](#rpk-ups-del)
-  - [`rpk desktops`](#rpk-desktops)
-  - [`rpk desktops add`](#rpk-desktops-add)
-  - [`rpk desktops list`](#rpk-desktops-list)
-  - [`rpk desktops get`](#rpk-desktops-get)
-  - [`rpk desktops describe`](#rpk-desktops-describe)
-  - [`rpk desktops set`](#rpk-desktops-set)
-  - [`rpk desktops del`](#rpk-desktops-del)
-  - [`rpk desktops cpu`](#rpk-desktops-cpu)
-  - [`rpk desktops cpu add`](#rpk-desktops-cpu-add)
-  - [`rpk desktops cpu set`](#rpk-desktops-cpu-set)
-  - [`rpk desktops cpu del`](#rpk-desktops-cpu-del)
-  - [`rpk desktops drive`](#rpk-desktops-drive)
-  - [`rpk desktops drive add`](#rpk-desktops-drive-add)
-  - [`rpk desktops drive set`](#rpk-desktops-drive-set)
-  - [`rpk desktops drive del`](#rpk-desktops-drive-del)
-  - [`rpk desktops gpu`](#rpk-desktops-gpu)
-  - [`rpk desktops gpu add`](#rpk-desktops-gpu-add)
-  - [`rpk desktops gpu set`](#rpk-desktops-gpu-set)
-  - [`rpk desktops gpu del`](#rpk-desktops-gpu-del)
-  - [`rpk desktops nic`](#rpk-desktops-nic)
-  - [`rpk desktops nic add`](#rpk-desktops-nic-add)
-  - [`rpk desktops nic set`](#rpk-desktops-nic-set)
-  - [`rpk desktops nic del`](#rpk-desktops-nic-del)
-  - [`rpk services`](#rpk-services)
-  - [`rpk services summary`](#rpk-services-summary)
-  - [`rpk services add`](#rpk-services-add)
-  - [`rpk services list`](#rpk-services-list)
-  - [`rpk services get`](#rpk-services-get)
-  - [`rpk services describe`](#rpk-services-describe)
-  - [`rpk services set`](#rpk-services-set)
-  - [`rpk services del`](#rpk-services-del)
-  - [`rpk ap`](#rpk-ap)
-  - [`rpk servers`](#rpk-servers)
-  - [`rpk servers summary`](#rpk-servers-summary)
-  - [`rpk servers add`](#rpk-servers-add)
-  - [`rpk servers get`](#rpk-servers-get)
-  - [`rpk servers describe`](#rpk-servers-describe)
-  - [`rpk servers set`](#rpk-servers-set)
-  - [`rpk servers del`](#rpk-servers-del)
-  - [`rpk servers tree`](#rpk-servers-tree)
-  - [`rpk servers cpu`](#rpk-servers-cpu)
-  - [`rpk servers cpu add`](#rpk-servers-cpu-add)
-  - [`rpk servers cpu set`](#rpk-servers-cpu-set)
-  - [`rpk servers cpu del`](#rpk-servers-cpu-del)
-  - [`rpk servers drive`](#rpk-servers-drive)
-  - [`rpk servers drive add`](#rpk-servers-drive-add)
-  - [`rpk servers drive set`](#rpk-servers-drive-set)
-  - [`rpk servers drive del`](#rpk-servers-drive-del)
-  - [`rpk servers gpu`](#rpk-servers-gpu)
-  - [`rpk servers gpu add`](#rpk-servers-gpu-add)
-  - [`rpk servers gpu set`](#rpk-servers-gpu-set)
-  - [`rpk servers gpu del`](#rpk-servers-gpu-del)
-  - [`rpk servers nic`](#rpk-servers-nic)
-  - [`rpk servers nic add`](#rpk-servers-nic-add)
-  - [`rpk servers nic set`](#rpk-servers-nic-set)
-  - [`rpk servers nic del`](#rpk-servers-nic-del)
-
----
-
-## `rpk`
-```
-USAGE:
-    rpk [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    switches        Manage switches                  
-    systems         Manage systems                   
-    accesspoints    Manage access points             
-    ups             Manage UPS units                 
-    services        Manage services                  
-    ap              Show access point hardware report
-    desktops        Show desktop hardware report     
-    ups             Show UPS hardware report         
-    servers         Manage servers                   
-```
-
-## `rpk switches`
-```
-DESCRIPTION:
-Manage switches
-
-USAGE:
-    rpk switches [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show switch hardware report             
-    add <name>         Add a new switch                        
-    list               List switches                           
-    get <name>         Get a switches by name                  
-    describe <name>    Show detailed information about a switch
-    set <name>         Update switch properties                
-    del <name>         Delete a switch                         
-```
-
-## `rpk switches summary`
-```
-DESCRIPTION:
-Show switch hardware report
-
-USAGE:
-    rpk switches summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches add`
-```
-DESCRIPTION:
-Add a new switch
-
-USAGE:
-    rpk switches add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches list`
-```
-DESCRIPTION:
-List switches
-
-USAGE:
-    rpk switches list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches get`
-```
-DESCRIPTION:
-Get a switches by name
-
-USAGE:
-    rpk switches get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches describe`
-```
-DESCRIPTION:
-Show detailed information about a switch
-
-USAGE:
-    rpk switches describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches set`
-```
-DESCRIPTION:
-Update switch properties
-
-USAGE:
-    rpk switches set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help       Prints help information
-        --Model                             
-        --managed                           
-        --poe                               
-```
-
-## `rpk switches del`
-```
-DESCRIPTION:
-Delete a switch
-
-USAGE:
-    rpk switches del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems`
-```
-DESCRIPTION:
-Manage systems
-
-USAGE:
-    rpk systems [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show system report                      
-    add <name>         Add a new system                        
-    list               List systems                            
-    get <name>         Get a system by name                    
-    describe <name>    Show detailed information about a system
-    set <name>         Update system properties                
-    del <name>         Delete a system                         
-```
-
-## `rpk systems summary`
-```
-DESCRIPTION:
-Show system report
-
-USAGE:
-    rpk systems summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems add`
-```
-DESCRIPTION:
-Add a new system
-
-USAGE:
-    rpk systems add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems list`
-```
-DESCRIPTION:
-List systems
-
-USAGE:
-    rpk systems list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems get`
-```
-DESCRIPTION:
-Get a system by name
-
-USAGE:
-    rpk systems get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems describe`
-```
-DESCRIPTION:
-Show detailed information about a system
-
-USAGE:
-    rpk systems describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems set`
-```
-DESCRIPTION:
-Update system properties
-
-USAGE:
-    rpk systems set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help       Prints help information
-        --type                              
-        --os                                
-        --cores                             
-        --ram                               
-        --runs-on                           
-```
-
-## `rpk systems del`
-```
-DESCRIPTION:
-Delete a system
-
-USAGE:
-    rpk systems del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints`
-```
-DESCRIPTION:
-Manage access points
-
-USAGE:
-    rpk accesspoints [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show access point hardware report              
-    add <name>         Add a new access point                         
-    list               List access points                             
-    get <name>         Get an access point by name                    
-    describe <name>    Show detailed information about an access point
-    set <name>         Update access point properties                 
-    del <name>         Delete an access point                         
-```
-
-## `rpk accesspoints summary`
-```
-DESCRIPTION:
-Show access point hardware report
-
-USAGE:
-    rpk accesspoints summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints add`
-```
-DESCRIPTION:
-Add a new access point
-
-USAGE:
-    rpk accesspoints add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints list`
-```
-DESCRIPTION:
-List access points
-
-USAGE:
-    rpk accesspoints list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints get`
-```
-DESCRIPTION:
-Get an access point by name
-
-USAGE:
-    rpk accesspoints get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints describe`
-```
-DESCRIPTION:
-Show detailed information about an access point
-
-USAGE:
-    rpk accesspoints describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints set`
-```
-DESCRIPTION:
-Update access point properties
-
-USAGE:
-    rpk accesspoints set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information            
-        --model    The access point model name        
-        --speed    The speed of the access point in Gb
-```
-
-## `rpk accesspoints del`
-```
-DESCRIPTION:
-Delete an access point
-
-USAGE:
-    rpk accesspoints del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups`
-```
-DESCRIPTION:
-Manage UPS units
-
-USAGE:
-    rpk ups [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show UPS hardware report             
-    add <name>         Add a new UPS                        
-    list               List UPS units                       
-    get <name>         Get a UPS by name                    
-    describe <name>    Show detailed information about a UPS
-    set <name>         Update UPS properties                
-    del <name>         Delete a UPS                         
-```
-
-## `rpk ups summary`
-```
-DESCRIPTION:
-Show UPS hardware report
-
-USAGE:
-    rpk ups summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups add`
-```
-DESCRIPTION:
-Add a new UPS
-
-USAGE:
-    rpk ups add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups list`
-```
-DESCRIPTION:
-List UPS units
-
-USAGE:
-    rpk ups list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups get`
-```
-DESCRIPTION:
-Get a UPS by name
-
-USAGE:
-    rpk ups get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups describe`
-```
-DESCRIPTION:
-Show detailed information about a UPS
-
-USAGE:
-    rpk ups describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups set`
-```
-DESCRIPTION:
-Update UPS properties
-
-USAGE:
-    rpk ups set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-        --va                              
-```
-
-## `rpk ups del`
-```
-DESCRIPTION:
-Delete a UPS
-
-USAGE:
-    rpk ups del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops`
-```
-USAGE:
-    rpk desktops [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>          
-    list                
-    get <name>          
-    describe <name>     
-    set <name>          
-    del <name>          
-    cpu                 
-    drive               
-    gpu                 
-    nic                 
-```
-
-## `rpk desktops add`
-```
-USAGE:
-    rpk desktops add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops list`
-```
-USAGE:
-    rpk desktops list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops get`
-```
-USAGE:
-    rpk desktops get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops describe`
-```
-USAGE:
-    rpk desktops describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops set`
-```
-USAGE:
-    rpk desktops set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-```
-
-## `rpk desktops del`
-```
-USAGE:
-    rpk desktops del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops cpu`
-```
-USAGE:
-    rpk desktops cpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops cpu add`
-```
-USAGE:
-    rpk desktops cpu add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The model name           
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk desktops cpu set`
-```
-USAGE:
-    rpk desktops cpu set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name            
-    <index>      The index of the desktop cpu
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The cpu model            
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk desktops cpu del`
-```
-USAGE:
-    rpk desktops cpu del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop               
-    <index>      The index of the desktop cpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops drive`
-```
-USAGE:
-    rpk desktops drive [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops drive add`
-```
-USAGE:
-    rpk desktops drive add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
-```
-
-## `rpk desktops drive set`
-```
-USAGE:
-    rpk desktops drive set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name         
-    <index>      The drive index to update
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
-```
-
-## `rpk desktops drive del`
-```
-USAGE:
-    rpk desktops drive del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop         
-    <index>      The index of the drive to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops gpu`
-```
-USAGE:
-    rpk desktops gpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops gpu add`
-```
-USAGE:
-    rpk desktops gpu add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The Gpu model               
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk desktops gpu set`
-```
-USAGE:
-    rpk desktops gpu set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the gpu to update
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The gpu model name          
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk desktops gpu del`
-```
-USAGE:
-    rpk desktops gpu del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the Gpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops nic`
-```
-USAGE:
-    rpk desktops nic [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops nic add`
-```
-USAGE:
-    rpk desktops nic add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --type     The nic port type e.g rj45 / sfp+
-        --speed    The port speed                   
-        --ports    The number of ports              
-```
-
-## `rpk desktops nic set`
-```
-USAGE:
-    rpk desktops nic set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --type     The nic port type e.g rj45 / sfp+
-        --speed    The speed of the nic in Gb/s     
-        --ports    The number of ports              
-```
-
-## `rpk desktops nic del`
-```
-USAGE:
-    rpk desktops nic del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services`
-```
-DESCRIPTION:
-Manage services
-
-USAGE:
-    rpk services [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show service summary report              
-    add <name>         Add a new service                        
-    list               List all services                        
-    get <name>         Get a service by name                    
-    describe <name>    Show detailed information about a service
-    set <name>         Update service properties                
-    del <name>         Delete a service                         
-```
-
-## `rpk services summary`
-```
-DESCRIPTION:
-Show service summary report
-
-USAGE:
-    rpk services summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services add`
-```
-DESCRIPTION:
-Add a new service
-
-USAGE:
-    rpk services add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services list`
-```
-DESCRIPTION:
-List all services
-
-USAGE:
-    rpk services list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services get`
-```
-DESCRIPTION:
-Get a service by name
-
-USAGE:
-    rpk services get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services describe`
-```
-DESCRIPTION:
-Show detailed information about a service
-
-USAGE:
-    rpk services describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services set`
-```
-DESCRIPTION:
-Update service properties
-
-USAGE:
-    rpk services set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help        Prints help information             
-        --ip          The ip address of the service       
-        --port        The port the service is running on  
-        --protocol    The service protocol                
-        --url         The service URL                     
-        --runs-on     The system the service is running on
-```
-
-## `rpk services del`
-```
-DESCRIPTION:
-Delete a service
-
-USAGE:
-    rpk services del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ap`
-```
-DESCRIPTION:
-Show access point hardware report
-
-USAGE:
-    rpk ap [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers`
-```
-DESCRIPTION:
-Manage servers
-
-USAGE:
-    rpk servers [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show a summarized hardware report for all servers
-    add <name>         Add a new server                                 
-    get <name>         List servers or get a server by name             
-    describe <name>    Show detailed information about a server         
-    set <name>         Update server properties                         
-    del <name>         Delete a server                                  
-    tree <name>        Displays a dependency tree for the server        
-    cpu                Manage server CPUs                               
-    drive              Manage server drives                             
-    gpu                Manage server GPUs                               
-    nic                Manage server NICs                               
-```
-
-## `rpk servers summary`
-```
-DESCRIPTION:
-Show a summarized hardware report for all servers
-
-USAGE:
-    rpk servers summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers add`
-```
-DESCRIPTION:
-Add a new server
-
-USAGE:
-    rpk servers add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers get`
-```
-DESCRIPTION:
-List servers or get a server by name
-
-USAGE:
-    rpk servers get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers describe`
-```
-DESCRIPTION:
-Show detailed information about a server
-
-USAGE:
-    rpk servers describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers set`
-```
-DESCRIPTION:
-Update server properties
-
-USAGE:
-    rpk servers set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help        Prints help information
-        --ram <GB>                           
-        --ipmi                               
-```
-
-## `rpk servers del`
-```
-DESCRIPTION:
-Delete a server
-
-USAGE:
-    rpk servers del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers tree`
-```
-DESCRIPTION:
-Displays a dependency tree for the server
-
-USAGE:
-    rpk servers tree <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers cpu`
-```
-DESCRIPTION:
-Manage server CPUs
-
-USAGE:
-    rpk servers cpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a CPU to a server     
-    set <name>    Update a CPU on a server  
-    del <name>    Remove a CPU from a server
-```
-
-## `rpk servers cpu add`
-```
-DESCRIPTION:
-Add a CPU to a server
-
-USAGE:
-    rpk servers cpu add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                 Prints help information
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
-```
-
-## `rpk servers cpu set`
-```
-DESCRIPTION:
-Update a CPU on a server
-
-USAGE:
-    rpk servers cpu set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                 Prints help information
-        --index <INDEX>                               
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
-```
-
-## `rpk servers cpu del`
-```
-DESCRIPTION:
-Remove a CPU from a server
-
-USAGE:
-    rpk servers cpu del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers drive`
-```
-DESCRIPTION:
-Manage server drives
-
-USAGE:
-    rpk servers drive [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a drive to a server     
-    set <name>    Update a drive on a server  
-    del <name>    Remove a drive from a server
-```
-
-## `rpk servers drive add`
-```
-DESCRIPTION:
-Add a drive to a server
-
-USAGE:
-    rpk servers drive add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help           Prints help information
-        --type <TYPE>                           
-        --size <SIZE>                           
-```
-
-## `rpk servers drive set`
-```
-DESCRIPTION:
-Update a drive on a server
-
-USAGE:
-    rpk servers drive set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --size <SIZE>                             
-```
-
-## `rpk servers drive del`
-```
-DESCRIPTION:
-Remove a drive from a server
-
-USAGE:
-    rpk servers drive del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers gpu`
-```
-DESCRIPTION:
-Manage server GPUs
-
-USAGE:
-    rpk servers gpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a GPU to a server     
-    set <name>    Update a GPU on a server  
-    del <name>    Remove a GPU from a server
-```
-
-## `rpk servers gpu add`
-```
-DESCRIPTION:
-Add a GPU to a server
-
-USAGE:
-    rpk servers gpu add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --model <MODEL>                           
-        --vram <VRAM>                             
-```
-
-## `rpk servers gpu set`
-```
-DESCRIPTION:
-Update a GPU on a server
-
-USAGE:
-    rpk servers gpu set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --model <MODEL>                           
-        --vram <VRAM>                             
-```
-
-## `rpk servers gpu del`
-```
-DESCRIPTION:
-Remove a GPU from a server
-
-USAGE:
-    rpk servers gpu del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers nic`
-```
-DESCRIPTION:
-Manage server NICs
-
-USAGE:
-    rpk servers nic [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a NIC to a server     
-    set <name>    Update a NIC on a server  
-    del <name>    Remove a NIC from a server
-```
-
-## `rpk servers nic add`
-```
-DESCRIPTION:
-Add a NIC to a server
-
-USAGE:
-    rpk servers nic add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
-```
-
-## `rpk servers nic set`
-```
-DESCRIPTION:
-Update a NIC on a server
-
-USAGE:
-    rpk servers nic set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
-```
-
-## `rpk servers nic del`
-```
-DESCRIPTION:
-Remove a NIC from a server
-
-USAGE:
-    rpk servers nic del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
+- [rpk](Commands.md#rpk)
+  - [switches](Commands.md#rpk-switches)
+    - [summary](Commands.md#rpk-switches-summary)
+    - [add](Commands.md#rpk-switches-add)
+    - [list](Commands.md#rpk-switches-list)
+    - [get](Commands.md#rpk-switches-get)
+    - [describe](Commands.md#rpk-switches-describe)
+    - [set](Commands.md#rpk-switches-set)
+    - [del](Commands.md#rpk-switches-del)
+  - [systems](Commands.md#rpk-systems)
+    - [summary](Commands.md#rpk-systems-summary)
+    - [add](Commands.md#rpk-systems-add)
+    - [list](Commands.md#rpk-systems-list)
+    - [get](Commands.md#rpk-systems-get)
+    - [describe](Commands.md#rpk-systems-describe)
+    - [set](Commands.md#rpk-systems-set)
+    - [del](Commands.md#rpk-systems-del)
+  - [accesspoints](Commands.md#rpk-accesspoints)
+    - [summary](Commands.md#rpk-accesspoints-summary)
+    - [add](Commands.md#rpk-accesspoints-add)
+    - [list](Commands.md#rpk-accesspoints-list)
+    - [get](Commands.md#rpk-accesspoints-get)
+    - [describe](Commands.md#rpk-accesspoints-describe)
+    - [set](Commands.md#rpk-accesspoints-set)
+    - [del](Commands.md#rpk-accesspoints-del)
+  - [ups](Commands.md#rpk-ups)
+    - [summary](Commands.md#rpk-ups-summary)
+    - [add](Commands.md#rpk-ups-add)
+    - [list](Commands.md#rpk-ups-list)
+    - [get](Commands.md#rpk-ups-get)
+    - [describe](Commands.md#rpk-ups-describe)
+    - [set](Commands.md#rpk-ups-set)
+    - [del](Commands.md#rpk-ups-del)
+  - [desktops](Commands.md#rpk-desktops)
+    - [add](Commands.md#rpk-desktops-add)
+    - [list](Commands.md#rpk-desktops-list)
+    - [get](Commands.md#rpk-desktops-get)
+    - [describe](Commands.md#rpk-desktops-describe)
+    - [set](Commands.md#rpk-desktops-set)
+    - [del](Commands.md#rpk-desktops-del)
+    - [cpu](Commands.md#rpk-desktops-cpu)
+      - [add](Commands.md#rpk-desktops-cpu-add)
+      - [set](Commands.md#rpk-desktops-cpu-set)
+      - [del](Commands.md#rpk-desktops-cpu-del)
+    - [drive](Commands.md#rpk-desktops-drive)
+      - [add](Commands.md#rpk-desktops-drive-add)
+      - [set](Commands.md#rpk-desktops-drive-set)
+      - [del](Commands.md#rpk-desktops-drive-del)
+    - [gpu](Commands.md#rpk-desktops-gpu)
+      - [add](Commands.md#rpk-desktops-gpu-add)
+      - [set](Commands.md#rpk-desktops-gpu-set)
+      - [del](Commands.md#rpk-desktops-gpu-del)
+    - [nic](Commands.md#rpk-desktops-nic)
+      - [add](Commands.md#rpk-desktops-nic-add)
+      - [set](Commands.md#rpk-desktops-nic-set)
+      - [del](Commands.md#rpk-desktops-nic-del)
+  - [services](Commands.md#rpk-services)
+    - [summary](Commands.md#rpk-services-summary)
+    - [add](Commands.md#rpk-services-add)
+    - [list](Commands.md#rpk-services-list)
+    - [get](Commands.md#rpk-services-get)
+    - [describe](Commands.md#rpk-services-describe)
+    - [set](Commands.md#rpk-services-set)
+    - [del](Commands.md#rpk-services-del)
+  - [ap](Commands.md#rpk-ap)
+  - [desktops](Commands.md#rpk-desktops)
+  - [ups](Commands.md#rpk-ups)
+  - [servers](Commands.md#rpk-servers)
+    - [summary](Commands.md#rpk-servers-summary)
+    - [add](Commands.md#rpk-servers-add)
+    - [get](Commands.md#rpk-servers-get)
+    - [describe](Commands.md#rpk-servers-describe)
+    - [set](Commands.md#rpk-servers-set)
+    - [del](Commands.md#rpk-servers-del)
+    - [tree](Commands.md#rpk-servers-tree)
+    - [cpu](Commands.md#rpk-servers-cpu)
+      - [add](Commands.md#rpk-servers-cpu-add)
+      - [set](Commands.md#rpk-servers-cpu-set)
+      - [del](Commands.md#rpk-servers-cpu-del)
+    - [drive](Commands.md#rpk-servers-drive)
+      - [add](Commands.md#rpk-servers-drive-add)
+      - [set](Commands.md#rpk-servers-drive-set)
+      - [del](Commands.md#rpk-servers-drive-del)
+    - [gpu](Commands.md#rpk-servers-gpu)
+      - [add](Commands.md#rpk-servers-gpu-add)
+      - [set](Commands.md#rpk-servers-gpu-set)
+      - [del](Commands.md#rpk-servers-gpu-del)
+    - [nic](Commands.md#rpk-servers-nic)
+      - [add](Commands.md#rpk-servers-nic-add)
+      - [set](Commands.md#rpk-servers-nic-set)
+      - [del](Commands.md#rpk-servers-nic-del)

+ 20 - 0
RackPeek.Domain/Resources/Services/UseCases/GetServerSystemTreeUseCase.cs

@@ -0,0 +1,20 @@
+using RackPeek.Domain.Resources.Hardware.Servers;
+using RackPeek.Domain.Resources.SystemResources;
+
+namespace RackPeek.Domain.Resources.Services.UseCases;
+
+public class GetSystemServiceTreeUseCase(
+    ISystemRepository systemRepository,
+    IServiceRepository serviceRepository)
+{
+    public async Task<SystemDependencyTree?> ExecuteAsync(string systemName)
+    {
+        var system = await systemRepository.GetByNameAsync(systemName);
+        if (system is null) return null;
+
+        var services = await serviceRepository.GetBySystemHostAsync(system.Name);
+
+        return new SystemDependencyTree(system, services);
+        
+    }
+}

+ 6 - 2
RackPeek/CliBootstrap.cs

@@ -155,7 +155,7 @@ public static class CliBootstrap
         services.AddScoped<GetSystemUseCase>();
         services.AddScoped<UpdateSystemUseCase>();
         services.AddScoped<SystemReportUseCase>();
-
+        services.AddScoped<GetSystemServiceTreeUseCase>();
 
         // System commands
         services.AddScoped<SystemSetCommand>();
@@ -165,6 +165,7 @@ public static class CliBootstrap
         services.AddScoped<SystemDeleteCommand>();
         services.AddScoped<SystemAddCommand>();
         services.AddScoped<SystemReportCommand>();
+        services.AddScoped<SystemTreeCommand>();
 
         // AccessPoint use cases
         services.AddScoped<AddAccessPointUseCase>();
@@ -271,7 +272,6 @@ public static class CliBootstrap
         services.AddScoped<ServiceDeleteCommand>();
         services.AddScoped<ServiceAddCommand>();
         services.AddScoped<ServiceReportCommand>();
-        
         // Spectre bootstrap
         app.Configure(config =>
         {
@@ -409,6 +409,9 @@ public static class CliBootstrap
 
                     system.AddCommand<SystemDeleteCommand>("del")
                         .WithDescription("Delete a system");
+                    
+                    system.AddCommand<SystemTreeCommand>("tree")
+                        .WithDescription("Displays a dependency tree for the system.");
                 });
 
                 config.AddBranch("accesspoints", ap =>
@@ -532,6 +535,7 @@ public static class CliBootstrap
 
                     service.AddCommand<ServiceDeleteCommand>("del")
                         .WithDescription("Delete a service");
+
                 });
 
                 // ----------------------------

+ 4 - 1
RackPeek/Commands/Systems/SystemNameSettings.cs

@@ -1,8 +1,11 @@
+using System.ComponentModel;
 using Spectre.Console.Cli;
 
 namespace RackPeek.Commands.Systems;
 
 public class SystemNameSettings : CommandSettings
 {
-    [CommandArgument(0, "<name>")] public string Name { get; set; } = default!;
+    [CommandArgument(0, "<name>")] 
+    [Description("The name of the system.")]
+    public string Name { get; set; } = default!;
 }

+ 32 - 0
RackPeek/Commands/Systems/SystemTreeCommand.cs

@@ -0,0 +1,32 @@
+using RackPeek.Domain.Resources.Services.UseCases;
+using Spectre.Console;
+using Spectre.Console.Cli;
+
+namespace RackPeek.Commands.Systems;
+
+public sealed class SystemTreeCommand(GetSystemServiceTreeUseCase useCase) : AsyncCommand<SystemNameSettings>
+{
+    public override async Task<int> ExecuteAsync(
+        CommandContext context,
+        SystemNameSettings settings,
+        CancellationToken cancellationToken)
+    {
+        var tree = await useCase.ExecuteAsync(settings.Name);
+
+        if (tree is null)
+        {
+            AnsiConsole.MarkupLine($"[red]System '{settings.Name}' not found.[/]");
+            return -1;
+        }
+
+        var root = new Tree($"[bold]{tree.System.Name}[/]");
+
+        foreach (var system in tree.Services)
+        {
+            var systemNode = root.AddNode($"[green]Service:[/] {system.Name}");
+        }
+
+        AnsiConsole.Write(root);
+        return 0;
+    }
+}

+ 33 - 0
Tests/EndToEnd/SystemYamlE2ETests.cs

@@ -118,4 +118,37 @@ public class SystemYamlE2ETests(TempYamlCliFixture fs, ITestOutputHelper outputH
 
                      """, output);
     }
+    
+    [Fact]
+    public async Task system_tree_cli_workflow_test()
+    {
+        await File.WriteAllTextAsync(Path.Combine(fs.Root, "config.yaml"), "");
+       
+        var (output, yaml) = await ExecuteAsync("systems", "add", "host01");
+        Assert.Equal("System 'host01' added.\n", output);
+        
+        (output, yaml) = await ExecuteAsync("services", "add", "immich");
+        Assert.Equal("Service 'immich' added.\n", output);
+        
+        (output, yaml) = await ExecuteAsync("services", "add", "paperless");
+        Assert.Equal("Service 'paperless' added.\n", output);
+        
+        (output, yaml) = await ExecuteAsync(
+            "services", "set", "immich",
+            "--runs-on", "host01"
+        );
+        
+        (output, yaml) = await ExecuteAsync(
+            "services", "set", "paperless",
+            "--runs-on", "host01"
+        );
+
+        (output, yaml) = await ExecuteAsync("systems", "tree", "host01");
+        Assert.Equal("""
+                     host01
+                     ├── Service: immich
+                     └── Service: paperless
+                     
+                     """, output);
+    }
 }

+ 10 - 7
generate_commands_markdown.sh

@@ -108,7 +108,7 @@ generate_help_recursive() {
   anchor_link=$(echo "$anchor_text" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
 
   # 4. Append to Tree Temp File
-  echo "${indent}- [${tree_label}](#${anchor_link})" >> "$TREE_TEMP"
+  echo "${indent}- [${tree_label}](Commands.md#${anchor_link})" >> "$TREE_TEMP"
   # -----------------------------
 
   if [[ -n "${VISITED["$map_key"]:-}" ]]; then
@@ -158,16 +158,19 @@ echo "Generating documentation..."
 # Start recursion
 generate_help_recursive
 
-# Combine files into the final output
+# Write command index
 {
-  echo "# CLI Commands"
+  echo "# CLI Command Index"
   echo ""
-  echo "## Command Tree"
   cat "$TREE_TEMP"
-  echo ""
-  echo "---"
+} > "CommandIndex.md"
+
+# Write full command documentation
+{
+  echo "# CLI Commands"
   echo ""
   cat "$BODY_TEMP"
-} > "$OUTPUT_FILE"
+} > "Commands.md"
+
 
 echo "Generated $OUTPUT_FILE successfully."