Sfoglia il codice sorgente

Added missing spectre cli command descriptions

Tim Jones 2 mesi fa
parent
commit
84d92e6fd2
4 ha cambiato i file con 1058 aggiunte e 883 eliminazioni
  1. 76 75
      CommandIndex.md
  2. 645 518
      Commands.md
  3. 76 75
      README.md
  4. 261 215
      RackPeek/CliBootstrap.cs

+ 76 - 75
CommandIndex.md

@@ -1,93 +1,94 @@
+
 - [rpk](Commands.md#rpk)
-  - [summary](Commands.md#rpk-summary) - Show a summarized report for all resources
-  - [servers](Commands.md#rpk-servers) - Manage servers
+  - [summary](Commands.md#rpk-summary) - Show a summarized report of all resources in the system
+  - [servers](Commands.md#rpk-servers) - Manage servers and their components
     - [summary](Commands.md#rpk-servers-summary) - Show a summarized hardware report for all servers
-    - [add](Commands.md#rpk-servers-add) - Add a new server
-    - [get](Commands.md#rpk-servers-get) - List servers or get a server by name
-    - [describe](Commands.md#rpk-servers-describe) - Show detailed information about a server
-    - [set](Commands.md#rpk-servers-set) - Update server properties
-    - [del](Commands.md#rpk-servers-del) - Delete a server
-    - [tree](Commands.md#rpk-servers-tree) - Displays a dependency tree for the server
-    - [cpu](Commands.md#rpk-servers-cpu) - Manage server CPUs
-      - [add](Commands.md#rpk-servers-cpu-add) - Add a CPU to a server
-      - [set](Commands.md#rpk-servers-cpu-set) - Update a CPU on a server
+    - [add](Commands.md#rpk-servers-add) - Add a new server to the inventory
+    - [get](Commands.md#rpk-servers-get) - List all servers or retrieve a specific server by name
+    - [describe](Commands.md#rpk-servers-describe) - Display detailed information about a specific server
+    - [set](Commands.md#rpk-servers-set) - Update properties of an existing server
+    - [del](Commands.md#rpk-servers-del) - Delete a server from the inventory
+    - [tree](Commands.md#rpk-servers-tree) - Display the dependency tree of a server
+    - [cpu](Commands.md#rpk-servers-cpu) - Manage CPUs attached to a server
+      - [add](Commands.md#rpk-servers-cpu-add) - Add a CPU to a specific server
+      - [set](Commands.md#rpk-servers-cpu-set) - Update configuration of a server CPU
       - [del](Commands.md#rpk-servers-cpu-del) - Remove a CPU from a server
-    - [drive](Commands.md#rpk-servers-drive) - Manage server drives
-      - [add](Commands.md#rpk-servers-drive-add) - Add a drive to a server
-      - [set](Commands.md#rpk-servers-drive-set) - Update a drive on a server
+    - [drive](Commands.md#rpk-servers-drive) - Manage drives attached to a server
+      - [add](Commands.md#rpk-servers-drive-add) - Add a storage drive to a server
+      - [set](Commands.md#rpk-servers-drive-set) - Update properties of a server drive
       - [del](Commands.md#rpk-servers-drive-del) - Remove a drive from a server
-    - [gpu](Commands.md#rpk-servers-gpu) - Manage server GPUs
+    - [gpu](Commands.md#rpk-servers-gpu) - Manage GPUs attached to a server
       - [add](Commands.md#rpk-servers-gpu-add) - Add a GPU to a server
-      - [set](Commands.md#rpk-servers-gpu-set) - Update a GPU on a server
+      - [set](Commands.md#rpk-servers-gpu-set) - Update properties of a server GPU
       - [del](Commands.md#rpk-servers-gpu-del) - Remove a GPU from a server
-    - [nic](Commands.md#rpk-servers-nic) - Manage server NICs
+    - [nic](Commands.md#rpk-servers-nic) - Manage network interface cards (NICs) for a server
       - [add](Commands.md#rpk-servers-nic-add) - Add a NIC to a server
-      - [set](Commands.md#rpk-servers-nic-set) - Update a NIC on a server
+      - [set](Commands.md#rpk-servers-nic-set) - Update properties of a server NIC
       - [del](Commands.md#rpk-servers-nic-del) - Remove a NIC from a server
-  - [switches](Commands.md#rpk-switches) - Manage switches
-    - [summary](Commands.md#rpk-switches-summary) - Show switch hardware report
-    - [add](Commands.md#rpk-switches-add) - Add a new switch
-    - [list](Commands.md#rpk-switches-list) - List switches
-    - [get](Commands.md#rpk-switches-get) - Get a switches by name
+  - [switches](Commands.md#rpk-switches) - Manage network switches
+    - [summary](Commands.md#rpk-switches-summary) - Show a hardware report for all switches
+    - [add](Commands.md#rpk-switches-add) - Add a new network switch to the inventory
+    - [list](Commands.md#rpk-switches-list) - List all switches in the system
+    - [get](Commands.md#rpk-switches-get) - Retrieve details of a specific switch by name
     - [describe](Commands.md#rpk-switches-describe) - Show detailed information about a switch
-    - [set](Commands.md#rpk-switches-set) - Update switch properties
-    - [del](Commands.md#rpk-switches-del) - Delete a switch
-  - [systems](Commands.md#rpk-systems) - Manage systems
-    - [summary](Commands.md#rpk-systems-summary) - Show system report
-    - [add](Commands.md#rpk-systems-add) - Add a new system
-    - [list](Commands.md#rpk-systems-list) - List systems
-    - [get](Commands.md#rpk-systems-get) - Get a system by name
-    - [describe](Commands.md#rpk-systems-describe) - Show detailed information about a system
-    - [set](Commands.md#rpk-systems-set) - Update system properties
-    - [del](Commands.md#rpk-systems-del) - Delete a system
-    - [tree](Commands.md#rpk-systems-tree) - Displays a dependency tree for the system
+    - [set](Commands.md#rpk-switches-set) - Update properties of a switch
+    - [del](Commands.md#rpk-switches-del) - Delete a switch from the inventory
+  - [systems](Commands.md#rpk-systems) - Manage systems and their dependencies
+    - [summary](Commands.md#rpk-systems-summary) - Show a summary report for all systems
+    - [add](Commands.md#rpk-systems-add) - Add a new system to the inventory
+    - [list](Commands.md#rpk-systems-list) - List all systems
+    - [get](Commands.md#rpk-systems-get) - Retrieve a system by name
+    - [describe](Commands.md#rpk-systems-describe) - Display detailed information about a system
+    - [set](Commands.md#rpk-systems-set) - Update properties of a system
+    - [del](Commands.md#rpk-systems-del) - Delete a system from the inventory
+    - [tree](Commands.md#rpk-systems-tree) - Display the dependency tree for a system
   - [accesspoints](Commands.md#rpk-accesspoints) - Manage access points
-    - [summary](Commands.md#rpk-accesspoints-summary) - Show access point hardware report
+    - [summary](Commands.md#rpk-accesspoints-summary) - Show a hardware report for all access points
     - [add](Commands.md#rpk-accesspoints-add) - Add a new access point
-    - [list](Commands.md#rpk-accesspoints-list) - List access points
-    - [get](Commands.md#rpk-accesspoints-get) - Get an access point by name
+    - [list](Commands.md#rpk-accesspoints-list) - List all access points
+    - [get](Commands.md#rpk-accesspoints-get) - Retrieve an access point by name
     - [describe](Commands.md#rpk-accesspoints-describe) - Show detailed information about an access point
-    - [set](Commands.md#rpk-accesspoints-set) - Update access point properties
+    - [set](Commands.md#rpk-accesspoints-set) - Update properties of an access point
     - [del](Commands.md#rpk-accesspoints-del) - Delete an access point
   - [ups](Commands.md#rpk-ups) - Manage UPS units
-    - [summary](Commands.md#rpk-ups-summary) - Show UPS hardware report
-    - [add](Commands.md#rpk-ups-add) - Add a new UPS
-    - [list](Commands.md#rpk-ups-list) - List UPS units
-    - [get](Commands.md#rpk-ups-get) - Get a UPS by name
-    - [describe](Commands.md#rpk-ups-describe) - Show detailed information about a UPS
-    - [set](Commands.md#rpk-ups-set) - Update UPS properties
-    - [del](Commands.md#rpk-ups-del) - Delete a UPS
-  - [desktops](Commands.md#rpk-desktops) - Manage 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)
-    - [summary](Commands.md#rpk-desktops-summary) - Show desktop hardware report
-    - [tree](Commands.md#rpk-desktops-tree)
-    - [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) - Manage services
-    - [summary](Commands.md#rpk-services-summary) - Show service summary report
+    - [summary](Commands.md#rpk-ups-summary) - Show a hardware report for all UPS units
+    - [add](Commands.md#rpk-ups-add) - Add a new UPS unit
+    - [list](Commands.md#rpk-ups-list) - List all UPS units
+    - [get](Commands.md#rpk-ups-get) - Retrieve a UPS unit by name
+    - [describe](Commands.md#rpk-ups-describe) - Show detailed information about a UPS unit
+    - [set](Commands.md#rpk-ups-set) - Update properties of a UPS unit
+    - [del](Commands.md#rpk-ups-del) - Delete a UPS unit
+  - [desktops](Commands.md#rpk-desktops) - Manage desktop computers and their components
+    - [add](Commands.md#rpk-desktops-add) - Add a new desktop
+    - [list](Commands.md#rpk-desktops-list) - List all desktops
+    - [get](Commands.md#rpk-desktops-get) - Retrieve a desktop by name
+    - [describe](Commands.md#rpk-desktops-describe) - Show detailed information about a desktop
+    - [set](Commands.md#rpk-desktops-set) - Update properties of a desktop
+    - [del](Commands.md#rpk-desktops-del) - Delete a desktop from the inventory
+    - [summary](Commands.md#rpk-desktops-summary) - Show a summarized hardware report for all desktops
+    - [tree](Commands.md#rpk-desktops-tree) - Display the dependency tree for a desktop
+    - [cpu](Commands.md#rpk-desktops-cpu) - Manage CPUs attached to desktops
+      - [add](Commands.md#rpk-desktops-cpu-add) - Add a CPU to a desktop
+      - [set](Commands.md#rpk-desktops-cpu-set) - Update a desktop CPU
+      - [del](Commands.md#rpk-desktops-cpu-del) - Remove a CPU from a desktop
+    - [drive](Commands.md#rpk-desktops-drive) - Manage storage drives attached to desktops
+      - [add](Commands.md#rpk-desktops-drive-add) - Add a drive to a desktop
+      - [set](Commands.md#rpk-desktops-drive-set) - Update a desktop drive
+      - [del](Commands.md#rpk-desktops-drive-del) - Remove a drive from a desktop
+    - [gpu](Commands.md#rpk-desktops-gpu) - Manage GPUs attached to desktops
+      - [add](Commands.md#rpk-desktops-gpu-add) - Add a GPU to a desktop
+      - [set](Commands.md#rpk-desktops-gpu-set) - Update a desktop GPU
+      - [del](Commands.md#rpk-desktops-gpu-del) - Remove a GPU from a desktop
+    - [nic](Commands.md#rpk-desktops-nic) - Manage network interface cards (NICs) for desktops
+      - [add](Commands.md#rpk-desktops-nic-add) - Add a NIC to a desktop
+      - [set](Commands.md#rpk-desktops-nic-set) - Update a desktop NIC
+      - [del](Commands.md#rpk-desktops-nic-del) - Remove a NIC from a desktop
+  - [services](Commands.md#rpk-services) - Manage services and their configurations
+    - [summary](Commands.md#rpk-services-summary) - Show a summary report for all services
     - [add](Commands.md#rpk-services-add) - Add a new service
     - [list](Commands.md#rpk-services-list) - List all services
-    - [get](Commands.md#rpk-services-get) - Get a service by name
+    - [get](Commands.md#rpk-services-get) - Retrieve a service by name
     - [describe](Commands.md#rpk-services-describe) - Show detailed information about a service
-    - [set](Commands.md#rpk-services-set) - Update service properties
+    - [set](Commands.md#rpk-services-set) - Update properties of a service
     - [del](Commands.md#rpk-services-del) - Delete a service
-    - [subnets](Commands.md#rpk-services-subnets) - List service subnets or filter by CIDR
+    - [subnets](Commands.md#rpk-services-subnets) - List subnets associated with a service, optionally filtered by CIDR

+ 645 - 518
Commands.md

@@ -9,58 +9,72 @@ OPTIONS:
     -h, --help    Prints help information
 
 COMMANDS:
-    switches        Manage switches                  
-    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     
-    ups             Show UPS hardware report         
-    servers         Manage servers                   
+    summary         Show a summarized report of all resources in the system
+    servers         Manage servers and their components                    
+    switches        Manage network switches                                
+    systems         Manage systems and their dependencies                  
+    accesspoints    Manage access points                                   
+    ups             Manage UPS units                                       
+    desktops        Manage desktop computers and their components          
+    services        Manage services and their configurations               
 ```
 
-## `rpk switches`
+## `rpk summary`
 ```
 DESCRIPTION:
-Manage switches
+Show a summarized report of all resources in the system
 
 USAGE:
-    rpk switches [OPTIONS] <COMMAND>
+    rpk summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers`
+```
+DESCRIPTION:
+Manage servers and their components
+
+USAGE:
+    rpk servers [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                         
+    summary            Show a summarized hardware report for all servers     
+    add <name>         Add a new server to the inventory                     
+    get <name>         List all servers or retrieve a specific server by name
+    describe <name>    Display detailed information about a specific server  
+    set <name>         Update properties of an existing server               
+    del <name>         Delete a server from the inventory                    
+    tree <name>        Display the dependency tree of a server               
+    cpu                Manage CPUs attached to a server                      
+    drive              Manage drives attached to a server                    
+    gpu                Manage GPUs attached to a server                      
+    nic                Manage network interface cards (NICs) for a server    
 ```
 
-## `rpk switches summary`
+## `rpk servers summary`
 ```
 DESCRIPTION:
-Show switch hardware report
+Show a summarized hardware report for all servers
 
 USAGE:
-    rpk switches summary [OPTIONS]
+    rpk servers summary [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk switches add`
+## `rpk servers add`
 ```
 DESCRIPTION:
-Add a new switch
+Add a new server to the inventory
 
 USAGE:
-    rpk switches add <name> [OPTIONS]
+    rpk servers add <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -69,25 +83,28 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk switches list`
+## `rpk servers get`
 ```
 DESCRIPTION:
-List switches
+List all servers or retrieve a specific server by name
 
 USAGE:
-    rpk switches list [OPTIONS]
+    rpk servers get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk switches get`
+## `rpk servers describe`
 ```
 DESCRIPTION:
-Get a switches by name
+Display detailed information about a specific server
 
 USAGE:
-    rpk switches get <name> [OPTIONS]
+    rpk servers describe <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -96,46 +113,45 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk switches describe`
+## `rpk servers set`
 ```
 DESCRIPTION:
-Show detailed information about a switch
+Update properties of an existing server
 
 USAGE:
-    rpk switches describe <name> [OPTIONS]
+    rpk servers set <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help        Prints help information
+        --ram <GB>                           
+        --ipmi                               
 ```
 
-## `rpk switches set`
+## `rpk servers del`
 ```
 DESCRIPTION:
-Update switch properties
+Delete a server from the inventory
 
 USAGE:
-    rpk switches set <name> [OPTIONS]
+    rpk servers del <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help       Prints help information
-        --Model                             
-        --managed                           
-        --poe                               
+    -h, --help    Prints help information
 ```
 
-## `rpk switches del`
+## `rpk servers tree`
 ```
 DESCRIPTION:
-Delete a switch
+Display the dependency tree of a server
 
 USAGE:
-    rpk switches del <name> [OPTIONS]
+    rpk servers tree <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -144,293 +160,322 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk systems`
+## `rpk servers cpu`
 ```
 DESCRIPTION:
-Manage systems
+Manage CPUs attached to a server
 
 USAGE:
-    rpk systems [OPTIONS] <COMMAND>
+    rpk servers cpu [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                         
+    add <name>    Add a CPU to a specific server      
+    set <name>    Update configuration of a server CPU
+    del <name>    Remove a CPU from a server          
 ```
 
-## `rpk systems summary`
+## `rpk servers cpu add`
 ```
 DESCRIPTION:
-Show system report
+Add a CPU to a specific server
 
 USAGE:
-    rpk systems summary [OPTIONS]
+    rpk servers cpu add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help                 Prints help information
+        --model <MODEL>                               
+        --cores <CORES>                               
+        --threads <THREADS>                           
 ```
 
-## `rpk systems add`
+## `rpk servers cpu set`
 ```
 DESCRIPTION:
-Add a new system
+Update configuration of a server CPU
 
 USAGE:
-    rpk systems add <name> [OPTIONS]
+    rpk servers cpu set <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help                 Prints help information
+        --index <INDEX>                               
+        --model <MODEL>                               
+        --cores <CORES>                               
+        --threads <THREADS>                           
 ```
 
-## `rpk systems list`
+## `rpk servers cpu del`
 ```
 DESCRIPTION:
-List systems
+Remove a CPU from a server
 
 USAGE:
-    rpk systems list [OPTIONS]
+    rpk servers cpu del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help             Prints help information
+        --index <INDEX>                           
 ```
 
-## `rpk systems get`
+## `rpk servers drive`
 ```
 DESCRIPTION:
-Get a system by name
+Manage drives attached to a server
 
 USAGE:
-    rpk systems get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
+    rpk servers drive [OPTIONS] <COMMAND>
 
 OPTIONS:
     -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a storage drive to a server    
+    set <name>    Update properties of a server drive
+    del <name>    Remove a drive from a server       
 ```
 
-## `rpk systems describe`
+## `rpk servers drive add`
 ```
 DESCRIPTION:
-Show detailed information about a system
+Add a storage drive to a server
 
 USAGE:
-    rpk systems describe <name> [OPTIONS]
+    rpk servers drive add <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help           Prints help information
+        --type <TYPE>                           
+        --size <SIZE>                           
 ```
 
-## `rpk systems set`
+## `rpk servers drive set`
 ```
 DESCRIPTION:
-Update system properties
+Update properties of a server drive
 
 USAGE:
-    rpk systems set <name> [OPTIONS]
+    rpk servers drive set <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help       Prints help information
-        --type                              
-        --os                                
-        --cores                             
-        --ram                               
-        --runs-on                           
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type <TYPE>                             
+        --size <SIZE>                             
 ```
 
-## `rpk systems del`
+## `rpk servers drive del`
 ```
 DESCRIPTION:
-Delete a system
+Remove a drive from a server
 
 USAGE:
-    rpk systems del <name> [OPTIONS]
+    rpk servers drive del <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help             Prints help information
+        --index <INDEX>                           
 ```
 
-## `rpk accesspoints`
+## `rpk servers gpu`
 ```
 DESCRIPTION:
-Manage access points
+Manage GPUs attached to a server
 
 USAGE:
-    rpk accesspoints [OPTIONS] <COMMAND>
+    rpk servers gpu [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                         
+    add <name>    Add a GPU to a server            
+    set <name>    Update properties of a server GPU
+    del <name>    Remove a GPU from a server       
 ```
 
-## `rpk accesspoints summary`
+## `rpk servers gpu add`
 ```
 DESCRIPTION:
-Show access point hardware report
+Add a GPU to a server
 
 USAGE:
-    rpk accesspoints summary [OPTIONS]
+    rpk servers gpu add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help             Prints help information
+        --model <MODEL>                           
+        --vram <VRAM>                             
 ```
 
-## `rpk accesspoints add`
+## `rpk servers gpu set`
 ```
 DESCRIPTION:
-Add a new access point
+Update properties of a server GPU
 
 USAGE:
-    rpk accesspoints add <name> [OPTIONS]
+    rpk servers gpu set <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>    The access point name
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --model <MODEL>                           
+        --vram <VRAM>                             
 ```
 
-## `rpk accesspoints list`
+## `rpk servers gpu del`
 ```
 DESCRIPTION:
-List access points
+Remove a GPU from a server
 
 USAGE:
-    rpk accesspoints list [OPTIONS]
+    rpk servers gpu del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help             Prints help information
+        --index <INDEX>                           
 ```
 
-## `rpk accesspoints get`
+## `rpk servers nic`
 ```
 DESCRIPTION:
-Get an access point by name
+Manage network interface cards (NICs) for a server
 
 USAGE:
-    rpk accesspoints get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
+    rpk servers nic [OPTIONS] <COMMAND>
 
 OPTIONS:
     -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a NIC to a server            
+    set <name>    Update properties of a server NIC
+    del <name>    Remove a NIC from a server       
 ```
 
-## `rpk accesspoints describe`
+## `rpk servers nic add`
 ```
 DESCRIPTION:
-Show detailed information about an access point
+Add a NIC to a server
 
 USAGE:
-    rpk accesspoints describe <name> [OPTIONS]
+    rpk servers nic add <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>    The access point name
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help             Prints help information
+        --type <TYPE>                             
+        --speed <SPEED>                           
+        --ports <PORTS>                           
 ```
 
-## `rpk accesspoints set`
+## `rpk servers nic set`
 ```
 DESCRIPTION:
-Update access point properties
+Update properties of a server NIC
 
 USAGE:
-    rpk accesspoints set <name> [OPTIONS]
+    rpk servers nic 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
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type <TYPE>                             
+        --speed <SPEED>                           
+        --ports <PORTS>                           
 ```
 
-## `rpk accesspoints del`
+## `rpk servers nic del`
 ```
 DESCRIPTION:
-Delete an access point
+Remove a NIC from a server
 
 USAGE:
-    rpk accesspoints del <name> [OPTIONS]
+    rpk servers nic del <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>    The access point name
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help             Prints help information
+        --index <INDEX>                           
 ```
 
-## `rpk ups`
+## `rpk switches`
 ```
 DESCRIPTION:
-Manage UPS units
+Manage network switches
 
 USAGE:
-    rpk ups [OPTIONS] <COMMAND>
+    rpk switches [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                         
+    summary            Show a hardware report for all switches      
+    add <name>         Add a new network switch to the inventory    
+    list               List all switches in the system              
+    get <name>         Retrieve details of a specific switch by name
+    describe <name>    Show detailed information about a switch     
+    set <name>         Update properties of a switch                
+    del <name>         Delete a switch from the inventory           
 ```
 
-## `rpk ups summary`
+## `rpk switches summary`
 ```
 DESCRIPTION:
-Show UPS hardware report
+Show a hardware report for all switches
 
 USAGE:
-    rpk ups summary [OPTIONS]
+    rpk switches summary [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk ups add`
+## `rpk switches add`
 ```
 DESCRIPTION:
-Add a new UPS
+Add a new network switch to the inventory
 
 USAGE:
-    rpk ups add <name> [OPTIONS]
+    rpk switches add <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -439,25 +484,25 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk ups list`
+## `rpk switches list`
 ```
 DESCRIPTION:
-List UPS units
+List all switches in the system
 
 USAGE:
-    rpk ups list [OPTIONS]
+    rpk switches list [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk ups get`
+## `rpk switches get`
 ```
 DESCRIPTION:
-Get a UPS by name
+Retrieve details of a specific switch by name
 
 USAGE:
-    rpk ups get <name> [OPTIONS]
+    rpk switches get <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -466,13 +511,13 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk ups describe`
+## `rpk switches describe`
 ```
 DESCRIPTION:
-Show detailed information about a UPS
+Show detailed information about a switch
 
 USAGE:
-    rpk ups describe <name> [OPTIONS]
+    rpk switches describe <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -481,30 +526,31 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk ups set`
+## `rpk switches set`
 ```
 DESCRIPTION:
-Update UPS properties
+Update properties of a switch
 
 USAGE:
-    rpk ups set <name> [OPTIONS]
+    rpk switches set <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-        --va                              
+    -h, --help       Prints help information
+        --Model                             
+        --managed                           
+        --poe                               
 ```
 
-## `rpk ups del`
+## `rpk switches del`
 ```
 DESCRIPTION:
-Delete a UPS
+Delete a switch from the inventory
 
 USAGE:
-    rpk ups del <name> [OPTIONS]
+    rpk switches del <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -513,31 +559,47 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops`
+## `rpk systems`
 ```
+DESCRIPTION:
+Manage systems and their dependencies
+
 USAGE:
-    rpk desktops [OPTIONS] <COMMAND>
+    rpk systems [OPTIONS] <COMMAND>
 
 OPTIONS:
     -h, --help    Prints help information
 
 COMMANDS:
-    add <name>          
-    list                
-    get <name>          
-    describe <name>     
-    set <name>          
-    del <name>          
-    cpu                 
-    drive               
-    gpu                 
-    nic                 
+    summary            Show a summary report for all systems      
+    add <name>         Add a new system to the inventory          
+    list               List all systems                           
+    get <name>         Retrieve a system by name                  
+    describe <name>    Display detailed information about a system
+    set <name>         Update properties of a system              
+    del <name>         Delete a system from the inventory         
+    tree <name>        Display the dependency tree for a system   
 ```
 
-## `rpk desktops add`
+## `rpk systems summary`
 ```
+DESCRIPTION:
+Show a summary report for all systems
+
 USAGE:
-    rpk desktops add <name> [OPTIONS]
+    rpk systems summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems add`
+```
+DESCRIPTION:
+Add a new system to the inventory
+
+USAGE:
+    rpk systems add <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
@@ -546,831 +608,896 @@ OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops list`
+## `rpk systems list`
 ```
+DESCRIPTION:
+List all systems
+
 USAGE:
-    rpk desktops list [OPTIONS]
+    rpk systems list [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops get`
+## `rpk systems get`
 ```
+DESCRIPTION:
+Retrieve a system by name
+
 USAGE:
-    rpk desktops get <name> [OPTIONS]
+    rpk systems get <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <name>    The name of the system
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops describe`
+## `rpk systems describe`
 ```
+DESCRIPTION:
+Display detailed information about a system
+
 USAGE:
-    rpk desktops describe <name> [OPTIONS]
+    rpk systems describe <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <name>    The name of the system
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops set`
+## `rpk systems set`
 ```
+DESCRIPTION:
+Update properties of a system
+
 USAGE:
-    rpk desktops set <name> [OPTIONS]
+    rpk systems set <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help     Prints help information
-        --model                           
+    -h, --help       Prints help information
+        --type                              
+        --os                                
+        --cores                             
+        --ram                               
+        --runs-on                           
 ```
 
-## `rpk desktops del`
+## `rpk systems del`
 ```
+DESCRIPTION:
+Delete a system from the inventory
+
 USAGE:
-    rpk desktops del <name> [OPTIONS]
+    rpk systems del <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <name>    The name of the system
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops cpu`
+## `rpk systems tree`
 ```
+DESCRIPTION:
+Display the dependency tree for a system
+
 USAGE:
-    rpk desktops cpu [OPTIONS] <COMMAND>
+    rpk systems tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the system
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints`
+```
+DESCRIPTION:
+Manage access points
+
+USAGE:
+    rpk accesspoints [OPTIONS] <COMMAND>
 
 OPTIONS:
     -h, --help    Prints help information
 
 COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
+    summary            Show a hardware report for all access points   
+    add <name>         Add a new access point                         
+    list               List all access points                         
+    get <name>         Retrieve an access point by name               
+    describe <name>    Show detailed information about an access point
+    set <name>         Update properties of an access point           
+    del <name>         Delete an access point                         
 ```
 
-## `rpk desktops cpu add`
+## `rpk accesspoints summary`
 ```
-USAGE:
-    rpk desktops cpu add <desktop> [OPTIONS]
+DESCRIPTION:
+Show a hardware report for all access points
 
-ARGUMENTS:
-    <desktop>    The desktop name
+USAGE:
+    rpk accesspoints summary [OPTIONS]
 
 OPTIONS:
-    -h, --help       Prints help information  
-        --model      The model name           
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
+    -h, --help    Prints help information
 ```
 
-## `rpk desktops cpu set`
+## `rpk accesspoints add`
 ```
+DESCRIPTION:
+Add a new access point
+
 USAGE:
-    rpk desktops cpu set <desktop> <index> [OPTIONS]
+    rpk accesspoints add <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The desktop name            
-    <index>      The index of the desktop cpu
+    <name>    The access point name
 
 OPTIONS:
-    -h, --help       Prints help information  
-        --model      The cpu model            
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
+    -h, --help    Prints help information
 ```
 
-## `rpk desktops cpu del`
+## `rpk accesspoints list`
 ```
-USAGE:
-    rpk desktops cpu del <desktop> <index> [OPTIONS]
+DESCRIPTION:
+List all access points
 
-ARGUMENTS:
-    <desktop>    The name of the desktop               
-    <index>      The index of the desktop cpu to remove
+USAGE:
+    rpk accesspoints list [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops drive`
+## `rpk accesspoints get`
 ```
+DESCRIPTION:
+Retrieve an access point by name
+
 USAGE:
-    rpk desktops drive [OPTIONS] <COMMAND>
+    rpk accesspoints get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
 
 OPTIONS:
     -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
 ```
 
-## `rpk desktops drive add`
+## `rpk accesspoints describe`
 ```
+DESCRIPTION:
+Show detailed information about an access point
+
 USAGE:
-    rpk desktops drive add <desktop> [OPTIONS]
+    rpk accesspoints describe <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The name of the desktop
+    <name>    The access point name
 
 OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
+    -h, --help    Prints help information
 ```
 
-## `rpk desktops drive set`
+## `rpk accesspoints set`
 ```
+DESCRIPTION:
+Update properties of an access point
+
 USAGE:
-    rpk desktops drive set <desktop> <index> [OPTIONS]
+    rpk accesspoints set <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The desktop name         
-    <index>      The drive index to update
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
+    -h, --help     Prints help information            
+        --model    The access point model name        
+        --speed    The speed of the access point in Gb
 ```
 
-## `rpk desktops drive del`
+## `rpk accesspoints del`
 ```
+DESCRIPTION:
+Delete an access point
+
 USAGE:
-    rpk desktops drive del <desktop> <index> [OPTIONS]
+    rpk accesspoints del <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The name of the desktop         
-    <index>      The index of the drive to remove
+    <name>    The access point name
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops gpu`
+## `rpk ups`
 ```
+DESCRIPTION:
+Manage UPS units
+
 USAGE:
-    rpk desktops gpu [OPTIONS] <COMMAND>
+    rpk ups [OPTIONS] <COMMAND>
 
 OPTIONS:
     -h, --help    Prints help information
 
 COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
+    summary            Show a hardware report for all UPS units  
+    add <name>         Add a new UPS unit                        
+    list               List all UPS units                        
+    get <name>         Retrieve a UPS unit by name               
+    describe <name>    Show detailed information about a UPS unit
+    set <name>         Update properties of a UPS unit           
+    del <name>         Delete a UPS unit                         
 ```
 
-## `rpk desktops gpu add`
+## `rpk ups summary`
 ```
-USAGE:
-    rpk desktops gpu add <desktop> [OPTIONS]
+DESCRIPTION:
+Show a hardware report for all UPS units
 
-ARGUMENTS:
-    <desktop>    The name of the desktop
+USAGE:
+    rpk ups summary [OPTIONS]
 
 OPTIONS:
-    -h, --help     Prints help information     
-        --model    The Gpu model               
-        --vram     The amount of gpu vram in Gb
+    -h, --help    Prints help information
 ```
 
-## `rpk desktops gpu set`
+## `rpk ups add`
 ```
+DESCRIPTION:
+Add a new UPS unit
+
 USAGE:
-    rpk desktops gpu set <desktop> <index> [OPTIONS]
+    rpk ups add <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the gpu to update
+    <name>     
 
 OPTIONS:
-    -h, --help     Prints help information     
-        --model    The gpu model name          
-        --vram     The amount of gpu vram in Gb
+    -h, --help    Prints help information
 ```
 
-## `rpk desktops gpu del`
+## `rpk ups list`
 ```
-USAGE:
-    rpk desktops gpu del <desktop> <index> [OPTIONS]
+DESCRIPTION:
+List all UPS units
 
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the Gpu to remove
+USAGE:
+    rpk ups list [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk desktops nic`
+## `rpk ups get`
 ```
+DESCRIPTION:
+Retrieve a UPS unit by name
+
 USAGE:
-    rpk desktops nic [OPTIONS] <COMMAND>
+    rpk ups get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
     -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
 ```
 
-## `rpk desktops nic add`
+## `rpk ups describe`
 ```
+DESCRIPTION:
+Show detailed information about a UPS unit
+
 USAGE:
-    rpk desktops nic add <desktop> [OPTIONS]
+    rpk ups describe <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The desktop name
+    <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              
+    -h, --help    Prints help information
 ```
 
-## `rpk desktops nic set`
+## `rpk ups set`
 ```
+DESCRIPTION:
+Update properties of a UPS unit
+
 USAGE:
-    rpk desktops nic set <desktop> <index> [OPTIONS]
+    rpk ups set <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
+    <name>     
 
 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              
+    -h, --help     Prints help information
+        --model                           
+        --va                              
 ```
 
-## `rpk desktops nic del`
+## `rpk ups del`
 ```
+DESCRIPTION:
+Delete a UPS unit
+
 USAGE:
-    rpk desktops nic del <desktop> <index> [OPTIONS]
+    rpk ups del <name> [OPTIONS]
 
 ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
+    <name>     
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk services`
+## `rpk desktops`
 ```
 DESCRIPTION:
-Manage services
+Manage desktop computers and their components
 
 USAGE:
-    rpk services [OPTIONS] <COMMAND>
+    rpk desktops [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                         
+    add <name>         Add a new desktop                                 
+    list               List all desktops                                 
+    get <name>         Retrieve a desktop by name                        
+    describe <name>    Show detailed information about a desktop         
+    set <name>         Update properties of a desktop                    
+    del <name>         Delete a desktop from the inventory               
+    summary            Show a summarized hardware report for all desktops
+    tree <name>        Display the dependency tree for a desktop         
+    cpu                Manage CPUs attached to desktops                  
+    drive              Manage storage drives attached to desktops        
+    gpu                Manage GPUs attached to desktops                  
+    nic                Manage network interface cards (NICs) for desktops
 ```
 
-## `rpk services summary`
+## `rpk desktops add`
 ```
 DESCRIPTION:
-Show service summary report
+Add a new desktop
 
 USAGE:
-    rpk services summary [OPTIONS]
+    rpk desktops add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk services add`
+## `rpk desktops list`
 ```
 DESCRIPTION:
-Add a new service
+List all desktops
 
 USAGE:
-    rpk services add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
+    rpk desktops list [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk services list`
+## `rpk desktops get`
 ```
 DESCRIPTION:
-List all services
+Retrieve a desktop by name
 
 USAGE:
-    rpk services list [OPTIONS]
+    rpk desktops get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk services get`
+## `rpk desktops describe`
 ```
 DESCRIPTION:
-Get a service by name
+Show detailed information about a desktop
 
 USAGE:
-    rpk services get <name> [OPTIONS]
+    rpk desktops describe <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>    The name of the service
+    <name>     
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk services describe`
+## `rpk desktops set`
 ```
 DESCRIPTION:
-Show detailed information about a service
+Update properties of a desktop
 
 USAGE:
-    rpk services describe <name> [OPTIONS]
+    rpk desktops set <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>    The name of the service
+    <name>     
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help     Prints help information
+        --model                           
 ```
 
-## `rpk services set`
+## `rpk desktops del`
 ```
 DESCRIPTION:
-Update service properties
+Delete a desktop from the inventory
 
 USAGE:
-    rpk services set <name> [OPTIONS]
+    rpk desktops del <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
+    -h, --help    Prints help information
 ```
 
-## `rpk services del`
+## `rpk desktops summary`
 ```
 DESCRIPTION:
-Delete a service
+Show a summarized hardware report for all desktops
 
 USAGE:
-    rpk services del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
+    rpk desktops summary [OPTIONS]
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk ap`
+## `rpk desktops tree`
 ```
 DESCRIPTION:
-Show access point hardware report
+Display the dependency tree for a desktop
 
 USAGE:
-    rpk ap [OPTIONS]
+    rpk desktops tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk servers`
+## `rpk desktops cpu`
 ```
 DESCRIPTION:
-Manage servers
+Manage CPUs attached to desktops
 
 USAGE:
-    rpk servers [OPTIONS] <COMMAND>
+    rpk desktops cpu [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                               
+    add <desktop>            Add a CPU to a desktop     
+    set <desktop> <index>    Update a desktop CPU       
+    del <desktop> <index>    Remove a CPU from a desktop
 ```
 
-## `rpk servers summary`
+## `rpk desktops cpu add`
 ```
 DESCRIPTION:
-Show a summarized hardware report for all servers
+Add a CPU to a desktop
 
 USAGE:
-    rpk servers summary [OPTIONS]
+    rpk desktops cpu add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help       Prints help information  
+        --model      The model name           
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
 ```
 
-## `rpk servers add`
+## `rpk desktops cpu set`
 ```
 DESCRIPTION:
-Add a new server
+Update a desktop CPU
 
 USAGE:
-    rpk servers add <name> [OPTIONS]
+    rpk desktops cpu set <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The desktop name            
+    <index>      The index of the desktop cpu
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help       Prints help information  
+        --model      The cpu model            
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
 ```
 
-## `rpk servers get`
+## `rpk desktops cpu del`
 ```
 DESCRIPTION:
-List servers or get a server by name
+Remove a CPU from a desktop
 
 USAGE:
-    rpk servers get <name> [OPTIONS]
+    rpk desktops cpu del <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The name of the desktop               
+    <index>      The index of the desktop cpu to remove
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk servers describe`
+## `rpk desktops drive`
 ```
 DESCRIPTION:
-Show detailed information about a server
+Manage storage drives attached to desktops
 
 USAGE:
-    rpk servers describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
+    rpk desktops drive [OPTIONS] <COMMAND>
 
 OPTIONS:
     -h, --help    Prints help information
+
+COMMANDS:
+    add <desktop>            Add a drive to a desktop     
+    set <desktop> <index>    Update a desktop drive       
+    del <desktop> <index>    Remove a drive from a desktop
 ```
 
-## `rpk servers set`
+## `rpk desktops drive add`
 ```
 DESCRIPTION:
-Update server properties
+Add a drive to a desktop
 
 USAGE:
-    rpk servers set <name> [OPTIONS]
+    rpk desktops drive add <desktop> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The name of the desktop
 
 OPTIONS:
-    -h, --help        Prints help information
-        --ram <GB>                           
-        --ipmi                               
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
 ```
 
-## `rpk servers del`
+## `rpk desktops drive set`
 ```
 DESCRIPTION:
-Delete a server
+Update a desktop drive
 
 USAGE:
-    rpk servers del <name> [OPTIONS]
+    rpk desktops drive set <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The desktop name         
+    <index>      The drive index to update
 
 OPTIONS:
-    -h, --help    Prints help information
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
 ```
 
-## `rpk servers tree`
+## `rpk desktops drive del`
 ```
 DESCRIPTION:
-Displays a dependency tree for the server
+Remove a drive from a desktop
 
 USAGE:
-    rpk servers tree <name> [OPTIONS]
+    rpk desktops drive del <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The name of the desktop         
+    <index>      The index of the drive to remove
 
 OPTIONS:
     -h, --help    Prints help information
 ```
 
-## `rpk servers cpu`
+## `rpk desktops gpu`
 ```
 DESCRIPTION:
-Manage server CPUs
+Manage GPUs attached to desktops
 
 USAGE:
-    rpk servers cpu [OPTIONS] <COMMAND>
+    rpk desktops gpu [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
+    add <desktop>            Add a GPU to a desktop     
+    set <desktop> <index>    Update a desktop GPU       
+    del <desktop> <index>    Remove a GPU from a desktop
 ```
 
-## `rpk servers cpu add`
+## `rpk desktops gpu add`
 ```
 DESCRIPTION:
-Add a CPU to a server
+Add a GPU to a desktop
 
 USAGE:
-    rpk servers cpu add <name> [OPTIONS]
+    rpk desktops gpu add <desktop> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The name of the desktop
 
 OPTIONS:
-    -h, --help                 Prints help information
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
+    -h, --help     Prints help information     
+        --model    The Gpu model               
+        --vram     The amount of gpu vram in Gb
 ```
 
-## `rpk servers cpu set`
+## `rpk desktops gpu set`
 ```
 DESCRIPTION:
-Update a CPU on a server
+Update a desktop GPU
 
 USAGE:
-    rpk servers cpu set <name> [OPTIONS]
+    rpk desktops gpu set <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The desktop name              
+    <index>      The index of the gpu to update
 
 OPTIONS:
-    -h, --help                 Prints help information
-        --index <INDEX>                               
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
+    -h, --help     Prints help information     
+        --model    The gpu model name          
+        --vram     The amount of gpu vram in Gb
 ```
 
-## `rpk servers cpu del`
+## `rpk desktops gpu del`
 ```
 DESCRIPTION:
-Remove a CPU from a server
+Remove a GPU from a desktop
 
 USAGE:
-    rpk servers cpu del <name> [OPTIONS]
+    rpk desktops gpu del <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The desktop name              
+    <index>      The index of the Gpu to remove
 
 OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
+    -h, --help    Prints help information
 ```
 
-## `rpk servers drive`
+## `rpk desktops nic`
 ```
 DESCRIPTION:
-Manage server drives
+Manage network interface cards (NICs) for desktops
 
 USAGE:
-    rpk servers drive [OPTIONS] <COMMAND>
+    rpk desktops nic [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
+    add <desktop>            Add a NIC to a desktop     
+    set <desktop> <index>    Update a desktop NIC       
+    del <desktop> <index>    Remove a NIC from a desktop
 ```
 
-## `rpk servers drive add`
+## `rpk desktops nic add`
 ```
 DESCRIPTION:
-Add a drive to a server
+Add a NIC to a desktop
 
 USAGE:
-    rpk servers drive add <name> [OPTIONS]
+    rpk desktops nic add <desktop> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The desktop name
 
 OPTIONS:
-    -h, --help           Prints help information
-        --type <TYPE>                           
-        --size <SIZE>                           
+    -h, --help     Prints help information          
+        --type     The nic port type e.g rj45 / sfp+
+        --speed    The port speed                   
+        --ports    The number of ports              
 ```
 
-## `rpk servers drive set`
+## `rpk desktops nic set`
 ```
 DESCRIPTION:
-Update a drive on a server
+Update a desktop NIC
 
 USAGE:
-    rpk servers drive set <name> [OPTIONS]
+    rpk desktops nic set <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The desktop name              
+    <index>      The index of the nic to remove
 
 OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --size <SIZE>                             
+    -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 servers drive del`
+## `rpk desktops nic del`
 ```
 DESCRIPTION:
-Remove a drive from a server
+Remove a NIC from a desktop
 
 USAGE:
-    rpk servers drive del <name> [OPTIONS]
+    rpk desktops nic del <desktop> <index> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <desktop>    The desktop name              
+    <index>      The index of the nic to remove
 
 OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
+    -h, --help    Prints help information
 ```
 
-## `rpk servers gpu`
+## `rpk services`
 ```
 DESCRIPTION:
-Manage server GPUs
+Manage services and their configurations
 
 USAGE:
-    rpk servers gpu [OPTIONS] <COMMAND>
+    rpk services [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
+    summary            Show a summary report for all services                             
+    add <name>         Add a new service                                                  
+    list               List all services                                                  
+    get <name>         Retrieve a service by name                                         
+    describe <name>    Show detailed information about a service                          
+    set <name>         Update properties of a service                                     
+    del <name>         Delete a service                                                   
+    subnets            List subnets associated with a service, optionally filtered by CIDR
 ```
 
-## `rpk servers gpu add`
+## `rpk services summary`
 ```
 DESCRIPTION:
-Add a GPU to a server
+Show a summary report for all services
 
 USAGE:
-    rpk servers gpu add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
+    rpk services summary [OPTIONS]
 
 OPTIONS:
-    -h, --help             Prints help information
-        --model <MODEL>                           
-        --vram <VRAM>                             
+    -h, --help    Prints help information
 ```
 
-## `rpk servers gpu set`
+## `rpk services add`
 ```
 DESCRIPTION:
-Update a GPU on a server
+Add a new service
 
 USAGE:
-    rpk servers gpu set <name> [OPTIONS]
+    rpk services add <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <name>    The name of the service
 
 OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --model <MODEL>                           
-        --vram <VRAM>                             
+    -h, --help    Prints help information
 ```
 
-## `rpk servers gpu del`
+## `rpk services list`
 ```
 DESCRIPTION:
-Remove a GPU from a server
+List all services
 
 USAGE:
-    rpk servers gpu del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
+    rpk services list [OPTIONS]
 
 OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
+    -h, --help    Prints help information
 ```
 
-## `rpk servers nic`
+## `rpk services get`
 ```
 DESCRIPTION:
-Manage server NICs
+Retrieve a service by name
 
 USAGE:
-    rpk servers nic [OPTIONS] <COMMAND>
+    rpk services get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
 
 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`
+## `rpk services describe`
 ```
 DESCRIPTION:
-Add a NIC to a server
+Show detailed information about a service
 
 USAGE:
-    rpk servers nic add <name> [OPTIONS]
+    rpk services describe <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <name>    The name of the service
 
 OPTIONS:
-    -h, --help             Prints help information
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
+    -h, --help    Prints help information
 ```
 
-## `rpk servers nic set`
+## `rpk services set`
 ```
 DESCRIPTION:
-Update a NIC on a server
+Update properties of a service
 
 USAGE:
-    rpk servers nic set <name> [OPTIONS]
+    rpk services set <name> [OPTIONS]
 
 ARGUMENTS:
     <name>     
 
 OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
+    -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 servers nic del`
+## `rpk services del`
 ```
 DESCRIPTION:
-Remove a NIC from a server
+Delete a service
 
 USAGE:
-    rpk servers nic del <name> [OPTIONS]
+    rpk services del <name> [OPTIONS]
 
 ARGUMENTS:
-    <name>     
+    <name>    The name of the service
 
 OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
+    -h, --help    Prints help information
+```
+
+## `rpk services subnets`
+```
+DESCRIPTION:
+List subnets associated with a service, optionally filtered by CIDR
+
+USAGE:
+    rpk services subnets [OPTIONS]
+
+OPTIONS:
+    -h, --help               Prints help information
+        --cidr <CIDR>                               
+        --prefix <PREFIX>                           
 ```
 

+ 76 - 75
README.md

@@ -54,96 +54,97 @@ The project is optimized for home labs and self-hosted environments, not enterpr
 ```
 
 ## Command Tree
+
 - [rpk](Commands.md#rpk)
-  - [summary](Commands.md#rpk-summary) - Show a summarized report for all resources
-  - [servers](Commands.md#rpk-servers) - Manage servers
+  - [summary](Commands.md#rpk-summary) - Show a summarized report of all resources in the system
+  - [servers](Commands.md#rpk-servers) - Manage servers and their components
     - [summary](Commands.md#rpk-servers-summary) - Show a summarized hardware report for all servers
-    - [add](Commands.md#rpk-servers-add) - Add a new server
-    - [get](Commands.md#rpk-servers-get) - List servers or get a server by name
-    - [describe](Commands.md#rpk-servers-describe) - Show detailed information about a server
-    - [set](Commands.md#rpk-servers-set) - Update server properties
-    - [del](Commands.md#rpk-servers-del) - Delete a server
-    - [tree](Commands.md#rpk-servers-tree) - Displays a dependency tree for the server
-    - [cpu](Commands.md#rpk-servers-cpu) - Manage server CPUs
-      - [add](Commands.md#rpk-servers-cpu-add) - Add a CPU to a server
-      - [set](Commands.md#rpk-servers-cpu-set) - Update a CPU on a server
+    - [add](Commands.md#rpk-servers-add) - Add a new server to the inventory
+    - [get](Commands.md#rpk-servers-get) - List all servers or retrieve a specific server by name
+    - [describe](Commands.md#rpk-servers-describe) - Display detailed information about a specific server
+    - [set](Commands.md#rpk-servers-set) - Update properties of an existing server
+    - [del](Commands.md#rpk-servers-del) - Delete a server from the inventory
+    - [tree](Commands.md#rpk-servers-tree) - Display the dependency tree of a server
+    - [cpu](Commands.md#rpk-servers-cpu) - Manage CPUs attached to a server
+      - [add](Commands.md#rpk-servers-cpu-add) - Add a CPU to a specific server
+      - [set](Commands.md#rpk-servers-cpu-set) - Update configuration of a server CPU
       - [del](Commands.md#rpk-servers-cpu-del) - Remove a CPU from a server
-    - [drive](Commands.md#rpk-servers-drive) - Manage server drives
-      - [add](Commands.md#rpk-servers-drive-add) - Add a drive to a server
-      - [set](Commands.md#rpk-servers-drive-set) - Update a drive on a server
+    - [drive](Commands.md#rpk-servers-drive) - Manage drives attached to a server
+      - [add](Commands.md#rpk-servers-drive-add) - Add a storage drive to a server
+      - [set](Commands.md#rpk-servers-drive-set) - Update properties of a server drive
       - [del](Commands.md#rpk-servers-drive-del) - Remove a drive from a server
-    - [gpu](Commands.md#rpk-servers-gpu) - Manage server GPUs
+    - [gpu](Commands.md#rpk-servers-gpu) - Manage GPUs attached to a server
       - [add](Commands.md#rpk-servers-gpu-add) - Add a GPU to a server
-      - [set](Commands.md#rpk-servers-gpu-set) - Update a GPU on a server
+      - [set](Commands.md#rpk-servers-gpu-set) - Update properties of a server GPU
       - [del](Commands.md#rpk-servers-gpu-del) - Remove a GPU from a server
-    - [nic](Commands.md#rpk-servers-nic) - Manage server NICs
+    - [nic](Commands.md#rpk-servers-nic) - Manage network interface cards (NICs) for a server
       - [add](Commands.md#rpk-servers-nic-add) - Add a NIC to a server
-      - [set](Commands.md#rpk-servers-nic-set) - Update a NIC on a server
+      - [set](Commands.md#rpk-servers-nic-set) - Update properties of a server NIC
       - [del](Commands.md#rpk-servers-nic-del) - Remove a NIC from a server
-  - [switches](Commands.md#rpk-switches) - Manage switches
-    - [summary](Commands.md#rpk-switches-summary) - Show switch hardware report
-    - [add](Commands.md#rpk-switches-add) - Add a new switch
-    - [list](Commands.md#rpk-switches-list) - List switches
-    - [get](Commands.md#rpk-switches-get) - Get a switches by name
+  - [switches](Commands.md#rpk-switches) - Manage network switches
+    - [summary](Commands.md#rpk-switches-summary) - Show a hardware report for all switches
+    - [add](Commands.md#rpk-switches-add) - Add a new network switch to the inventory
+    - [list](Commands.md#rpk-switches-list) - List all switches in the system
+    - [get](Commands.md#rpk-switches-get) - Retrieve details of a specific switch by name
     - [describe](Commands.md#rpk-switches-describe) - Show detailed information about a switch
-    - [set](Commands.md#rpk-switches-set) - Update switch properties
-    - [del](Commands.md#rpk-switches-del) - Delete a switch
-  - [systems](Commands.md#rpk-systems) - Manage systems
-    - [summary](Commands.md#rpk-systems-summary) - Show system report
-    - [add](Commands.md#rpk-systems-add) - Add a new system
-    - [list](Commands.md#rpk-systems-list) - List systems
-    - [get](Commands.md#rpk-systems-get) - Get a system by name
-    - [describe](Commands.md#rpk-systems-describe) - Show detailed information about a system
-    - [set](Commands.md#rpk-systems-set) - Update system properties
-    - [del](Commands.md#rpk-systems-del) - Delete a system
-    - [tree](Commands.md#rpk-systems-tree) - Displays a dependency tree for the system
+    - [set](Commands.md#rpk-switches-set) - Update properties of a switch
+    - [del](Commands.md#rpk-switches-del) - Delete a switch from the inventory
+  - [systems](Commands.md#rpk-systems) - Manage systems and their dependencies
+    - [summary](Commands.md#rpk-systems-summary) - Show a summary report for all systems
+    - [add](Commands.md#rpk-systems-add) - Add a new system to the inventory
+    - [list](Commands.md#rpk-systems-list) - List all systems
+    - [get](Commands.md#rpk-systems-get) - Retrieve a system by name
+    - [describe](Commands.md#rpk-systems-describe) - Display detailed information about a system
+    - [set](Commands.md#rpk-systems-set) - Update properties of a system
+    - [del](Commands.md#rpk-systems-del) - Delete a system from the inventory
+    - [tree](Commands.md#rpk-systems-tree) - Display the dependency tree for a system
   - [accesspoints](Commands.md#rpk-accesspoints) - Manage access points
-    - [summary](Commands.md#rpk-accesspoints-summary) - Show access point hardware report
+    - [summary](Commands.md#rpk-accesspoints-summary) - Show a hardware report for all access points
     - [add](Commands.md#rpk-accesspoints-add) - Add a new access point
-    - [list](Commands.md#rpk-accesspoints-list) - List access points
-    - [get](Commands.md#rpk-accesspoints-get) - Get an access point by name
+    - [list](Commands.md#rpk-accesspoints-list) - List all access points
+    - [get](Commands.md#rpk-accesspoints-get) - Retrieve an access point by name
     - [describe](Commands.md#rpk-accesspoints-describe) - Show detailed information about an access point
-    - [set](Commands.md#rpk-accesspoints-set) - Update access point properties
+    - [set](Commands.md#rpk-accesspoints-set) - Update properties of an access point
     - [del](Commands.md#rpk-accesspoints-del) - Delete an access point
   - [ups](Commands.md#rpk-ups) - Manage UPS units
-    - [summary](Commands.md#rpk-ups-summary) - Show UPS hardware report
-    - [add](Commands.md#rpk-ups-add) - Add a new UPS
-    - [list](Commands.md#rpk-ups-list) - List UPS units
-    - [get](Commands.md#rpk-ups-get) - Get a UPS by name
-    - [describe](Commands.md#rpk-ups-describe) - Show detailed information about a UPS
-    - [set](Commands.md#rpk-ups-set) - Update UPS properties
-    - [del](Commands.md#rpk-ups-del) - Delete a UPS
-  - [desktops](Commands.md#rpk-desktops) - Manage 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)
-    - [summary](Commands.md#rpk-desktops-summary) - Show desktop hardware report
-    - [tree](Commands.md#rpk-desktops-tree)
-    - [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) - Manage services
-    - [summary](Commands.md#rpk-services-summary) - Show service summary report
+    - [summary](Commands.md#rpk-ups-summary) - Show a hardware report for all UPS units
+    - [add](Commands.md#rpk-ups-add) - Add a new UPS unit
+    - [list](Commands.md#rpk-ups-list) - List all UPS units
+    - [get](Commands.md#rpk-ups-get) - Retrieve a UPS unit by name
+    - [describe](Commands.md#rpk-ups-describe) - Show detailed information about a UPS unit
+    - [set](Commands.md#rpk-ups-set) - Update properties of a UPS unit
+    - [del](Commands.md#rpk-ups-del) - Delete a UPS unit
+  - [desktops](Commands.md#rpk-desktops) - Manage desktop computers and their components
+    - [add](Commands.md#rpk-desktops-add) - Add a new desktop
+    - [list](Commands.md#rpk-desktops-list) - List all desktops
+    - [get](Commands.md#rpk-desktops-get) - Retrieve a desktop by name
+    - [describe](Commands.md#rpk-desktops-describe) - Show detailed information about a desktop
+    - [set](Commands.md#rpk-desktops-set) - Update properties of a desktop
+    - [del](Commands.md#rpk-desktops-del) - Delete a desktop from the inventory
+    - [summary](Commands.md#rpk-desktops-summary) - Show a summarized hardware report for all desktops
+    - [tree](Commands.md#rpk-desktops-tree) - Display the dependency tree for a desktop
+    - [cpu](Commands.md#rpk-desktops-cpu) - Manage CPUs attached to desktops
+      - [add](Commands.md#rpk-desktops-cpu-add) - Add a CPU to a desktop
+      - [set](Commands.md#rpk-desktops-cpu-set) - Update a desktop CPU
+      - [del](Commands.md#rpk-desktops-cpu-del) - Remove a CPU from a desktop
+    - [drive](Commands.md#rpk-desktops-drive) - Manage storage drives attached to desktops
+      - [add](Commands.md#rpk-desktops-drive-add) - Add a drive to a desktop
+      - [set](Commands.md#rpk-desktops-drive-set) - Update a desktop drive
+      - [del](Commands.md#rpk-desktops-drive-del) - Remove a drive from a desktop
+    - [gpu](Commands.md#rpk-desktops-gpu) - Manage GPUs attached to desktops
+      - [add](Commands.md#rpk-desktops-gpu-add) - Add a GPU to a desktop
+      - [set](Commands.md#rpk-desktops-gpu-set) - Update a desktop GPU
+      - [del](Commands.md#rpk-desktops-gpu-del) - Remove a GPU from a desktop
+    - [nic](Commands.md#rpk-desktops-nic) - Manage network interface cards (NICs) for desktops
+      - [add](Commands.md#rpk-desktops-nic-add) - Add a NIC to a desktop
+      - [set](Commands.md#rpk-desktops-nic-set) - Update a desktop NIC
+      - [del](Commands.md#rpk-desktops-nic-del) - Remove a NIC from a desktop
+  - [services](Commands.md#rpk-services) - Manage services and their configurations
+    - [summary](Commands.md#rpk-services-summary) - Show a summary report for all services
     - [add](Commands.md#rpk-services-add) - Add a new service
     - [list](Commands.md#rpk-services-list) - List all services
-    - [get](Commands.md#rpk-services-get) - Get a service by name
+    - [get](Commands.md#rpk-services-get) - Retrieve a service by name
     - [describe](Commands.md#rpk-services-describe) - Show detailed information about a service
-    - [set](Commands.md#rpk-services-set) - Update service properties
+    - [set](Commands.md#rpk-services-set) - Update properties of a service
     - [del](Commands.md#rpk-services-del) - Delete a service
-    - [subnets](Commands.md#rpk-services-subnets) - List service subnets or filter by CIDR
+    - [subnets](Commands.md#rpk-services-subnets) - List subnets associated with a service, optionally filtered by CIDR

+ 261 - 215
RackPeek/CliBootstrap.cs

@@ -67,283 +67,329 @@ public static class CliBootstrap
         services.AddCommands();
 
         // Spectre bootstrap
-        app.Configure(config =>
-        {
-            config.SetApplicationName("rpk");
-            config.ValidateExamples();
+app.Configure(config =>
+{
+    config.SetApplicationName("rpk");
+    config.ValidateExamples();
 
+    // Global summary
+    config.AddCommand<GetTotalSummaryCommand>("summary")
+        .WithDescription("Show a summarized report of all resources in the system.");
 
-            config.AddCommand<GetTotalSummaryCommand>("summary")
-                .WithDescription("Show a summarized report for all resources");
-            // ----------------------------
-            // Server commands (CRUD-style)
-            // ----------------------------
-            config.AddBranch("servers", server =>
-            {
-                server.SetDescription("Manage servers");
+    // ----------------------------
+    // Server commands (CRUD-style)
+    // ----------------------------
+    config.AddBranch("servers", server =>
+    {
+        server.SetDescription("Manage servers and their components.");
 
-                server.AddCommand<ServerReportCommand>("summary")
-                    .WithDescription("Show a summarized hardware report for all servers");
+        server.AddCommand<ServerReportCommand>("summary")
+            .WithDescription("Show a summarized hardware report for all servers.");
 
-                server.AddCommand<ServerAddCommand>("add")
-                    .WithDescription("Add a new server");
+        server.AddCommand<ServerAddCommand>("add")
+            .WithDescription("Add a new server to the inventory.");
 
-                server.AddCommand<ServerGetByNameCommand>("get")
-                    .WithDescription("List servers or get a server by name");
+        server.AddCommand<ServerGetByNameCommand>("get")
+            .WithDescription("List all servers or retrieve a specific server by name.");
 
-                server.AddCommand<ServerDescribeCommand>("describe")
-                    .WithDescription("Show detailed information about a server");
+        server.AddCommand<ServerDescribeCommand>("describe")
+            .WithDescription("Display detailed information about a specific server.");
 
-                server.AddCommand<ServerSetCommand>("set")
-                    .WithDescription("Update server properties");
+        server.AddCommand<ServerSetCommand>("set")
+            .WithDescription("Update properties of an existing server.");
 
-                server.AddCommand<ServerDeleteCommand>("del")
-                    .WithDescription("Delete a server");
+        server.AddCommand<ServerDeleteCommand>("del")
+            .WithDescription("Delete a server from the inventory.");
 
-                server.AddCommand<ServerTreeCommand>("tree")
-                    .WithDescription("Displays a dependency tree for the server.");
+        server.AddCommand<ServerTreeCommand>("tree")
+            .WithDescription("Display the dependency tree of a server.");
 
-                server.AddBranch("cpu", cpu =>
-                {
-                    cpu.SetDescription("Manage server CPUs");
+        // Server CPUs
+        server.AddBranch("cpu", cpu =>
+        {
+            cpu.SetDescription("Manage CPUs attached to a server.");
 
-                    cpu.AddCommand<ServerCpuAddCommand>("add")
-                        .WithDescription("Add a CPU to a server");
+            cpu.AddCommand<ServerCpuAddCommand>("add")
+                .WithDescription("Add a CPU to a specific server.");
 
-                    cpu.AddCommand<ServerCpuSetCommand>("set")
-                        .WithDescription("Update a CPU on a server");
+            cpu.AddCommand<ServerCpuSetCommand>("set")
+                .WithDescription("Update configuration of a server CPU.");
 
-                    cpu.AddCommand<ServerCpuRemoveCommand>("del")
-                        .WithDescription("Remove a CPU from a server");
-                });
+            cpu.AddCommand<ServerCpuRemoveCommand>("del")
+                .WithDescription("Remove a CPU from a server.");
+        });
 
-                server.AddBranch("nic", nic =>
-                {
-                    nic.SetDescription("Manage server NICs");
+        // Server Drives
+        server.AddBranch("drive", drive =>
+        {
+            drive.SetDescription("Manage drives attached to a server.");
 
-                    nic.AddCommand<ServerNicAddCommand>("add")
-                        .WithDescription("Add a NIC to a server");
+            drive.AddCommand<ServerDriveAddCommand>("add")
+                .WithDescription("Add a storage drive to a server.");
 
-                    nic.AddCommand<ServerNicUpdateCommand>("set")
-                        .WithDescription("Update a NIC on a server");
+            drive.AddCommand<ServerDriveUpdateCommand>("set")
+                .WithDescription("Update properties of a server drive.");
 
-                    nic.AddCommand<ServerNicRemoveCommand>("del")
-                        .WithDescription("Remove a NIC from a server");
-                    server.AddBranch("drive", drive =>
-                    {
-                        drive.SetDescription("Manage server drives");
+            drive.AddCommand<ServerDriveRemoveCommand>("del")
+                .WithDescription("Remove a drive from a server.");
+        });
 
-                        drive.AddCommand<ServerDriveAddCommand>("add")
-                            .WithDescription("Add a drive to a server");
+        // Server GPUs
+        server.AddBranch("gpu", gpu =>
+        {
+            gpu.SetDescription("Manage GPUs attached to a server.");
 
-                        drive.AddCommand<ServerDriveUpdateCommand>("set")
-                            .WithDescription("Update a drive on a server");
+            gpu.AddCommand<ServerGpuAddCommand>("add")
+                .WithDescription("Add a GPU to a server.");
 
-                        drive.AddCommand<ServerDriveRemoveCommand>("del")
-                            .WithDescription("Remove a drive from a server");
-                    });
-                    server.AddBranch("gpu", gpu =>
-                    {
-                        gpu.SetDescription("Manage server GPUs");
+            gpu.AddCommand<ServerGpuUpdateCommand>("set")
+                .WithDescription("Update properties of a server GPU.");
 
-                        gpu.AddCommand<ServerGpuAddCommand>("add")
-                            .WithDescription("Add a GPU to a server");
+            gpu.AddCommand<ServerGpuRemoveCommand>("del")
+                .WithDescription("Remove a GPU from a server.");
+        });
 
-                        gpu.AddCommand<ServerGpuUpdateCommand>("set")
-                            .WithDescription("Update a GPU on a server");
+        // Server NICs
+        server.AddBranch("nic", nic =>
+        {
+            nic.SetDescription("Manage network interface cards (NICs) for a server.");
 
-                        gpu.AddCommand<ServerGpuRemoveCommand>("del")
-                            .WithDescription("Remove a GPU from a server");
-                    });
-                });
-            });
+            nic.AddCommand<ServerNicAddCommand>("add")
+                .WithDescription("Add a NIC to a server.");
 
-            config.AddBranch("switches", switches =>
-            {
-                switches.SetDescription("Manage switches");
+            nic.AddCommand<ServerNicUpdateCommand>("set")
+                .WithDescription("Update properties of a server NIC.");
 
-                switches.AddCommand<SwitchReportCommand>("summary")
-                    .WithDescription("Show switch hardware report");
+            nic.AddCommand<ServerNicRemoveCommand>("del")
+                .WithDescription("Remove a NIC from a server.");
+        });
+    });
 
-                switches.AddCommand<SwitchAddCommand>("add")
-                    .WithDescription("Add a new switch");
+    // ----------------------------
+    // Switch commands
+    // ----------------------------
+    config.AddBranch("switches", switches =>
+    {
+        switches.SetDescription("Manage network switches.");
 
-                switches.AddCommand<SwitchGetCommand>("list")
-                    .WithDescription("List switches");
+        switches.AddCommand<SwitchReportCommand>("summary")
+            .WithDescription("Show a hardware report for all switches.");
 
-                switches.AddCommand<SwitchGetByNameCommand>("get")
-                    .WithDescription("Get a switches by name");
+        switches.AddCommand<SwitchAddCommand>("add")
+            .WithDescription("Add a new network switch to the inventory.");
 
-                switches.AddCommand<SwitchDescribeCommand>("describe")
-                    .WithDescription("Show detailed information about a switch");
+        switches.AddCommand<SwitchGetCommand>("list")
+            .WithDescription("List all switches in the system.");
 
-                switches.AddCommand<SwitchSetCommand>("set")
-                    .WithDescription("Update switch properties");
+        switches.AddCommand<SwitchGetByNameCommand>("get")
+            .WithDescription("Retrieve details of a specific switch by name.");
 
-                switches.AddCommand<SwitchDeleteCommand>("del")
-                    .WithDescription("Delete a switch");
-            });
+        switches.AddCommand<SwitchDescribeCommand>("describe")
+            .WithDescription("Show detailed information about a switch.");
 
-            config.AddBranch("systems", system =>
-            {
-                system.SetDescription("Manage systems");
+        switches.AddCommand<SwitchSetCommand>("set")
+            .WithDescription("Update properties of a switch.");
 
-                system.AddCommand<SystemReportCommand>("summary")
-                    .WithDescription("Show system report");
+        switches.AddCommand<SwitchDeleteCommand>("del")
+            .WithDescription("Delete a switch from the inventory.");
+    });
 
-                system.AddCommand<SystemAddCommand>("add")
-                    .WithDescription("Add a new system");
+    // ----------------------------
+    // System commands
+    // ----------------------------
+    config.AddBranch("systems", system =>
+    {
+        system.SetDescription("Manage systems and their dependencies.");
 
-                system.AddCommand<SystemGetCommand>("list")
-                    .WithDescription("List systems");
+        system.AddCommand<SystemReportCommand>("summary")
+            .WithDescription("Show a summary report for all systems.");
 
-                system.AddCommand<SystemGetByNameCommand>("get")
-                    .WithDescription("Get a system by name");
+        system.AddCommand<SystemAddCommand>("add")
+            .WithDescription("Add a new system to the inventory.");
 
-                system.AddCommand<SystemDescribeCommand>("describe")
-                    .WithDescription("Show detailed information about a system");
+        system.AddCommand<SystemGetCommand>("list")
+            .WithDescription("List all systems.");
 
-                system.AddCommand<SystemSetCommand>("set")
-                    .WithDescription("Update system properties");
+        system.AddCommand<SystemGetByNameCommand>("get")
+            .WithDescription("Retrieve a system by name.");
 
-                system.AddCommand<SystemDeleteCommand>("del")
-                    .WithDescription("Delete a system");
+        system.AddCommand<SystemDescribeCommand>("describe")
+            .WithDescription("Display detailed information about a system.");
 
-                system.AddCommand<SystemTreeCommand>("tree")
-                    .WithDescription("Displays a dependency tree for the system.");
-            });
+        system.AddCommand<SystemSetCommand>("set")
+            .WithDescription("Update properties of a system.");
 
-            config.AddBranch("accesspoints", ap =>
-            {
-                ap.SetDescription("Manage access points");
+        system.AddCommand<SystemDeleteCommand>("del")
+            .WithDescription("Delete a system from the inventory.");
 
-                ap.AddCommand<AccessPointReportCommand>("summary")
-                    .WithDescription("Show access point hardware report");
+        system.AddCommand<SystemTreeCommand>("tree")
+            .WithDescription("Display the dependency tree for a system.");
+    });
 
-                ap.AddCommand<AccessPointAddCommand>("add")
-                    .WithDescription("Add a new access point");
+    // ----------------------------
+    // Access Points
+    // ----------------------------
+    config.AddBranch("accesspoints", ap =>
+    {
+        ap.SetDescription("Manage access points.");
 
-                ap.AddCommand<AccessPointGetCommand>("list")
-                    .WithDescription("List access points");
+        ap.AddCommand<AccessPointReportCommand>("summary")
+            .WithDescription("Show a hardware report for all access points.");
 
-                ap.AddCommand<AccessPointGetByNameCommand>("get")
-                    .WithDescription("Get an access point by name");
+        ap.AddCommand<AccessPointAddCommand>("add")
+            .WithDescription("Add a new access point.");
 
-                ap.AddCommand<AccessPointDescribeCommand>("describe")
-                    .WithDescription("Show detailed information about an access point");
+        ap.AddCommand<AccessPointGetCommand>("list")
+            .WithDescription("List all access points.");
 
-                ap.AddCommand<AccessPointSetCommand>("set")
-                    .WithDescription("Update access point properties");
+        ap.AddCommand<AccessPointGetByNameCommand>("get")
+            .WithDescription("Retrieve an access point by name.");
 
-                ap.AddCommand<AccessPointDeleteCommand>("del")
-                    .WithDescription("Delete an access point");
-            });
+        ap.AddCommand<AccessPointDescribeCommand>("describe")
+            .WithDescription("Show detailed information about an access point.");
 
-            config.AddBranch("ups", ups =>
-            {
-                ups.SetDescription("Manage UPS units");
+        ap.AddCommand<AccessPointSetCommand>("set")
+            .WithDescription("Update properties of an access point.");
 
-                ups.AddCommand<UpsReportCommand>("summary")
-                    .WithDescription("Show UPS hardware report");
+        ap.AddCommand<AccessPointDeleteCommand>("del")
+            .WithDescription("Delete an access point.");
+    });
 
-                ups.AddCommand<UpsAddCommand>("add")
-                    .WithDescription("Add a new UPS");
+    // ----------------------------
+    // UPS units
+    // ----------------------------
+    config.AddBranch("ups", ups =>
+    {
+        ups.SetDescription("Manage UPS units.");
 
-                ups.AddCommand<UpsGetCommand>("list")
-                    .WithDescription("List UPS units");
+        ups.AddCommand<UpsReportCommand>("summary")
+            .WithDescription("Show a hardware report for all UPS units.");
 
-                ups.AddCommand<UpsGetByNameCommand>("get")
-                    .WithDescription("Get a UPS by name");
+        ups.AddCommand<UpsAddCommand>("add")
+            .WithDescription("Add a new UPS unit.");
 
-                ups.AddCommand<UpsDescribeCommand>("describe")
-                    .WithDescription("Show detailed information about a UPS");
+        ups.AddCommand<UpsGetCommand>("list")
+            .WithDescription("List all UPS units.");
 
-                ups.AddCommand<UpsSetCommand>("set")
-                    .WithDescription("Update UPS properties");
+        ups.AddCommand<UpsGetByNameCommand>("get")
+            .WithDescription("Retrieve a UPS unit by name.");
 
-                ups.AddCommand<UpsDeleteCommand>("del")
-                    .WithDescription("Delete a UPS");
-            });
+        ups.AddCommand<UpsDescribeCommand>("describe")
+            .WithDescription("Show detailed information about a UPS unit.");
 
-            config.AddBranch("desktops", desktops =>
-            {
-                desktops.SetDescription("Manage Desktops.");
+        ups.AddCommand<UpsSetCommand>("set")
+            .WithDescription("Update properties of a UPS unit.");
 
-                // CRUD
-                desktops.AddCommand<DesktopAddCommand>("add");
-                desktops.AddCommand<DesktopGetCommand>("list");
-                desktops.AddCommand<DesktopGetByNameCommand>("get");
-                desktops.AddCommand<DesktopDescribeCommand>("describe");
-                desktops.AddCommand<DesktopSetCommand>("set");
-                desktops.AddCommand<DesktopDeleteCommand>("del");
-                desktops.AddCommand<DesktopReportCommand>("summary")
-                    .WithDescription("Show desktop hardware report");
-                desktops.AddCommand<DesktopTreeCommand>("tree");
+        ups.AddCommand<UpsDeleteCommand>("del")
+            .WithDescription("Delete a UPS unit.");
+    });
 
+    // ----------------------------
+    // Desktops
+    // ----------------------------
+    config.AddBranch("desktops", desktops =>
+    {
+        desktops.SetDescription("Manage desktop computers and their components.");
+
+        // CRUD
+        desktops.AddCommand<DesktopAddCommand>("add")
+            .WithDescription("Add a new desktop.");
+        desktops.AddCommand<DesktopGetCommand>("list")
+            .WithDescription("List all desktops.");
+        desktops.AddCommand<DesktopGetByNameCommand>("get")
+            .WithDescription("Retrieve a desktop by name.");
+        desktops.AddCommand<DesktopDescribeCommand>("describe")
+            .WithDescription("Show detailed information about a desktop.");
+        desktops.AddCommand<DesktopSetCommand>("set")
+            .WithDescription("Update properties of a desktop.");
+        desktops.AddCommand<DesktopDeleteCommand>("del")
+            .WithDescription("Delete a desktop from the inventory.");
+        desktops.AddCommand<DesktopReportCommand>("summary")
+            .WithDescription("Show a summarized hardware report for all desktops.");
+        desktops.AddCommand<DesktopTreeCommand>("tree")
+            .WithDescription("Display the dependency tree for a desktop.");
+
+        // CPU
+        desktops.AddBranch("cpu", cpu =>
+        {
+            cpu.SetDescription("Manage CPUs attached to desktops.");
+            cpu.AddCommand<DesktopCpuAddCommand>("add")
+                .WithDescription("Add a CPU to a desktop.");
+            cpu.AddCommand<DesktopCpuSetCommand>("set")
+                .WithDescription("Update a desktop CPU.");
+            cpu.AddCommand<DesktopCpuRemoveCommand>("del")
+                .WithDescription("Remove a CPU from a desktop.");
+        });
 
-                // CPU
-                desktops.AddBranch("cpu", cpu =>
-                {
-                    cpu.AddCommand<DesktopCpuAddCommand>("add");
-                    cpu.AddCommand<DesktopCpuSetCommand>("set");
-                    cpu.AddCommand<DesktopCpuRemoveCommand>("del");
-                });
+        // Drives
+        desktops.AddBranch("drive", drive =>
+        {
+            drive.SetDescription("Manage storage drives attached to desktops.");
+            drive.AddCommand<DesktopDriveAddCommand>("add")
+                .WithDescription("Add a drive to a desktop.");
+            drive.AddCommand<DesktopDriveSetCommand>("set")
+                .WithDescription("Update a desktop drive.");
+            drive.AddCommand<DesktopDriveRemoveCommand>("del")
+                .WithDescription("Remove a drive from a desktop.");
+        });
 
-                // Drives
-                desktops.AddBranch("drive", drive =>
-                {
-                    drive.AddCommand<DesktopDriveAddCommand>("add");
-                    drive.AddCommand<DesktopDriveSetCommand>("set");
-                    drive.AddCommand<DesktopDriveRemoveCommand>("del");
-                });
+        // GPUs
+        desktops.AddBranch("gpu", gpu =>
+        {
+            gpu.SetDescription("Manage GPUs attached to desktops.");
+            gpu.AddCommand<DesktopGpuAddCommand>("add")
+                .WithDescription("Add a GPU to a desktop.");
+            gpu.AddCommand<DesktopGpuSetCommand>("set")
+                .WithDescription("Update a desktop GPU.");
+            gpu.AddCommand<DesktopGpuRemoveCommand>("del")
+                .WithDescription("Remove a GPU from a desktop.");
+        });
 
-                // GPUs
-                desktops.AddBranch("gpu", gpu =>
-                {
-                    gpu.AddCommand<DesktopGpuAddCommand>("add");
-                    gpu.AddCommand<DesktopGpuSetCommand>("set");
-                    gpu.AddCommand<DesktopGpuRemoveCommand>("del");
-                });
-
-                // NICs
-                desktops.AddBranch("nic", nic =>
-                {
-                    nic.AddCommand<DesktopNicAddCommand>("add");
-                    nic.AddCommand<DesktopNicSetCommand>("set");
-                    nic.AddCommand<DesktopNicRemoveCommand>("del");
-                });
-            });
-
-            config.AddBranch("services", service =>
-            {
-                service.SetDescription(
-                    "Manage services."
-                );
-
-                service.AddCommand<ServiceReportCommand>("summary")
-                    .WithDescription("Show service summary report");
-
-                service.AddCommand<ServiceAddCommand>("add")
-                    .WithDescription("Add a new service");
-
-                service.AddCommand<ServiceGetCommand>("list")
-                    .WithDescription("List all services");
-
-                service.AddCommand<ServiceGetByNameCommand>("get")
-                    .WithDescription("Get a service by name");
-
-                service.AddCommand<ServiceDescribeCommand>("describe")
-                    .WithDescription("Show detailed information about a service");
-
-                service.AddCommand<ServiceSetCommand>("set")
-                    .WithDescription("Update service properties");
-
-                service.AddCommand<ServiceDeleteCommand>("del")
-                    .WithDescription("Delete a service");
-
-                service.AddCommand<ServiceSubnetsCommand>("subnets")
-                    .WithDescription("List service subnets or filter by CIDR");
-            });
+        // NICs
+        desktops.AddBranch("nic", nic =>
+        {
+            nic.SetDescription("Manage network interface cards (NICs) for desktops.");
+            nic.AddCommand<DesktopNicAddCommand>("add")
+                .WithDescription("Add a NIC to a desktop.");
+            nic.AddCommand<DesktopNicSetCommand>("set")
+                .WithDescription("Update a desktop NIC.");
+            nic.AddCommand<DesktopNicRemoveCommand>("del")
+                .WithDescription("Remove a NIC from a desktop.");
         });
+    });
+
+    // ----------------------------
+    // Services
+    // ----------------------------
+    config.AddBranch("services", service =>
+    {
+        service.SetDescription("Manage services and their configurations.");
+
+        service.AddCommand<ServiceReportCommand>("summary")
+            .WithDescription("Show a summary report for all services.");
+
+        service.AddCommand<ServiceAddCommand>("add")
+            .WithDescription("Add a new service.");
+
+        service.AddCommand<ServiceGetCommand>("list")
+            .WithDescription("List all services.");
+
+        service.AddCommand<ServiceGetByNameCommand>("get")
+            .WithDescription("Retrieve a service by name.");
+
+        service.AddCommand<ServiceDescribeCommand>("describe")
+            .WithDescription("Show detailed information about a service.");
+
+        service.AddCommand<ServiceSetCommand>("set")
+            .WithDescription("Update properties of a service.");
+
+        service.AddCommand<ServiceDeleteCommand>("del")
+            .WithDescription("Delete a service.");
+
+        service.AddCommand<ServiceSubnetsCommand>("subnets")
+            .WithDescription("List subnets associated with a service, optionally filtered by CIDR.");
+    });
+});
+
     }
 }