Browse Source

Merge pull request #118 from Timmoth/#109-embedded-docs

Embedded docs into webapp
Tim Jones 1 month ago
parent
commit
701dba793f

+ 0 - 1376
Commands.md

@@ -1,1376 +0,0 @@
-# CLI Commands
-
-## `rpk`
-```
-USAGE:
-    rpk [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    switches        Manage switches                  
-    systems         Manage systems                   
-    accesspoints    Manage access points             
-    ups             Manage UPS units                 
-    desktops                                         
-    services        Manage services                  
-    ap              Show access point hardware report
-    desktops        Show desktop hardware report     
-    ups             Show UPS hardware report         
-    servers         Manage servers                   
-```
-
-## `rpk switches`
-```
-DESCRIPTION:
-Manage switches
-
-USAGE:
-    rpk switches [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show switch hardware report             
-    add <name>         Add a new switch                        
-    list               List switches                           
-    get <name>         Get a switches by name                  
-    describe <name>    Show detailed information about a switch
-    set <name>         Update switch properties                
-    del <name>         Delete a switch                         
-```
-
-## `rpk switches summary`
-```
-DESCRIPTION:
-Show switch hardware report
-
-USAGE:
-    rpk switches summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches add`
-```
-DESCRIPTION:
-Add a new switch
-
-USAGE:
-    rpk switches add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches list`
-```
-DESCRIPTION:
-List switches
-
-USAGE:
-    rpk switches list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches get`
-```
-DESCRIPTION:
-Get a switches by name
-
-USAGE:
-    rpk switches get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches describe`
-```
-DESCRIPTION:
-Show detailed information about a switch
-
-USAGE:
-    rpk switches describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches set`
-```
-DESCRIPTION:
-Update switch properties
-
-USAGE:
-    rpk switches set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help       Prints help information
-        --Model                             
-        --managed                           
-        --poe                               
-```
-
-## `rpk switches del`
-```
-DESCRIPTION:
-Delete a switch
-
-USAGE:
-    rpk switches del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems`
-```
-DESCRIPTION:
-Manage systems
-
-USAGE:
-    rpk systems [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show system report                      
-    add <name>         Add a new system                        
-    list               List systems                            
-    get <name>         Get a system by name                    
-    describe <name>    Show detailed information about a system
-    set <name>         Update system properties                
-    del <name>         Delete a system                         
-```
-
-## `rpk systems summary`
-```
-DESCRIPTION:
-Show system report
-
-USAGE:
-    rpk systems summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems add`
-```
-DESCRIPTION:
-Add a new system
-
-USAGE:
-    rpk systems add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems list`
-```
-DESCRIPTION:
-List systems
-
-USAGE:
-    rpk systems list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems get`
-```
-DESCRIPTION:
-Get a system by name
-
-USAGE:
-    rpk systems get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems describe`
-```
-DESCRIPTION:
-Show detailed information about a system
-
-USAGE:
-    rpk systems describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems set`
-```
-DESCRIPTION:
-Update system properties
-
-USAGE:
-    rpk systems set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help       Prints help information
-        --type                              
-        --os                                
-        --cores                             
-        --ram                               
-        --runs-on                           
-```
-
-## `rpk systems del`
-```
-DESCRIPTION:
-Delete a system
-
-USAGE:
-    rpk systems del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints`
-```
-DESCRIPTION:
-Manage access points
-
-USAGE:
-    rpk accesspoints [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show access point hardware report              
-    add <name>         Add a new access point                         
-    list               List access points                             
-    get <name>         Get an access point by name                    
-    describe <name>    Show detailed information about an access point
-    set <name>         Update access point properties                 
-    del <name>         Delete an access point                         
-```
-
-## `rpk accesspoints summary`
-```
-DESCRIPTION:
-Show access point hardware report
-
-USAGE:
-    rpk accesspoints summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints add`
-```
-DESCRIPTION:
-Add a new access point
-
-USAGE:
-    rpk accesspoints add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints list`
-```
-DESCRIPTION:
-List access points
-
-USAGE:
-    rpk accesspoints list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints get`
-```
-DESCRIPTION:
-Get an access point by name
-
-USAGE:
-    rpk accesspoints get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints describe`
-```
-DESCRIPTION:
-Show detailed information about an access point
-
-USAGE:
-    rpk accesspoints describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints set`
-```
-DESCRIPTION:
-Update access point properties
-
-USAGE:
-    rpk accesspoints set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information            
-        --model    The access point model name        
-        --speed    The speed of the access point in Gb
-```
-
-## `rpk accesspoints del`
-```
-DESCRIPTION:
-Delete an access point
-
-USAGE:
-    rpk accesspoints del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups`
-```
-DESCRIPTION:
-Manage UPS units
-
-USAGE:
-    rpk ups [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show UPS hardware report             
-    add <name>         Add a new UPS                        
-    list               List UPS units                       
-    get <name>         Get a UPS by name                    
-    describe <name>    Show detailed information about a UPS
-    set <name>         Update UPS properties                
-    del <name>         Delete a UPS                         
-```
-
-## `rpk ups summary`
-```
-DESCRIPTION:
-Show UPS hardware report
-
-USAGE:
-    rpk ups summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups add`
-```
-DESCRIPTION:
-Add a new UPS
-
-USAGE:
-    rpk ups add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups list`
-```
-DESCRIPTION:
-List UPS units
-
-USAGE:
-    rpk ups list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups get`
-```
-DESCRIPTION:
-Get a UPS by name
-
-USAGE:
-    rpk ups get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups describe`
-```
-DESCRIPTION:
-Show detailed information about a UPS
-
-USAGE:
-    rpk ups describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups set`
-```
-DESCRIPTION:
-Update UPS properties
-
-USAGE:
-    rpk ups set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-        --va                              
-```
-
-## `rpk ups del`
-```
-DESCRIPTION:
-Delete a UPS
-
-USAGE:
-    rpk ups del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops`
-```
-USAGE:
-    rpk desktops [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>          
-    list                
-    get <name>          
-    describe <name>     
-    set <name>          
-    del <name>          
-    cpu                 
-    drive               
-    gpu                 
-    nic                 
-```
-
-## `rpk desktops add`
-```
-USAGE:
-    rpk desktops add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops list`
-```
-USAGE:
-    rpk desktops list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops get`
-```
-USAGE:
-    rpk desktops get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops describe`
-```
-USAGE:
-    rpk desktops describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops set`
-```
-USAGE:
-    rpk desktops set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-```
-
-## `rpk desktops del`
-```
-USAGE:
-    rpk desktops del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops cpu`
-```
-USAGE:
-    rpk desktops cpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops cpu add`
-```
-USAGE:
-    rpk desktops cpu add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The model name           
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk desktops cpu set`
-```
-USAGE:
-    rpk desktops cpu set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name            
-    <index>      The index of the desktop cpu
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The cpu model            
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk desktops cpu del`
-```
-USAGE:
-    rpk desktops cpu del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop               
-    <index>      The index of the desktop cpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops drive`
-```
-USAGE:
-    rpk desktops drive [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops drive add`
-```
-USAGE:
-    rpk desktops drive add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
-```
-
-## `rpk desktops drive set`
-```
-USAGE:
-    rpk desktops drive set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name         
-    <index>      The drive index to update
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
-```
-
-## `rpk desktops drive del`
-```
-USAGE:
-    rpk desktops drive del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop         
-    <index>      The index of the drive to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops gpu`
-```
-USAGE:
-    rpk desktops gpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops gpu add`
-```
-USAGE:
-    rpk desktops gpu add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The Gpu model               
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk desktops gpu set`
-```
-USAGE:
-    rpk desktops gpu set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the gpu to update
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The gpu model name          
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk desktops gpu del`
-```
-USAGE:
-    rpk desktops gpu del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the Gpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops nic`
-```
-USAGE:
-    rpk desktops nic [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>             
-    set <desktop> <index>     
-    del <desktop> <index>     
-```
-
-## `rpk desktops nic add`
-```
-USAGE:
-    rpk desktops nic add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --type     The nic port type e.g rj45 / sfp+
-        --speed    The port speed                   
-        --ports    The number of ports              
-```
-
-## `rpk desktops nic set`
-```
-USAGE:
-    rpk desktops nic set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --type     The nic port type e.g rj45 / sfp+
-        --speed    The speed of the nic in Gb/s     
-        --ports    The number of ports              
-```
-
-## `rpk desktops nic del`
-```
-USAGE:
-    rpk desktops nic del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services`
-```
-DESCRIPTION:
-Manage services
-
-USAGE:
-    rpk services [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show service summary report              
-    add <name>         Add a new service                        
-    list               List all services                        
-    get <name>         Get a service by name                    
-    describe <name>    Show detailed information about a service
-    set <name>         Update service properties                
-    del <name>         Delete a service                         
-```
-
-## `rpk services summary`
-```
-DESCRIPTION:
-Show service summary report
-
-USAGE:
-    rpk services summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services add`
-```
-DESCRIPTION:
-Add a new service
-
-USAGE:
-    rpk services add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services list`
-```
-DESCRIPTION:
-List all services
-
-USAGE:
-    rpk services list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services get`
-```
-DESCRIPTION:
-Get a service by name
-
-USAGE:
-    rpk services get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services describe`
-```
-DESCRIPTION:
-Show detailed information about a service
-
-USAGE:
-    rpk services describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services set`
-```
-DESCRIPTION:
-Update service properties
-
-USAGE:
-    rpk services set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help        Prints help information             
-        --ip          The ip address of the service       
-        --port        The port the service is running on  
-        --protocol    The service protocol                
-        --url         The service URL                     
-        --runs-on     The system the service is running on
-```
-
-## `rpk services del`
-```
-DESCRIPTION:
-Delete a service
-
-USAGE:
-    rpk services del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ap`
-```
-DESCRIPTION:
-Show access point hardware report
-
-USAGE:
-    rpk ap [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers`
-```
-DESCRIPTION:
-Manage servers
-
-USAGE:
-    rpk servers [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary            Show a summarized hardware report for all servers
-    add <name>         Add a new server                                 
-    get <name>         List servers or get a server by name             
-    describe <name>    Show detailed information about a server         
-    set <name>         Update server properties                         
-    del <name>         Delete a server                                  
-    tree <name>        Displays a dependency tree for the server        
-    cpu                Manage server CPUs                               
-    drive              Manage server drives                             
-    gpu                Manage server GPUs                               
-    nic                Manage server NICs                               
-```
-
-## `rpk servers summary`
-```
-DESCRIPTION:
-Show a summarized hardware report for all servers
-
-USAGE:
-    rpk servers summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers add`
-```
-DESCRIPTION:
-Add a new server
-
-USAGE:
-    rpk servers add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers get`
-```
-DESCRIPTION:
-List servers or get a server by name
-
-USAGE:
-    rpk servers get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers describe`
-```
-DESCRIPTION:
-Show detailed information about a server
-
-USAGE:
-    rpk servers describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers set`
-```
-DESCRIPTION:
-Update server properties
-
-USAGE:
-    rpk servers set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help        Prints help information
-        --ram <GB>                           
-        --ipmi                               
-```
-
-## `rpk servers del`
-```
-DESCRIPTION:
-Delete a server
-
-USAGE:
-    rpk servers del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers tree`
-```
-DESCRIPTION:
-Displays a dependency tree for the server
-
-USAGE:
-    rpk servers tree <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers cpu`
-```
-DESCRIPTION:
-Manage server CPUs
-
-USAGE:
-    rpk servers cpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a CPU to a server     
-    set <name>    Update a CPU on a server  
-    del <name>    Remove a CPU from a server
-```
-
-## `rpk servers cpu add`
-```
-DESCRIPTION:
-Add a CPU to a server
-
-USAGE:
-    rpk servers cpu add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                 Prints help information
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
-```
-
-## `rpk servers cpu set`
-```
-DESCRIPTION:
-Update a CPU on a server
-
-USAGE:
-    rpk servers cpu set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                 Prints help information
-        --index <INDEX>                               
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
-```
-
-## `rpk servers cpu del`
-```
-DESCRIPTION:
-Remove a CPU from a server
-
-USAGE:
-    rpk servers cpu del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers drive`
-```
-DESCRIPTION:
-Manage server drives
-
-USAGE:
-    rpk servers drive [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a drive to a server     
-    set <name>    Update a drive on a server  
-    del <name>    Remove a drive from a server
-```
-
-## `rpk servers drive add`
-```
-DESCRIPTION:
-Add a drive to a server
-
-USAGE:
-    rpk servers drive add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help           Prints help information
-        --type <TYPE>                           
-        --size <SIZE>                           
-```
-
-## `rpk servers drive set`
-```
-DESCRIPTION:
-Update a drive on a server
-
-USAGE:
-    rpk servers drive set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --size <SIZE>                             
-```
-
-## `rpk servers drive del`
-```
-DESCRIPTION:
-Remove a drive from a server
-
-USAGE:
-    rpk servers drive del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers gpu`
-```
-DESCRIPTION:
-Manage server GPUs
-
-USAGE:
-    rpk servers gpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a GPU to a server     
-    set <name>    Update a GPU on a server  
-    del <name>    Remove a GPU from a server
-```
-
-## `rpk servers gpu add`
-```
-DESCRIPTION:
-Add a GPU to a server
-
-USAGE:
-    rpk servers gpu add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --model <MODEL>                           
-        --vram <VRAM>                             
-```
-
-## `rpk servers gpu set`
-```
-DESCRIPTION:
-Update a GPU on a server
-
-USAGE:
-    rpk servers gpu set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --model <MODEL>                           
-        --vram <VRAM>                             
-```
-
-## `rpk servers gpu del`
-```
-DESCRIPTION:
-Remove a GPU from a server
-
-USAGE:
-    rpk servers gpu del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers nic`
-```
-DESCRIPTION:
-Manage server NICs
-
-USAGE:
-    rpk servers nic [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a NIC to a server     
-    set <name>    Update a NIC on a server  
-    del <name>    Remove a NIC from a server
-```
-
-## `rpk servers nic add`
-```
-DESCRIPTION:
-Add a NIC to a server
-
-USAGE:
-    rpk servers nic add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
-```
-
-## `rpk servers nic set`
-```
-DESCRIPTION:
-Update a NIC on a server
-
-USAGE:
-    rpk servers nic set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
-```
-
-## `rpk servers nic del`
-```
-DESCRIPTION:
-Remove a NIC from a server
-
-USAGE:
-    rpk servers nic del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-

+ 1 - 145
README.md

@@ -129,148 +129,4 @@ The project is optimized for home labs and self-hosted environments, not enterpr
 We’re gathering feedback from homelabbers to validate direction and prioritize features.  
 We’re gathering feedback from homelabbers to validate direction and prioritize features.  
 Answer whichever questions stand out to you, your input directly shapes the project.
 Answer whichever questions stand out to you, your input directly shapes the project.
 
 
-[![User Questionnaire](https://img.shields.io/badge/Questionnaire-Share%20Feedback-orange?logo=googleforms&logoColor=white)](https://forms.gle/KKA4bqfGAeRYvGxT6)
-
-## Command Tree
-
-- [rpk](Commands.md#rpk)
-  - [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 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 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 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 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 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 properties of a server NIC
-      - [del](Commands.md#rpk-servers-nic-del) - Remove a NIC from a server
-  - [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 properties of a switch
-    - [del](Commands.md#rpk-switches-del) - Delete a switch from the inventory
-    - [port](Commands.md#rpk-switches-port) - Manage ports on a network switch
-      - [add](Commands.md#rpk-switches-port-add) - Add a port to a switch
-      - [set](Commands.md#rpk-switches-port-set) - Update a switch port
-      - [del](Commands.md#rpk-switches-port-del) - Remove a port from a switch
-  - [routers](Commands.md#rpk-routers) - Manage network routers
-    - [summary](Commands.md#rpk-routers-summary) - Show a hardware report for all routers
-    - [add](Commands.md#rpk-routers-add) - Add a new network router to the inventory
-    - [list](Commands.md#rpk-routers-list) - List all routers in the system
-    - [get](Commands.md#rpk-routers-get) - Retrieve details of a specific router by name
-    - [describe](Commands.md#rpk-routers-describe) - Show detailed information about a router
-    - [set](Commands.md#rpk-routers-set) - Update properties of a router
-    - [del](Commands.md#rpk-routers-del) - Delete a router from the inventory
-    - [port](Commands.md#rpk-routers-port) - Manage ports on a router
-      - [add](Commands.md#rpk-routers-port-add) - Add a port to a router
-      - [set](Commands.md#rpk-routers-port-set) - Update a router port
-      - [del](Commands.md#rpk-routers-port-del) - Remove a port from a router
-  - [firewalls](Commands.md#rpk-firewalls) - Manage firewalls
-    - [summary](Commands.md#rpk-firewalls-summary) - Show a hardware report for all firewalls
-    - [add](Commands.md#rpk-firewalls-add) - Add a new firewall to the inventory
-    - [list](Commands.md#rpk-firewalls-list) - List all firewalls in the system
-    - [get](Commands.md#rpk-firewalls-get) - Retrieve details of a specific firewall by name
-    - [describe](Commands.md#rpk-firewalls-describe) - Show detailed information about a firewall
-    - [set](Commands.md#rpk-firewalls-set) - Update properties of a firewall
-    - [del](Commands.md#rpk-firewalls-del) - Delete a firewall from the inventory
-    - [port](Commands.md#rpk-firewalls-port) - Manage ports on a firewall
-      - [add](Commands.md#rpk-firewalls-port-add) - Add a port to a firewall
-      - [set](Commands.md#rpk-firewalls-port-set) - Update a firewall port
-      - [del](Commands.md#rpk-firewalls-port-del) - Remove a port from a firewall
-  - [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 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 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 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 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
-  - [Laptops](Commands.md#rpk-laptops) - Manage Laptop computers and their components
-    - [add](Commands.md#rpk-laptops-add) - Add a new Laptop
-    - [list](Commands.md#rpk-laptops-list) - List all Laptops
-    - [get](Commands.md#rpk-laptops-get) - Retrieve a Laptop by name
-    - [describe](Commands.md#rpk-laptops-describe) - Show detailed information about a Laptop
-    - [del](Commands.md#rpk-laptops-del) - Delete a Laptop from the inventory
-    - [summary](Commands.md#rpk-laptops-summary) - Show a summarized hardware report for all Laptops
-    - [tree](Commands.md#rpk-laptops-tree) - Display the dependency tree for a Laptop
-    - [cpu](Commands.md#rpk-laptops-cpu) - Manage CPUs attached to Laptops
-      - [add](Commands.md#rpk-laptops-cpu-add) - Add a CPU to a Laptop
-      - [set](Commands.md#rpk-laptops-cpu-set) - Update a Laptop CPU
-      - [del](Commands.md#rpk-laptops-cpu-del) - Remove a CPU from a Laptop
-    - [drive](Commands.md#rpk-laptops-drive) - Manage storage drives attached to Laptops
-      - [add](Commands.md#rpk-laptops-drive-add) - Add a drive to a Laptop
-      - [set](Commands.md#rpk-laptops-drive-set) - Update a Laptop drive
-      - [del](Commands.md#rpk-laptops-drive-del) - Remove a drive from a Laptop
-    - [gpu](Commands.md#rpk-laptops-gpu) - Manage GPUs attached to Laptops
-      - [add](Commands.md#rpk-laptops-gpu-add) - Add a GPU to a Laptop
-      - [set](Commands.md#rpk-laptops-gpu-set) - Update a Laptop GPU
-      - [del](Commands.md#rpk-laptops-gpu-del) - Remove a GPU from a Laptop
-  - [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) - Retrieve a service by name
-    - [describe](Commands.md#rpk-services-describe) - Show detailed information about a service
-    - [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 subnets associated with a service, optionally filtered by CIDR
+[![User Questionnaire](https://img.shields.io/badge/Questionnaire-Share%20Feedback-orange?logo=googleforms&logoColor=white)](https://forms.gle/KKA4bqfGAeRYvGxT6)

+ 12 - 2
RackPeek.Web.Viewer/Program.cs

@@ -1,3 +1,4 @@
+using Microsoft.AspNetCore.Components;
 using Microsoft.AspNetCore.Components.Web;
 using Microsoft.AspNetCore.Components.Web;
 using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
 using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
 using RackPeek.Domain;
 using RackPeek.Domain;
@@ -19,9 +20,18 @@ public class Program
         builder.RootComponents.Add<HeadOutlet>("head::after");
         builder.RootComponents.Add<HeadOutlet>("head::after");
 
 
         var services = builder.Services;
         var services = builder.Services;
-        builder.Services.AddScoped(sp =>
-            new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
 
 
+
+        builder.Services.AddScoped(sp =>
+        {
+            var nav = sp.GetRequiredService<NavigationManager>();
+            return new HttpClient
+            {
+                BaseAddress = new Uri(nav.BaseUri)
+            };
+        });
+
+        
         builder.Services.AddScoped<ITextFileStore, WasmTextFileStore>();
         builder.Services.AddScoped<ITextFileStore, WasmTextFileStore>();
 
 
         var resources = new ResourceCollection();
         var resources = new ResourceCollection();

+ 250 - 18
RackPeek.Web.Viewer/wwwroot/app.css

@@ -1,35 +1,267 @@
-.markdown h1 { font-size: 1.5rem; font-weight: 700; margin: 0.6em 0; }
-.markdown h2 { font-size: 1.3rem; font-weight: 600; margin: 0.5em 0; }
-.markdown h3 { font-size: 1.1rem; font-weight: 600; margin: 0.4em 0; }
+/* ============================= */
+/* Base Container */
+/* ============================= */
 
 
-.markdown p { margin: 0.4em 0; }
+.markdown {
+    color: #e4e4e7;
+    line-height: 1.7;
+    font-size: 0.95rem;
+}
+
+.markdown > :first-child {
+    margin-top: 0;
+}
+
+.markdown > :last-child {
+    margin-bottom: 0;
+}
+
+/* ============================= */
+/* Headings */
+/* ============================= */
+
+.markdown h1,
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+    font-weight: 700;
+    line-height: 1.3;
+    margin: 1.2em 0 0.5em;
+    color: #34d399;
+}
+
+.markdown h1 { font-size: 1.8rem; border-bottom: 1px solid #27272a; padding-bottom: 0.3em; }
+.markdown h2 { font-size: 1.5rem; border-bottom: 1px solid #27272a; padding-bottom: 0.25em; }
+.markdown h3 { font-size: 1.25rem; }
+.markdown h4 { font-size: 1.1rem; }
+.markdown h5 { font-size: 1rem; opacity: 0.9; }
+.markdown h6 { font-size: 0.9rem; opacity: 0.7; text-transform: uppercase; letter-spacing: 0.05em; }
+
+/* ============================= */
+/* Paragraphs */
+/* ============================= */
+
+.markdown p {
+    margin: 0.8em 0;
+}
+
+/* ============================= */
+/* Links */
+/* ============================= */
+
+.markdown a {
+    color: #4ade80;
+    text-decoration: none;
+    border-bottom: 1px dotted #4ade80;
+    transition: color 0.2s ease;
+}
+
+.markdown a:hover {
+    color: #86efac;
+    border-bottom-color: #86efac;
+}
+
+/* ============================= */
+/* Lists */
+/* ============================= */
+
+.markdown ul,
+.markdown ol {
+    margin: 0.8em 0 0.8em 1.5rem;
+    padding-left: 1rem;
+}
 
 
-.markdown ul { list-style: disc; margin-left: 1.2rem; }
-.markdown ol { list-style: decimal; margin-left: 1.2rem; }
+.markdown ul { list-style: disc; }
+.markdown ul ul { list-style: circle; }
+.markdown ul ul ul { list-style: square; }
 
 
-.markdown li { margin: 0.2em 0; }
+.markdown ol { list-style: decimal; }
+
+.markdown li {
+    margin: 0.35em 0;
+}
+
+/* Task lists */
+.markdown input[type="checkbox"] {
+    margin-right: 0.5rem;
+}
+
+/* ============================= */
+/* Blockquotes */
+/* ============================= */
+
+.markdown blockquote {
+    border-left: 4px solid #52525b;
+    padding: 0.6em 1em;
+    margin: 1em 0;
+    background: #18181b;
+    color: #a1a1aa;
+    border-radius: 6px;
+}
+
+/* ============================= */
+/* Horizontal Rule */
+/* ============================= */
+
+.markdown hr {
+    border: none;
+    border-top: 1px solid #27272a;
+    margin: 2em 0;
+}
+
+/* ============================= */
+/* Inline Code */
+/* ============================= */
 
 
 .markdown code {
 .markdown code {
     background: #27272a;
     background: #27272a;
-    padding: 2px 5px;
-    border-radius: 4px;
-    font-size: 0.9em;
+    padding: 3px 6px;
+    border-radius: 5px;
+    font-size: 0.85em;
+    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
+    color: #facc15;
 }
 }
 
 
+/* ============================= */
+/* Code Blocks */
+/* ============================= */
+
 .markdown pre {
 .markdown pre {
     background: #18181b;
     background: #18181b;
-    padding: 12px;
-    border-radius: 8px;
+    padding: 1rem;
+    border-radius: 10px;
     overflow-x: auto;
     overflow-x: auto;
+    border: 1px solid #27272a;
+    margin: 1.2em 0;
 }
 }
 
 
-.markdown blockquote {
-    border-left: 3px solid #52525b;
-    padding-left: 10px;
+.markdown pre code {
+    background: transparent;
+    padding: 0;
+    color: #e4e4e7;
+}
+
+/* Scrollbar styling */
+.markdown pre::-webkit-scrollbar {
+    height: 8px;
+}
+
+.markdown pre::-webkit-scrollbar-thumb {
+    background: #3f3f46;
+    border-radius: 4px;
+}
+
+/* ============================= */
+/* Tables */
+/* ============================= */
+
+.markdown table {
+    width: 100%;
+    border-collapse: collapse;
+    margin: 1.2em 0;
+    font-size: 0.9rem;
+}
+
+.markdown th,
+.markdown td {
+    border: 1px solid #27272a;
+    padding: 0.6em 0.8em;
+}
+
+.markdown th {
+    background: #18181b;
+    text-align: left;
+    color: #34d399;
+}
+
+.markdown tr:nth-child(even) {
+    background: #1f1f23;
+}
+
+/* ============================= */
+/* Images */
+/* ============================= */
+
+.markdown img {
+    max-width: 100%;
+    border-radius: 8px;
+    margin: 1em 0;
+    border: 1px solid #27272a;
+}
+
+/* ============================= */
+/* Definition Lists */
+/* ============================= */
+
+.markdown dt {
+    font-weight: 600;
+    margin-top: 1em;
+}
+
+.markdown dd {
+    margin-left: 1.2rem;
     color: #a1a1aa;
     color: #a1a1aa;
-    margin: 0.6em 0;
 }
 }
 
 
-.markdown > :first-child {
-    margin-top: 0;
+/* ============================= */
+/* Keyboard */
+/* ============================= */
+
+.markdown kbd {
+    background: #27272a;
+    border: 1px solid #3f3f46;
+    border-radius: 4px;
+    padding: 2px 6px;
+    font-size: 0.8em;
+    box-shadow: inset 0 -2px 0 #3f3f46;
+}
+
+/* ============================= */
+/* Superscript / Subscript */
+/* ============================= */
+
+.markdown sup,
+.markdown sub {
+    font-size: 0.75em;
+}
+
+/* ============================= */
+/* Details / Summary */
+/* ============================= */
+
+.markdown details {
+    background: #18181b;
+    border: 1px solid #27272a;
+    padding: 0.8em;
+    border-radius: 8px;
+    margin: 1em 0;
+}
+
+.markdown summary {
+    cursor: pointer;
+    font-weight: 600;
+    color: #34d399;
+}
+
+/* ============================= */
+/* Footnotes */
+/* ============================= */
+
+.markdown .footnotes {
+    margin-top: 2em;
+    font-size: 0.85rem;
+    color: #a1a1aa;
+    border-top: 1px solid #27272a;
+    padding-top: 1em;
+}
+
+/* ============================= */
+/* Selection */
+/* ============================= */
+
+.markdown ::selection {
+    background: #065f46;
+    color: #ffffff;
 }
 }

+ 23 - 0
RackPeek.Web.Viewer/wwwroot/console.js

@@ -6,3 +6,26 @@ window.consoleHasSelection = () => {
     const sel = window.getSelection();
     const sel = window.getSelection();
     return sel && sel.toString().length > 0;
     return sel && sel.toString().length > 0;
 };
 };
+
+window.scrollToAnchor = (anchor) => {
+    if (!anchor) return;
+
+    let attempts = 0;
+    const maxAttempts = 30;
+
+    const tryScroll = () => {
+        const el = document.getElementById(anchor);
+
+        if (el) {
+            el.scrollIntoView({ behavior: "smooth", block: "start" });
+            return;
+        }
+
+        attempts++;
+        if (attempts < maxAttempts) {
+            setTimeout(tryScroll, 50);
+        }
+    };
+
+    tryScroll();
+};

BIN
RackPeek.Web/.DS_Store


+ 12 - 0
RackPeek.Web/Program.cs

@@ -1,3 +1,4 @@
+using Microsoft.AspNetCore.Components;
 using Microsoft.AspNetCore.Hosting.StaticWebAssets;
 using Microsoft.AspNetCore.Hosting.StaticWebAssets;
 using RackPeek.Domain;
 using RackPeek.Domain;
 using RackPeek.Domain.Persistence;
 using RackPeek.Domain.Persistence;
@@ -51,6 +52,17 @@ public class Program
 
 
         builder.Services.AddScoped<ITextFileStore, PhysicalTextFileStore>();
         builder.Services.AddScoped<ITextFileStore, PhysicalTextFileStore>();
 
 
+        
+        builder.Services.AddScoped(sp =>
+        {
+            var nav = sp.GetRequiredService<NavigationManager>();
+            return new HttpClient
+            {
+                BaseAddress = new Uri(nav.BaseUri)
+            };
+        });
+
+        
         var resources = new ResourceCollection();
         var resources = new ResourceCollection();
         builder.Services.AddSingleton(resources);
         builder.Services.AddSingleton(resources);
 
 

+ 250 - 18
RackPeek.Web/wwwroot/app.css

@@ -1,35 +1,267 @@
-.markdown h1 { font-size: 1.5rem; font-weight: 700; margin: 0.6em 0; }
-.markdown h2 { font-size: 1.3rem; font-weight: 600; margin: 0.5em 0; }
-.markdown h3 { font-size: 1.1rem; font-weight: 600; margin: 0.4em 0; }
+/* ============================= */
+/* Base Container */
+/* ============================= */
 
 
-.markdown p { margin: 0.4em 0; }
+.markdown {
+    color: #e4e4e7;
+    line-height: 1.7;
+    font-size: 0.95rem;
+}
+
+.markdown > :first-child {
+    margin-top: 0;
+}
+
+.markdown > :last-child {
+    margin-bottom: 0;
+}
+
+/* ============================= */
+/* Headings */
+/* ============================= */
+
+.markdown h1,
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+    font-weight: 700;
+    line-height: 1.3;
+    margin: 1.2em 0 0.5em;
+    color: #34d399;
+}
+
+.markdown h1 { font-size: 1.8rem; border-bottom: 1px solid #27272a; padding-bottom: 0.3em; }
+.markdown h2 { font-size: 1.5rem; border-bottom: 1px solid #27272a; padding-bottom: 0.25em; }
+.markdown h3 { font-size: 1.25rem; }
+.markdown h4 { font-size: 1.1rem; }
+.markdown h5 { font-size: 1rem; opacity: 0.9; }
+.markdown h6 { font-size: 0.9rem; opacity: 0.7; text-transform: uppercase; letter-spacing: 0.05em; }
+
+/* ============================= */
+/* Paragraphs */
+/* ============================= */
+
+.markdown p {
+    margin: 0.8em 0;
+}
+
+/* ============================= */
+/* Links */
+/* ============================= */
+
+.markdown a {
+    color: #4ade80;
+    text-decoration: none;
+    border-bottom: 1px dotted #4ade80;
+    transition: color 0.2s ease;
+}
+
+.markdown a:hover {
+    color: #86efac;
+    border-bottom-color: #86efac;
+}
+
+/* ============================= */
+/* Lists */
+/* ============================= */
+
+.markdown ul,
+.markdown ol {
+    margin: 0.8em 0 0.8em 1.5rem;
+    padding-left: 1rem;
+}
 
 
-.markdown ul { list-style: disc; margin-left: 1.2rem; }
-.markdown ol { list-style: decimal; margin-left: 1.2rem; }
+.markdown ul { list-style: disc; }
+.markdown ul ul { list-style: circle; }
+.markdown ul ul ul { list-style: square; }
 
 
-.markdown li { margin: 0.2em 0; }
+.markdown ol { list-style: decimal; }
+
+.markdown li {
+    margin: 0.35em 0;
+}
+
+/* Task lists */
+.markdown input[type="checkbox"] {
+    margin-right: 0.5rem;
+}
+
+/* ============================= */
+/* Blockquotes */
+/* ============================= */
+
+.markdown blockquote {
+    border-left: 4px solid #52525b;
+    padding: 0.6em 1em;
+    margin: 1em 0;
+    background: #18181b;
+    color: #a1a1aa;
+    border-radius: 6px;
+}
+
+/* ============================= */
+/* Horizontal Rule */
+/* ============================= */
+
+.markdown hr {
+    border: none;
+    border-top: 1px solid #27272a;
+    margin: 2em 0;
+}
+
+/* ============================= */
+/* Inline Code */
+/* ============================= */
 
 
 .markdown code {
 .markdown code {
     background: #27272a;
     background: #27272a;
-    padding: 2px 5px;
-    border-radius: 4px;
-    font-size: 0.9em;
+    padding: 3px 6px;
+    border-radius: 5px;
+    font-size: 0.85em;
+    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
+    color: #facc15;
 }
 }
 
 
+/* ============================= */
+/* Code Blocks */
+/* ============================= */
+
 .markdown pre {
 .markdown pre {
     background: #18181b;
     background: #18181b;
-    padding: 12px;
-    border-radius: 8px;
+    padding: 1rem;
+    border-radius: 10px;
     overflow-x: auto;
     overflow-x: auto;
+    border: 1px solid #27272a;
+    margin: 1.2em 0;
 }
 }
 
 
-.markdown blockquote {
-    border-left: 3px solid #52525b;
-    padding-left: 10px;
+.markdown pre code {
+    background: transparent;
+    padding: 0;
+    color: #e4e4e7;
+}
+
+/* Scrollbar styling */
+.markdown pre::-webkit-scrollbar {
+    height: 8px;
+}
+
+.markdown pre::-webkit-scrollbar-thumb {
+    background: #3f3f46;
+    border-radius: 4px;
+}
+
+/* ============================= */
+/* Tables */
+/* ============================= */
+
+.markdown table {
+    width: 100%;
+    border-collapse: collapse;
+    margin: 1.2em 0;
+    font-size: 0.9rem;
+}
+
+.markdown th,
+.markdown td {
+    border: 1px solid #27272a;
+    padding: 0.6em 0.8em;
+}
+
+.markdown th {
+    background: #18181b;
+    text-align: left;
+    color: #34d399;
+}
+
+.markdown tr:nth-child(even) {
+    background: #1f1f23;
+}
+
+/* ============================= */
+/* Images */
+/* ============================= */
+
+.markdown img {
+    max-width: 100%;
+    border-radius: 8px;
+    margin: 1em 0;
+    border: 1px solid #27272a;
+}
+
+/* ============================= */
+/* Definition Lists */
+/* ============================= */
+
+.markdown dt {
+    font-weight: 600;
+    margin-top: 1em;
+}
+
+.markdown dd {
+    margin-left: 1.2rem;
     color: #a1a1aa;
     color: #a1a1aa;
-    margin: 0.6em 0;
 }
 }
 
 
-.markdown > :first-child {
-    margin-top: 0;
+/* ============================= */
+/* Keyboard */
+/* ============================= */
+
+.markdown kbd {
+    background: #27272a;
+    border: 1px solid #3f3f46;
+    border-radius: 4px;
+    padding: 2px 6px;
+    font-size: 0.8em;
+    box-shadow: inset 0 -2px 0 #3f3f46;
+}
+
+/* ============================= */
+/* Superscript / Subscript */
+/* ============================= */
+
+.markdown sup,
+.markdown sub {
+    font-size: 0.75em;
+}
+
+/* ============================= */
+/* Details / Summary */
+/* ============================= */
+
+.markdown details {
+    background: #18181b;
+    border: 1px solid #27272a;
+    padding: 0.8em;
+    border-radius: 8px;
+    margin: 1em 0;
+}
+
+.markdown summary {
+    cursor: pointer;
+    font-weight: 600;
+    color: #34d399;
+}
+
+/* ============================= */
+/* Footnotes */
+/* ============================= */
+
+.markdown .footnotes {
+    margin-top: 2em;
+    font-size: 0.85rem;
+    color: #a1a1aa;
+    border-top: 1px solid #27272a;
+    padding-top: 1em;
+}
+
+/* ============================= */
+/* Selection */
+/* ============================= */
+
+.markdown ::selection {
+    background: #065f46;
+    color: #ffffff;
 }
 }

+ 9 - 0
RackPeek.Web/wwwroot/console.js

@@ -6,3 +6,12 @@ window.consoleHasSelection = () => {
     const sel = window.getSelection();
     const sel = window.getSelection();
     return sel && sel.toString().length > 0;
     return sel && sel.toString().length > 0;
 };
 };
+
+window.scrollToAnchor = (anchor) => {
+    if (!anchor) return;
+
+    const el = document.getElementById(anchor);
+    if (el) {
+        el.scrollIntoView({ behavior: "smooth", block: "start" });
+    }
+};

+ 122 - 0
Shared.Rcl/Components/DocsPage.razor

@@ -0,0 +1,122 @@
+@page "/docs/{Page}"
+
+@using Markdig
+@inject HttpClient Http
+@inject NavigationManager Nav
+@inject IJSRuntime JS
+@implements IDisposable
+
+<PageTitle>Docs: @Page</PageTitle>
+
+<div class="min-h-screen bg-zinc-950 text-zinc-200 font-mono p-6 space-y-6">
+
+    <!-- Header -->
+    <div class="space-y-2">
+        <h1 class="text-lg text-zinc-100">
+            Docs:
+            <span class="text-emerald-400">@Page</span>
+        </h1>
+    </div>
+
+    @if (_isLoading)
+    {
+        <div class="text-zinc-500">loading documentation…</div>
+    }
+    else if (_notFound)
+    {
+        <div class="text-zinc-500">document not found</div>
+    }
+    else
+    {
+        <div class="markdown">
+            @((MarkupString)_htmlContent!)
+        </div>
+    }
+
+</div>
+
+@code {
+
+    [Parameter]
+    public string Page { get; set; } = string.Empty;
+
+    private string? _htmlContent;
+    private bool _isLoading = true;
+    private bool _notFound;
+
+    private static readonly MarkdownPipeline Pipeline =
+        new MarkdownPipelineBuilder()
+            .UseAdvancedExtensions()
+            .UseAutoIdentifiers()
+            .Build();
+
+    private bool _pendingScroll;
+
+    protected override void OnInitialized()
+    {
+        Nav.LocationChanged += HandleLocationChanged;
+    }
+
+    private void HandleLocationChanged(object? sender, LocationChangedEventArgs e)
+    {
+        // Trigger re-render so OnAfterRenderAsync runs again
+        _pendingScroll = true;
+        InvokeAsync(StateHasChanged);
+    }
+
+    protected override async Task OnParametersSetAsync()
+    {
+        _isLoading = true;
+        _notFound = false;
+        _pendingScroll = true;
+
+        try
+        {
+            var decoded = Uri.UnescapeDataString(Page);
+
+            if (!decoded.EndsWith(".md", StringComparison.OrdinalIgnoreCase))
+                decoded += ".md";
+
+            var url = $"_content/Shared.Rcl/raw_docs/{decoded}";
+
+            var markdown = await Http.GetStringAsync(url);
+
+            _htmlContent = Markdown.ToHtml(markdown, Pipeline);
+        }
+        catch
+        {
+            _notFound = true;
+            _htmlContent = null;
+        }
+        finally
+        {
+            _isLoading = false;
+        }
+    }
+
+    protected override async Task OnAfterRenderAsync(bool firstRender)
+    {
+        if (_pendingScroll && !_isLoading && !_notFound)
+        {
+            _pendingScroll = false;
+            await ScrollToFragmentAsync();
+        }
+    }
+
+    private async Task ScrollToFragmentAsync()
+    {
+        var uri = new Uri(Nav.Uri);
+        var fragment = uri.Fragment;
+
+        if (!string.IsNullOrWhiteSpace(fragment))
+        {
+            var anchor = fragment.TrimStart('#');
+            await JS.InvokeVoidAsync("scrollToAnchor", anchor);
+        }
+    }
+
+    public void Dispose()
+    {
+        Nav.LocationChanged -= HandleLocationChanged;
+    }
+}

+ 4 - 0
Shared.Rcl/Layout/MainLayout.razor

@@ -34,6 +34,10 @@
             <NavLink href="services/list" class="hover:text-emerald-400" activeClass="text-emerald-400 font-semibold">
             <NavLink href="services/list" class="hover:text-emerald-400" activeClass="text-emerald-400 font-semibold">
                 Services
                 Services
             </NavLink>
             </NavLink>
+            <NavLink href="docs/CommandIndex" class="hover:text-emerald-400" activeClass="text-emerald-400 font-semibold">
+                Docs
+            </NavLink>
+            
         </nav>
         </nav>
     </header>
     </header>
 
 

+ 2 - 0
Shared.Rcl/Shared.Rcl.csproj

@@ -87,5 +87,7 @@
     <ItemGroup>
     <ItemGroup>
       <Folder Include="Pages\" />
       <Folder Include="Pages\" />
     </ItemGroup>
     </ItemGroup>
+    
+
 
 
 </Project>
 </Project>

+ 142 - 0
Shared.Rcl/wwwroot/raw_docs/CommandIndex.md

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

+ 2309 - 0
Shared.Rcl/wwwroot/raw_docs/Commands.md

@@ -0,0 +1,2309 @@
+# CLI Commands
+
+## `rpk`
+```
+USAGE:
+    rpk [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help       Prints help information   
+    -v, --version    Prints version information
+
+COMMANDS:
+    summary         Show a summarized report of all resources in   
+                    the system                                     
+    servers         Manage servers and their components            
+    switches        Manage network switches                        
+    routers         Manage network routers                         
+    firewalls       Manage firewalls                               
+    systems         Manage systems and their dependencies          
+    accesspoints    Manage access points                           
+    ups             Manage UPS units                               
+    desktops        Manage desktop computers and their components  
+    Laptops         Manage Laptop computers and their components   
+    services        Manage services and their configurations       
+```
+
+## `rpk summary`
+```
+DESCRIPTION:
+Show a summarized report of all resources in the system
+
+USAGE:
+    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 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 servers summary`
+```
+DESCRIPTION:
+Show a summarized hardware report for all servers
+
+USAGE:
+    rpk servers summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers add`
+```
+DESCRIPTION:
+Add a new server to the inventory
+
+USAGE:
+    rpk servers add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers get`
+```
+DESCRIPTION:
+List all servers or retrieve a specific server by name
+
+USAGE:
+    rpk servers get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers describe`
+```
+DESCRIPTION:
+Display detailed information about a specific server
+
+USAGE:
+    rpk servers describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers set`
+```
+DESCRIPTION:
+Update properties of an existing server
+
+USAGE:
+    rpk servers set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --ram <GB>                                
+        --ram_mts <MTS>                           
+        --ipmi                                    
+```
+
+## `rpk servers del`
+```
+DESCRIPTION:
+Delete a server from the inventory
+
+USAGE:
+    rpk servers del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers tree`
+```
+DESCRIPTION:
+Display the dependency tree of a server
+
+USAGE:
+    rpk servers tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers cpu`
+```
+DESCRIPTION:
+Manage CPUs attached to a server
+
+USAGE:
+    rpk servers cpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 servers cpu add`
+```
+DESCRIPTION:
+Add a CPU to a specific server
+
+USAGE:
+    rpk servers cpu add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help                 Prints help information
+        --model <MODEL>                               
+        --cores <CORES>                               
+        --threads <THREADS>                           
+```
+
+## `rpk servers cpu set`
+```
+DESCRIPTION:
+Update configuration of a server CPU
+
+USAGE:
+    rpk servers cpu set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help                 Prints help information
+        --index <INDEX>                               
+        --model <MODEL>                               
+        --cores <CORES>                               
+        --threads <THREADS>                           
+```
+
+## `rpk servers cpu del`
+```
+DESCRIPTION:
+Remove a CPU from a server
+
+USAGE:
+    rpk servers cpu del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk servers drive`
+```
+DESCRIPTION:
+Manage drives attached to a server
+
+USAGE:
+    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 servers drive add`
+```
+DESCRIPTION:
+Add a storage drive to a server
+
+USAGE:
+    rpk servers drive add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help           Prints help information
+        --type <TYPE>                           
+        --size <SIZE>                           
+```
+
+## `rpk servers drive set`
+```
+DESCRIPTION:
+Update properties of a server drive
+
+USAGE:
+    rpk servers drive set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type <TYPE>                             
+        --size <SIZE>                             
+```
+
+## `rpk servers drive del`
+```
+DESCRIPTION:
+Remove a drive from a server
+
+USAGE:
+    rpk servers drive del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk servers gpu`
+```
+DESCRIPTION:
+Manage GPUs attached to a server
+
+USAGE:
+    rpk servers gpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 servers gpu add`
+```
+DESCRIPTION:
+Add a GPU to a server
+
+USAGE:
+    rpk servers gpu add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --model <MODEL>                           
+        --vram <VRAM>                             
+```
+
+## `rpk servers gpu set`
+```
+DESCRIPTION:
+Update properties of a server GPU
+
+USAGE:
+    rpk servers gpu set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --model <MODEL>                           
+        --vram <VRAM>                             
+```
+
+## `rpk servers gpu del`
+```
+DESCRIPTION:
+Remove a GPU from a server
+
+USAGE:
+    rpk servers gpu del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk servers nic`
+```
+DESCRIPTION:
+Manage network interface cards (NICs) for a server
+
+USAGE:
+    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 servers nic add`
+```
+DESCRIPTION:
+Add a NIC to a server
+
+USAGE:
+    rpk servers nic add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --type <TYPE>                             
+        --speed <SPEED>                           
+        --ports <PORTS>                           
+```
+
+## `rpk servers nic set`
+```
+DESCRIPTION:
+Update properties of a server NIC
+
+USAGE:
+    rpk servers nic set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type <TYPE>                             
+        --speed <SPEED>                           
+        --ports <PORTS>                           
+```
+
+## `rpk servers nic del`
+```
+DESCRIPTION:
+Remove a NIC from a server
+
+USAGE:
+    rpk servers nic del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk switches`
+```
+DESCRIPTION:
+Manage network switches
+
+USAGE:
+    rpk switches [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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          
+    port               Manage ports on a network switch            
+```
+
+## `rpk switches summary`
+```
+DESCRIPTION:
+Show a hardware report for all switches
+
+USAGE:
+    rpk switches summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches add`
+```
+DESCRIPTION:
+Add a new network switch to the inventory
+
+USAGE:
+    rpk switches add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches list`
+```
+DESCRIPTION:
+List all switches in the system
+
+USAGE:
+    rpk switches list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches get`
+```
+DESCRIPTION:
+Retrieve details of a specific switch by name
+
+USAGE:
+    rpk switches get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches describe`
+```
+DESCRIPTION:
+Show detailed information about a switch
+
+USAGE:
+    rpk switches describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches set`
+```
+DESCRIPTION:
+Update properties of a switch
+
+USAGE:
+    rpk switches set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --Model                             
+        --managed                           
+        --poe                               
+```
+
+## `rpk switches del`
+```
+DESCRIPTION:
+Delete a switch from the inventory
+
+USAGE:
+    rpk switches del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches port`
+```
+DESCRIPTION:
+Manage ports on a network switch
+
+USAGE:
+    rpk switches port [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a port to a switch     
+    set <name>    Update a switch port       
+    del <name>    Remove a port from a switch
+```
+
+## `rpk switches port add`
+```
+DESCRIPTION:
+Add a port to a switch
+
+USAGE:
+    rpk switches port add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information          
+        --type     The port type (e.g., rj45, sfp+) 
+        --speed    The port speed (e.g., 1, 2.5, 10)
+        --count    Number of ports of this type     
+```
+
+## `rpk switches port set`
+```
+DESCRIPTION:
+Update a switch port
+
+USAGE:
+    rpk switches port set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type                                    
+        --speed                                   
+        --count                                   
+```
+
+## `rpk switches port del`
+```
+DESCRIPTION:
+Remove a port from a switch
+
+USAGE:
+    rpk switches port del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk routers`
+```
+DESCRIPTION:
+Manage network routers
+
+USAGE:
+    rpk routers [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    summary            Show a hardware report for all routers      
+    add <name>         Add a new network router to the inventory   
+    list               List all routers in the system              
+    get <name>         Retrieve details of a specific router by    
+                       name                                        
+    describe <name>    Show detailed information about a router    
+    set <name>         Update properties of a router               
+    del <name>         Delete a router from the inventory          
+    port               Manage ports on a router                    
+```
+
+## `rpk routers summary`
+```
+DESCRIPTION:
+Show a hardware report for all routers
+
+USAGE:
+    rpk routers summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers add`
+```
+DESCRIPTION:
+Add a new network router to the inventory
+
+USAGE:
+    rpk routers add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers list`
+```
+DESCRIPTION:
+List all routers in the system
+
+USAGE:
+    rpk routers list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers get`
+```
+DESCRIPTION:
+Retrieve details of a specific router by name
+
+USAGE:
+    rpk routers get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers describe`
+```
+DESCRIPTION:
+Show detailed information about a router
+
+USAGE:
+    rpk routers describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers set`
+```
+DESCRIPTION:
+Update properties of a router
+
+USAGE:
+    rpk routers set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --Model                             
+        --managed                           
+        --poe                               
+```
+
+## `rpk routers del`
+```
+DESCRIPTION:
+Delete a router from the inventory
+
+USAGE:
+    rpk routers del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers port`
+```
+DESCRIPTION:
+Manage ports on a router
+
+USAGE:
+    rpk routers port [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a port to a router     
+    set <name>    Update a router port       
+    del <name>    Remove a port from a router
+```
+
+## `rpk routers port add`
+```
+DESCRIPTION:
+Add a port to a router
+
+USAGE:
+    rpk routers port add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --type                            
+        --speed                           
+        --count                           
+```
+
+## `rpk routers port set`
+```
+DESCRIPTION:
+Update a router port
+
+USAGE:
+    rpk routers port set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type                                    
+        --speed                                   
+        --count                                   
+```
+
+## `rpk routers port del`
+```
+DESCRIPTION:
+Remove a port from a router
+
+USAGE:
+    rpk routers port del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk firewalls`
+```
+DESCRIPTION:
+Manage firewalls
+
+USAGE:
+    rpk firewalls [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    summary            Show a hardware report for all firewalls    
+    add <name>         Add a new firewall to the inventory         
+    list               List all firewalls in the system            
+    get <name>         Retrieve details of a specific firewall by  
+                       name                                        
+    describe <name>    Show detailed information about a firewall  
+    set <name>         Update properties of a firewall             
+    del <name>         Delete a firewall from the inventory        
+    port               Manage ports on a firewall                  
+```
+
+## `rpk firewalls summary`
+```
+DESCRIPTION:
+Show a hardware report for all firewalls
+
+USAGE:
+    rpk firewalls summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls add`
+```
+DESCRIPTION:
+Add a new firewall to the inventory
+
+USAGE:
+    rpk firewalls add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls list`
+```
+DESCRIPTION:
+List all firewalls in the system
+
+USAGE:
+    rpk firewalls list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls get`
+```
+DESCRIPTION:
+Retrieve details of a specific firewall by name
+
+USAGE:
+    rpk firewalls get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls describe`
+```
+DESCRIPTION:
+Show detailed information about a firewall
+
+USAGE:
+    rpk firewalls describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls set`
+```
+DESCRIPTION:
+Update properties of a firewall
+
+USAGE:
+    rpk firewalls set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --Model                             
+        --managed                           
+        --poe                               
+```
+
+## `rpk firewalls del`
+```
+DESCRIPTION:
+Delete a firewall from the inventory
+
+USAGE:
+    rpk firewalls del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls port`
+```
+DESCRIPTION:
+Manage ports on a firewall
+
+USAGE:
+    rpk firewalls port [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a port to a firewall     
+    set <name>    Update a firewall port       
+    del <name>    Remove a port from a firewall
+```
+
+## `rpk firewalls port add`
+```
+DESCRIPTION:
+Add a port to a firewall
+
+USAGE:
+    rpk firewalls port add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --type                            
+        --speed                           
+        --count                           
+```
+
+## `rpk firewalls port set`
+```
+DESCRIPTION:
+Update a firewall port
+
+USAGE:
+    rpk firewalls port set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type                                    
+        --speed                                   
+        --count                                   
+```
+
+## `rpk firewalls port del`
+```
+DESCRIPTION:
+Remove a port from a firewall
+
+USAGE:
+    rpk firewalls port del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk systems`
+```
+DESCRIPTION:
+Manage systems and their dependencies
+
+USAGE:
+    rpk systems [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 systems summary`
+```
+DESCRIPTION:
+Show a summary report for all systems
+
+USAGE:
+    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>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems list`
+```
+DESCRIPTION:
+List all systems
+
+USAGE:
+    rpk systems list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems get`
+```
+DESCRIPTION:
+Retrieve a system by name
+
+USAGE:
+    rpk systems get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the system
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems describe`
+```
+DESCRIPTION:
+Display detailed information about a system
+
+USAGE:
+    rpk systems describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the system
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems set`
+```
+DESCRIPTION:
+Update properties of a system
+
+USAGE:
+    rpk systems set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --type                              
+        --os                                
+        --cores                             
+        --ram                               
+        --runs-on                           
+```
+
+## `rpk systems del`
+```
+DESCRIPTION:
+Delete a system from the inventory
+
+USAGE:
+    rpk systems del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the system
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems tree`
+```
+DESCRIPTION:
+Display the dependency tree for a system
+
+USAGE:
+    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:
+    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 accesspoints summary`
+```
+DESCRIPTION:
+Show a hardware report for all access points
+
+USAGE:
+    rpk accesspoints summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints add`
+```
+DESCRIPTION:
+Add a new access point
+
+USAGE:
+    rpk accesspoints add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints list`
+```
+DESCRIPTION:
+List all access points
+
+USAGE:
+    rpk accesspoints list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints get`
+```
+DESCRIPTION:
+Retrieve an access point by name
+
+USAGE:
+    rpk accesspoints get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints describe`
+```
+DESCRIPTION:
+Show detailed information about an access point
+
+USAGE:
+    rpk accesspoints describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints set`
+```
+DESCRIPTION:
+Update properties of an access point
+
+USAGE:
+    rpk accesspoints set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information            
+        --model    The access point model name        
+        --speed    The speed of the access point in Gb
+```
+
+## `rpk accesspoints del`
+```
+DESCRIPTION:
+Delete an access point
+
+USAGE:
+    rpk accesspoints del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups`
+```
+DESCRIPTION:
+Manage UPS units
+
+USAGE:
+    rpk ups [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    summary            Show 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 ups summary`
+```
+DESCRIPTION:
+Show a hardware report for all UPS units
+
+USAGE:
+    rpk ups summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups add`
+```
+DESCRIPTION:
+Add a new UPS unit
+
+USAGE:
+    rpk ups add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups list`
+```
+DESCRIPTION:
+List all UPS units
+
+USAGE:
+    rpk ups list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups get`
+```
+DESCRIPTION:
+Retrieve a UPS unit by name
+
+USAGE:
+    rpk ups get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups describe`
+```
+DESCRIPTION:
+Show detailed information about a UPS unit
+
+USAGE:
+    rpk ups describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups set`
+```
+DESCRIPTION:
+Update properties of a UPS unit
+
+USAGE:
+    rpk ups set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --model                           
+        --va                              
+```
+
+## `rpk ups del`
+```
+DESCRIPTION:
+Delete a UPS unit
+
+USAGE:
+    rpk ups del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops`
+```
+DESCRIPTION:
+Manage desktop computers and their components
+
+USAGE:
+    rpk desktops [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops add`
+```
+DESCRIPTION:
+Add a new desktop
+
+USAGE:
+    rpk desktops add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops list`
+```
+DESCRIPTION:
+List all desktops
+
+USAGE:
+    rpk desktops list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops get`
+```
+DESCRIPTION:
+Retrieve a desktop by name
+
+USAGE:
+    rpk desktops get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops describe`
+```
+DESCRIPTION:
+Show detailed information about a desktop
+
+USAGE:
+    rpk desktops describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops set`
+```
+DESCRIPTION:
+Update properties of a desktop
+
+USAGE:
+    rpk desktops set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --model                           
+```
+
+## `rpk desktops del`
+```
+DESCRIPTION:
+Delete a desktop from the inventory
+
+USAGE:
+    rpk desktops del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops summary`
+```
+DESCRIPTION:
+Show a summarized hardware report for all desktops
+
+USAGE:
+    rpk desktops summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops tree`
+```
+DESCRIPTION:
+Display the dependency tree for a desktop
+
+USAGE:
+    rpk desktops tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops cpu`
+```
+DESCRIPTION:
+Manage CPUs attached to desktops
+
+USAGE:
+    rpk desktops cpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops cpu add`
+```
+DESCRIPTION:
+Add a CPU to a desktop
+
+USAGE:
+    rpk desktops cpu add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The model name           
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk desktops cpu set`
+```
+DESCRIPTION:
+Update a desktop CPU
+
+USAGE:
+    rpk desktops cpu set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name            
+    <index>      The index of the desktop cpu
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The cpu model            
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk desktops cpu del`
+```
+DESCRIPTION:
+Remove a CPU from a desktop
+
+USAGE:
+    rpk desktops cpu del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop               
+    <index>      The index of the desktop cpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops drive`
+```
+DESCRIPTION:
+Manage storage drives attached to desktops
+
+USAGE:
+    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 desktops drive add`
+```
+DESCRIPTION:
+Add a drive to a desktop
+
+USAGE:
+    rpk desktops drive add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk desktops drive set`
+```
+DESCRIPTION:
+Update a desktop drive
+
+USAGE:
+    rpk desktops drive set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name         
+    <index>      The drive index to update
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk desktops drive del`
+```
+DESCRIPTION:
+Remove a drive from a desktop
+
+USAGE:
+    rpk desktops drive del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop         
+    <index>      The index of the drive to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops gpu`
+```
+DESCRIPTION:
+Manage GPUs attached to desktops
+
+USAGE:
+    rpk desktops gpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops gpu add`
+```
+DESCRIPTION:
+Add a GPU to a desktop
+
+USAGE:
+    rpk desktops gpu add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The Gpu model               
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk desktops gpu set`
+```
+DESCRIPTION:
+Update a desktop GPU
+
+USAGE:
+    rpk desktops gpu set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the gpu to update
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The gpu model name          
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk desktops gpu del`
+```
+DESCRIPTION:
+Remove a GPU from a desktop
+
+USAGE:
+    rpk desktops gpu del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the Gpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops nic`
+```
+DESCRIPTION:
+Manage network interface cards (NICs) for desktops
+
+USAGE:
+    rpk desktops nic [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops nic add`
+```
+DESCRIPTION:
+Add a NIC to a desktop
+
+USAGE:
+    rpk desktops nic add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name
+
+OPTIONS:
+    -h, --help     Prints help information          
+        --type     The nic port type e.g rj45 / sfp+
+        --speed    The port speed                   
+        --ports    The number of ports              
+```
+
+## `rpk desktops nic set`
+```
+DESCRIPTION:
+Update a desktop NIC
+
+USAGE:
+    rpk desktops nic set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the nic to remove
+
+OPTIONS:
+    -h, --help     Prints help information          
+        --type     The nic port type e.g rj45 / sfp+
+        --speed    The speed of the nic in Gb/s     
+        --ports    The number of ports              
+```
+
+## `rpk desktops nic del`
+```
+DESCRIPTION:
+Remove a NIC from a desktop
+
+USAGE:
+    rpk desktops nic del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the nic to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops`
+```
+DESCRIPTION:
+Manage Laptop computers and their components
+
+USAGE:
+    rpk Laptops [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>         Add a new Laptop                            
+    list               List all Laptops                            
+    get <name>         Retrieve a Laptop by name                   
+    describe <name>    Show detailed information about a Laptop    
+    del <name>         Delete a Laptop from the inventory          
+    summary            Show a summarized hardware report for all   
+                       Laptops                                     
+    tree <name>        Display the dependency tree for a Laptop    
+    cpu                Manage CPUs attached to Laptops             
+    drive              Manage storage drives attached to Laptops   
+    gpu                Manage GPUs attached to Laptops             
+```
+
+## `rpk Laptops add`
+```
+DESCRIPTION:
+Add a new Laptop
+
+USAGE:
+    rpk Laptops add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops list`
+```
+DESCRIPTION:
+List all Laptops
+
+USAGE:
+    rpk Laptops list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops get`
+```
+DESCRIPTION:
+Retrieve a Laptop by name
+
+USAGE:
+    rpk Laptops get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops describe`
+```
+DESCRIPTION:
+Show detailed information about a Laptop
+
+USAGE:
+    rpk Laptops describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops del`
+```
+DESCRIPTION:
+Delete a Laptop from the inventory
+
+USAGE:
+    rpk Laptops del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops summary`
+```
+DESCRIPTION:
+Show a summarized hardware report for all Laptops
+
+USAGE:
+    rpk Laptops summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops tree`
+```
+DESCRIPTION:
+Display the dependency tree for a Laptop
+
+USAGE:
+    rpk Laptops tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops cpu`
+```
+DESCRIPTION:
+Manage CPUs attached to Laptops
+
+USAGE:
+    rpk Laptops cpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <Laptop>            Add a CPU to a Laptop     
+    set <Laptop> <index>    Update a Laptop CPU       
+    del <Laptop> <index>    Remove a CPU from a Laptop
+```
+
+## `rpk Laptops cpu add`
+```
+DESCRIPTION:
+Add a CPU to a Laptop
+
+USAGE:
+    rpk Laptops cpu add <Laptop> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The model name           
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk Laptops cpu set`
+```
+DESCRIPTION:
+Update a Laptop CPU
+
+USAGE:
+    rpk Laptops cpu set <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name            
+    <index>     The index of the Laptop cpu
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The cpu model            
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk Laptops cpu del`
+```
+DESCRIPTION:
+Remove a CPU from a Laptop
+
+USAGE:
+    rpk Laptops cpu del <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop               
+    <index>     The index of the Laptop cpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops drive`
+```
+DESCRIPTION:
+Manage storage drives attached to Laptops
+
+USAGE:
+    rpk Laptops drive [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <Laptop>            Add a drive to a Laptop     
+    set <Laptop> <index>    Update a Laptop drive       
+    del <Laptop> <index>    Remove a drive from a Laptop
+```
+
+## `rpk Laptops drive add`
+```
+DESCRIPTION:
+Add a drive to a Laptop
+
+USAGE:
+    rpk Laptops drive add <Laptop> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk Laptops drive set`
+```
+DESCRIPTION:
+Update a Laptop drive
+
+USAGE:
+    rpk Laptops drive set <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name          
+    <index>     The drive index to update
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk Laptops drive del`
+```
+DESCRIPTION:
+Remove a drive from a Laptop
+
+USAGE:
+    rpk Laptops drive del <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop          
+    <index>     The index of the drive to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops gpu`
+```
+DESCRIPTION:
+Manage GPUs attached to Laptops
+
+USAGE:
+    rpk Laptops gpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <Laptop>            Add a GPU to a Laptop     
+    set <Laptop> <index>    Update a Laptop GPU       
+    del <Laptop> <index>    Remove a GPU from a Laptop
+```
+
+## `rpk Laptops gpu add`
+```
+DESCRIPTION:
+Add a GPU to a Laptop
+
+USAGE:
+    rpk Laptops gpu add <Laptop> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The Gpu model               
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk Laptops gpu set`
+```
+DESCRIPTION:
+Update a Laptop GPU
+
+USAGE:
+    rpk Laptops gpu set <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name               
+    <index>     The index of the gpu to update
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The gpu model name          
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk Laptops gpu del`
+```
+DESCRIPTION:
+Remove a GPU from a Laptop
+
+USAGE:
+    rpk Laptops gpu del <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name               
+    <index>     The index of the Gpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services`
+```
+DESCRIPTION:
+Manage services and their configurations
+
+USAGE:
+    rpk services [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 services summary`
+```
+DESCRIPTION:
+Show a summary report for all services
+
+USAGE:
+    rpk services summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services add`
+```
+DESCRIPTION:
+Add a new service
+
+USAGE:
+    rpk services add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services list`
+```
+DESCRIPTION:
+List all services
+
+USAGE:
+    rpk services list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services get`
+```
+DESCRIPTION:
+Retrieve a service by name
+
+USAGE:
+    rpk services get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services describe`
+```
+DESCRIPTION:
+Show detailed information about a service
+
+USAGE:
+    rpk services describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services set`
+```
+DESCRIPTION:
+Update properties of a service
+
+USAGE:
+    rpk services set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help        Prints help information             
+        --ip          The ip address of the service       
+        --port        The port the service is running on  
+        --protocol    The service protocol                
+        --url         The service URL                     
+        --runs-on     The system the service is running on
+```
+
+## `rpk services del`
+```
+DESCRIPTION:
+Delete a service
+
+USAGE:
+    rpk services del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk 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>                           
+```
+

+ 0 - 0
CommandIndex.md → docs/CommandIndex.md


+ 2309 - 0
docs/Commands.md

@@ -0,0 +1,2309 @@
+# CLI Commands
+
+## `rpk`
+```
+USAGE:
+    rpk [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help       Prints help information   
+    -v, --version    Prints version information
+
+COMMANDS:
+    summary         Show a summarized report of all resources in   
+                    the system                                     
+    servers         Manage servers and their components            
+    switches        Manage network switches                        
+    routers         Manage network routers                         
+    firewalls       Manage firewalls                               
+    systems         Manage systems and their dependencies          
+    accesspoints    Manage access points                           
+    ups             Manage UPS units                               
+    desktops        Manage desktop computers and their components  
+    Laptops         Manage Laptop computers and their components   
+    services        Manage services and their configurations       
+```
+
+## `rpk summary`
+```
+DESCRIPTION:
+Show a summarized report of all resources in the system
+
+USAGE:
+    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 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 servers summary`
+```
+DESCRIPTION:
+Show a summarized hardware report for all servers
+
+USAGE:
+    rpk servers summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers add`
+```
+DESCRIPTION:
+Add a new server to the inventory
+
+USAGE:
+    rpk servers add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers get`
+```
+DESCRIPTION:
+List all servers or retrieve a specific server by name
+
+USAGE:
+    rpk servers get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers describe`
+```
+DESCRIPTION:
+Display detailed information about a specific server
+
+USAGE:
+    rpk servers describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers set`
+```
+DESCRIPTION:
+Update properties of an existing server
+
+USAGE:
+    rpk servers set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --ram <GB>                                
+        --ram_mts <MTS>                           
+        --ipmi                                    
+```
+
+## `rpk servers del`
+```
+DESCRIPTION:
+Delete a server from the inventory
+
+USAGE:
+    rpk servers del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers tree`
+```
+DESCRIPTION:
+Display the dependency tree of a server
+
+USAGE:
+    rpk servers tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk servers cpu`
+```
+DESCRIPTION:
+Manage CPUs attached to a server
+
+USAGE:
+    rpk servers cpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 servers cpu add`
+```
+DESCRIPTION:
+Add a CPU to a specific server
+
+USAGE:
+    rpk servers cpu add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help                 Prints help information
+        --model <MODEL>                               
+        --cores <CORES>                               
+        --threads <THREADS>                           
+```
+
+## `rpk servers cpu set`
+```
+DESCRIPTION:
+Update configuration of a server CPU
+
+USAGE:
+    rpk servers cpu set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help                 Prints help information
+        --index <INDEX>                               
+        --model <MODEL>                               
+        --cores <CORES>                               
+        --threads <THREADS>                           
+```
+
+## `rpk servers cpu del`
+```
+DESCRIPTION:
+Remove a CPU from a server
+
+USAGE:
+    rpk servers cpu del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk servers drive`
+```
+DESCRIPTION:
+Manage drives attached to a server
+
+USAGE:
+    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 servers drive add`
+```
+DESCRIPTION:
+Add a storage drive to a server
+
+USAGE:
+    rpk servers drive add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help           Prints help information
+        --type <TYPE>                           
+        --size <SIZE>                           
+```
+
+## `rpk servers drive set`
+```
+DESCRIPTION:
+Update properties of a server drive
+
+USAGE:
+    rpk servers drive set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type <TYPE>                             
+        --size <SIZE>                             
+```
+
+## `rpk servers drive del`
+```
+DESCRIPTION:
+Remove a drive from a server
+
+USAGE:
+    rpk servers drive del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk servers gpu`
+```
+DESCRIPTION:
+Manage GPUs attached to a server
+
+USAGE:
+    rpk servers gpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 servers gpu add`
+```
+DESCRIPTION:
+Add a GPU to a server
+
+USAGE:
+    rpk servers gpu add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --model <MODEL>                           
+        --vram <VRAM>                             
+```
+
+## `rpk servers gpu set`
+```
+DESCRIPTION:
+Update properties of a server GPU
+
+USAGE:
+    rpk servers gpu set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --model <MODEL>                           
+        --vram <VRAM>                             
+```
+
+## `rpk servers gpu del`
+```
+DESCRIPTION:
+Remove a GPU from a server
+
+USAGE:
+    rpk servers gpu del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk servers nic`
+```
+DESCRIPTION:
+Manage network interface cards (NICs) for a server
+
+USAGE:
+    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 servers nic add`
+```
+DESCRIPTION:
+Add a NIC to a server
+
+USAGE:
+    rpk servers nic add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --type <TYPE>                             
+        --speed <SPEED>                           
+        --ports <PORTS>                           
+```
+
+## `rpk servers nic set`
+```
+DESCRIPTION:
+Update properties of a server NIC
+
+USAGE:
+    rpk servers nic set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type <TYPE>                             
+        --speed <SPEED>                           
+        --ports <PORTS>                           
+```
+
+## `rpk servers nic del`
+```
+DESCRIPTION:
+Remove a NIC from a server
+
+USAGE:
+    rpk servers nic del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk switches`
+```
+DESCRIPTION:
+Manage network switches
+
+USAGE:
+    rpk switches [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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          
+    port               Manage ports on a network switch            
+```
+
+## `rpk switches summary`
+```
+DESCRIPTION:
+Show a hardware report for all switches
+
+USAGE:
+    rpk switches summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches add`
+```
+DESCRIPTION:
+Add a new network switch to the inventory
+
+USAGE:
+    rpk switches add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches list`
+```
+DESCRIPTION:
+List all switches in the system
+
+USAGE:
+    rpk switches list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches get`
+```
+DESCRIPTION:
+Retrieve details of a specific switch by name
+
+USAGE:
+    rpk switches get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches describe`
+```
+DESCRIPTION:
+Show detailed information about a switch
+
+USAGE:
+    rpk switches describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches set`
+```
+DESCRIPTION:
+Update properties of a switch
+
+USAGE:
+    rpk switches set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --Model                             
+        --managed                           
+        --poe                               
+```
+
+## `rpk switches del`
+```
+DESCRIPTION:
+Delete a switch from the inventory
+
+USAGE:
+    rpk switches del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk switches port`
+```
+DESCRIPTION:
+Manage ports on a network switch
+
+USAGE:
+    rpk switches port [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a port to a switch     
+    set <name>    Update a switch port       
+    del <name>    Remove a port from a switch
+```
+
+## `rpk switches port add`
+```
+DESCRIPTION:
+Add a port to a switch
+
+USAGE:
+    rpk switches port add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information          
+        --type     The port type (e.g., rj45, sfp+) 
+        --speed    The port speed (e.g., 1, 2.5, 10)
+        --count    Number of ports of this type     
+```
+
+## `rpk switches port set`
+```
+DESCRIPTION:
+Update a switch port
+
+USAGE:
+    rpk switches port set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type                                    
+        --speed                                   
+        --count                                   
+```
+
+## `rpk switches port del`
+```
+DESCRIPTION:
+Remove a port from a switch
+
+USAGE:
+    rpk switches port del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk routers`
+```
+DESCRIPTION:
+Manage network routers
+
+USAGE:
+    rpk routers [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    summary            Show a hardware report for all routers      
+    add <name>         Add a new network router to the inventory   
+    list               List all routers in the system              
+    get <name>         Retrieve details of a specific router by    
+                       name                                        
+    describe <name>    Show detailed information about a router    
+    set <name>         Update properties of a router               
+    del <name>         Delete a router from the inventory          
+    port               Manage ports on a router                    
+```
+
+## `rpk routers summary`
+```
+DESCRIPTION:
+Show a hardware report for all routers
+
+USAGE:
+    rpk routers summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers add`
+```
+DESCRIPTION:
+Add a new network router to the inventory
+
+USAGE:
+    rpk routers add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers list`
+```
+DESCRIPTION:
+List all routers in the system
+
+USAGE:
+    rpk routers list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers get`
+```
+DESCRIPTION:
+Retrieve details of a specific router by name
+
+USAGE:
+    rpk routers get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers describe`
+```
+DESCRIPTION:
+Show detailed information about a router
+
+USAGE:
+    rpk routers describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers set`
+```
+DESCRIPTION:
+Update properties of a router
+
+USAGE:
+    rpk routers set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --Model                             
+        --managed                           
+        --poe                               
+```
+
+## `rpk routers del`
+```
+DESCRIPTION:
+Delete a router from the inventory
+
+USAGE:
+    rpk routers del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk routers port`
+```
+DESCRIPTION:
+Manage ports on a router
+
+USAGE:
+    rpk routers port [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a port to a router     
+    set <name>    Update a router port       
+    del <name>    Remove a port from a router
+```
+
+## `rpk routers port add`
+```
+DESCRIPTION:
+Add a port to a router
+
+USAGE:
+    rpk routers port add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --type                            
+        --speed                           
+        --count                           
+```
+
+## `rpk routers port set`
+```
+DESCRIPTION:
+Update a router port
+
+USAGE:
+    rpk routers port set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type                                    
+        --speed                                   
+        --count                                   
+```
+
+## `rpk routers port del`
+```
+DESCRIPTION:
+Remove a port from a router
+
+USAGE:
+    rpk routers port del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk firewalls`
+```
+DESCRIPTION:
+Manage firewalls
+
+USAGE:
+    rpk firewalls [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    summary            Show a hardware report for all firewalls    
+    add <name>         Add a new firewall to the inventory         
+    list               List all firewalls in the system            
+    get <name>         Retrieve details of a specific firewall by  
+                       name                                        
+    describe <name>    Show detailed information about a firewall  
+    set <name>         Update properties of a firewall             
+    del <name>         Delete a firewall from the inventory        
+    port               Manage ports on a firewall                  
+```
+
+## `rpk firewalls summary`
+```
+DESCRIPTION:
+Show a hardware report for all firewalls
+
+USAGE:
+    rpk firewalls summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls add`
+```
+DESCRIPTION:
+Add a new firewall to the inventory
+
+USAGE:
+    rpk firewalls add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls list`
+```
+DESCRIPTION:
+List all firewalls in the system
+
+USAGE:
+    rpk firewalls list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls get`
+```
+DESCRIPTION:
+Retrieve details of a specific firewall by name
+
+USAGE:
+    rpk firewalls get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls describe`
+```
+DESCRIPTION:
+Show detailed information about a firewall
+
+USAGE:
+    rpk firewalls describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls set`
+```
+DESCRIPTION:
+Update properties of a firewall
+
+USAGE:
+    rpk firewalls set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --Model                             
+        --managed                           
+        --poe                               
+```
+
+## `rpk firewalls del`
+```
+DESCRIPTION:
+Delete a firewall from the inventory
+
+USAGE:
+    rpk firewalls del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk firewalls port`
+```
+DESCRIPTION:
+Manage ports on a firewall
+
+USAGE:
+    rpk firewalls port [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>    Add a port to a firewall     
+    set <name>    Update a firewall port       
+    del <name>    Remove a port from a firewall
+```
+
+## `rpk firewalls port add`
+```
+DESCRIPTION:
+Add a port to a firewall
+
+USAGE:
+    rpk firewalls port add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --type                            
+        --speed                           
+        --count                           
+```
+
+## `rpk firewalls port set`
+```
+DESCRIPTION:
+Update a firewall port
+
+USAGE:
+    rpk firewalls port set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+        --type                                    
+        --speed                                   
+        --count                                   
+```
+
+## `rpk firewalls port del`
+```
+DESCRIPTION:
+Remove a port from a firewall
+
+USAGE:
+    rpk firewalls port del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help             Prints help information
+        --index <INDEX>                           
+```
+
+## `rpk systems`
+```
+DESCRIPTION:
+Manage systems and their dependencies
+
+USAGE:
+    rpk systems [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 systems summary`
+```
+DESCRIPTION:
+Show a summary report for all systems
+
+USAGE:
+    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>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems list`
+```
+DESCRIPTION:
+List all systems
+
+USAGE:
+    rpk systems list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems get`
+```
+DESCRIPTION:
+Retrieve a system by name
+
+USAGE:
+    rpk systems get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the system
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems describe`
+```
+DESCRIPTION:
+Display detailed information about a system
+
+USAGE:
+    rpk systems describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the system
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems set`
+```
+DESCRIPTION:
+Update properties of a system
+
+USAGE:
+    rpk systems set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help       Prints help information
+        --type                              
+        --os                                
+        --cores                             
+        --ram                               
+        --runs-on                           
+```
+
+## `rpk systems del`
+```
+DESCRIPTION:
+Delete a system from the inventory
+
+USAGE:
+    rpk systems del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the system
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk systems tree`
+```
+DESCRIPTION:
+Display the dependency tree for a system
+
+USAGE:
+    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:
+    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 accesspoints summary`
+```
+DESCRIPTION:
+Show a hardware report for all access points
+
+USAGE:
+    rpk accesspoints summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints add`
+```
+DESCRIPTION:
+Add a new access point
+
+USAGE:
+    rpk accesspoints add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints list`
+```
+DESCRIPTION:
+List all access points
+
+USAGE:
+    rpk accesspoints list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints get`
+```
+DESCRIPTION:
+Retrieve an access point by name
+
+USAGE:
+    rpk accesspoints get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints describe`
+```
+DESCRIPTION:
+Show detailed information about an access point
+
+USAGE:
+    rpk accesspoints describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk accesspoints set`
+```
+DESCRIPTION:
+Update properties of an access point
+
+USAGE:
+    rpk accesspoints set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information            
+        --model    The access point model name        
+        --speed    The speed of the access point in Gb
+```
+
+## `rpk accesspoints del`
+```
+DESCRIPTION:
+Delete an access point
+
+USAGE:
+    rpk accesspoints del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The access point name
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups`
+```
+DESCRIPTION:
+Manage UPS units
+
+USAGE:
+    rpk ups [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    summary            Show 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 ups summary`
+```
+DESCRIPTION:
+Show a hardware report for all UPS units
+
+USAGE:
+    rpk ups summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups add`
+```
+DESCRIPTION:
+Add a new UPS unit
+
+USAGE:
+    rpk ups add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups list`
+```
+DESCRIPTION:
+List all UPS units
+
+USAGE:
+    rpk ups list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups get`
+```
+DESCRIPTION:
+Retrieve a UPS unit by name
+
+USAGE:
+    rpk ups get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups describe`
+```
+DESCRIPTION:
+Show detailed information about a UPS unit
+
+USAGE:
+    rpk ups describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk ups set`
+```
+DESCRIPTION:
+Update properties of a UPS unit
+
+USAGE:
+    rpk ups set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --model                           
+        --va                              
+```
+
+## `rpk ups del`
+```
+DESCRIPTION:
+Delete a UPS unit
+
+USAGE:
+    rpk ups del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops`
+```
+DESCRIPTION:
+Manage desktop computers and their components
+
+USAGE:
+    rpk desktops [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops add`
+```
+DESCRIPTION:
+Add a new desktop
+
+USAGE:
+    rpk desktops add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops list`
+```
+DESCRIPTION:
+List all desktops
+
+USAGE:
+    rpk desktops list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops get`
+```
+DESCRIPTION:
+Retrieve a desktop by name
+
+USAGE:
+    rpk desktops get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops describe`
+```
+DESCRIPTION:
+Show detailed information about a desktop
+
+USAGE:
+    rpk desktops describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops set`
+```
+DESCRIPTION:
+Update properties of a desktop
+
+USAGE:
+    rpk desktops set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help     Prints help information
+        --model                           
+```
+
+## `rpk desktops del`
+```
+DESCRIPTION:
+Delete a desktop from the inventory
+
+USAGE:
+    rpk desktops del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops summary`
+```
+DESCRIPTION:
+Show a summarized hardware report for all desktops
+
+USAGE:
+    rpk desktops summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops tree`
+```
+DESCRIPTION:
+Display the dependency tree for a desktop
+
+USAGE:
+    rpk desktops tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops cpu`
+```
+DESCRIPTION:
+Manage CPUs attached to desktops
+
+USAGE:
+    rpk desktops cpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops cpu add`
+```
+DESCRIPTION:
+Add a CPU to a desktop
+
+USAGE:
+    rpk desktops cpu add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The model name           
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk desktops cpu set`
+```
+DESCRIPTION:
+Update a desktop CPU
+
+USAGE:
+    rpk desktops cpu set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name            
+    <index>      The index of the desktop cpu
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The cpu model            
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk desktops cpu del`
+```
+DESCRIPTION:
+Remove a CPU from a desktop
+
+USAGE:
+    rpk desktops cpu del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop               
+    <index>      The index of the desktop cpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops drive`
+```
+DESCRIPTION:
+Manage storage drives attached to desktops
+
+USAGE:
+    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 desktops drive add`
+```
+DESCRIPTION:
+Add a drive to a desktop
+
+USAGE:
+    rpk desktops drive add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk desktops drive set`
+```
+DESCRIPTION:
+Update a desktop drive
+
+USAGE:
+    rpk desktops drive set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name         
+    <index>      The drive index to update
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk desktops drive del`
+```
+DESCRIPTION:
+Remove a drive from a desktop
+
+USAGE:
+    rpk desktops drive del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop         
+    <index>      The index of the drive to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops gpu`
+```
+DESCRIPTION:
+Manage GPUs attached to desktops
+
+USAGE:
+    rpk desktops gpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops gpu add`
+```
+DESCRIPTION:
+Add a GPU to a desktop
+
+USAGE:
+    rpk desktops gpu add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The name of the desktop
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The Gpu model               
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk desktops gpu set`
+```
+DESCRIPTION:
+Update a desktop GPU
+
+USAGE:
+    rpk desktops gpu set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the gpu to update
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The gpu model name          
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk desktops gpu del`
+```
+DESCRIPTION:
+Remove a GPU from a desktop
+
+USAGE:
+    rpk desktops gpu del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the Gpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk desktops nic`
+```
+DESCRIPTION:
+Manage network interface cards (NICs) for desktops
+
+USAGE:
+    rpk desktops nic [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 desktops nic add`
+```
+DESCRIPTION:
+Add a NIC to a desktop
+
+USAGE:
+    rpk desktops nic add <desktop> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name
+
+OPTIONS:
+    -h, --help     Prints help information          
+        --type     The nic port type e.g rj45 / sfp+
+        --speed    The port speed                   
+        --ports    The number of ports              
+```
+
+## `rpk desktops nic set`
+```
+DESCRIPTION:
+Update a desktop NIC
+
+USAGE:
+    rpk desktops nic set <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the nic to remove
+
+OPTIONS:
+    -h, --help     Prints help information          
+        --type     The nic port type e.g rj45 / sfp+
+        --speed    The speed of the nic in Gb/s     
+        --ports    The number of ports              
+```
+
+## `rpk desktops nic del`
+```
+DESCRIPTION:
+Remove a NIC from a desktop
+
+USAGE:
+    rpk desktops nic del <desktop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <desktop>    The desktop name              
+    <index>      The index of the nic to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops`
+```
+DESCRIPTION:
+Manage Laptop computers and their components
+
+USAGE:
+    rpk Laptops [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <name>         Add a new Laptop                            
+    list               List all Laptops                            
+    get <name>         Retrieve a Laptop by name                   
+    describe <name>    Show detailed information about a Laptop    
+    del <name>         Delete a Laptop from the inventory          
+    summary            Show a summarized hardware report for all   
+                       Laptops                                     
+    tree <name>        Display the dependency tree for a Laptop    
+    cpu                Manage CPUs attached to Laptops             
+    drive              Manage storage drives attached to Laptops   
+    gpu                Manage GPUs attached to Laptops             
+```
+
+## `rpk Laptops add`
+```
+DESCRIPTION:
+Add a new Laptop
+
+USAGE:
+    rpk Laptops add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops list`
+```
+DESCRIPTION:
+List all Laptops
+
+USAGE:
+    rpk Laptops list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops get`
+```
+DESCRIPTION:
+Retrieve a Laptop by name
+
+USAGE:
+    rpk Laptops get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops describe`
+```
+DESCRIPTION:
+Show detailed information about a Laptop
+
+USAGE:
+    rpk Laptops describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops del`
+```
+DESCRIPTION:
+Delete a Laptop from the inventory
+
+USAGE:
+    rpk Laptops del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops summary`
+```
+DESCRIPTION:
+Show a summarized hardware report for all Laptops
+
+USAGE:
+    rpk Laptops summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops tree`
+```
+DESCRIPTION:
+Display the dependency tree for a Laptop
+
+USAGE:
+    rpk Laptops tree <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops cpu`
+```
+DESCRIPTION:
+Manage CPUs attached to Laptops
+
+USAGE:
+    rpk Laptops cpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <Laptop>            Add a CPU to a Laptop     
+    set <Laptop> <index>    Update a Laptop CPU       
+    del <Laptop> <index>    Remove a CPU from a Laptop
+```
+
+## `rpk Laptops cpu add`
+```
+DESCRIPTION:
+Add a CPU to a Laptop
+
+USAGE:
+    rpk Laptops cpu add <Laptop> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The model name           
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk Laptops cpu set`
+```
+DESCRIPTION:
+Update a Laptop CPU
+
+USAGE:
+    rpk Laptops cpu set <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name            
+    <index>     The index of the Laptop cpu
+
+OPTIONS:
+    -h, --help       Prints help information  
+        --model      The cpu model            
+        --cores      The number of cpu cores  
+        --threads    The number of cpu threads
+```
+
+## `rpk Laptops cpu del`
+```
+DESCRIPTION:
+Remove a CPU from a Laptop
+
+USAGE:
+    rpk Laptops cpu del <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop               
+    <index>     The index of the Laptop cpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops drive`
+```
+DESCRIPTION:
+Manage storage drives attached to Laptops
+
+USAGE:
+    rpk Laptops drive [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <Laptop>            Add a drive to a Laptop     
+    set <Laptop> <index>    Update a Laptop drive       
+    del <Laptop> <index>    Remove a drive from a Laptop
+```
+
+## `rpk Laptops drive add`
+```
+DESCRIPTION:
+Add a drive to a Laptop
+
+USAGE:
+    rpk Laptops drive add <Laptop> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk Laptops drive set`
+```
+DESCRIPTION:
+Update a Laptop drive
+
+USAGE:
+    rpk Laptops drive set <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name          
+    <index>     The drive index to update
+
+OPTIONS:
+    -h, --help    Prints help information     
+        --type    The drive type e.g hdd / ssd
+        --size    The drive capacity in Gb    
+```
+
+## `rpk Laptops drive del`
+```
+DESCRIPTION:
+Remove a drive from a Laptop
+
+USAGE:
+    rpk Laptops drive del <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop          
+    <index>     The index of the drive to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk Laptops gpu`
+```
+DESCRIPTION:
+Manage GPUs attached to Laptops
+
+USAGE:
+    rpk Laptops gpu [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    add <Laptop>            Add a GPU to a Laptop     
+    set <Laptop> <index>    Update a Laptop GPU       
+    del <Laptop> <index>    Remove a GPU from a Laptop
+```
+
+## `rpk Laptops gpu add`
+```
+DESCRIPTION:
+Add a GPU to a Laptop
+
+USAGE:
+    rpk Laptops gpu add <Laptop> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The name of the Laptop
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The Gpu model               
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk Laptops gpu set`
+```
+DESCRIPTION:
+Update a Laptop GPU
+
+USAGE:
+    rpk Laptops gpu set <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name               
+    <index>     The index of the gpu to update
+
+OPTIONS:
+    -h, --help     Prints help information     
+        --model    The gpu model name          
+        --vram     The amount of gpu vram in Gb
+```
+
+## `rpk Laptops gpu del`
+```
+DESCRIPTION:
+Remove a GPU from a Laptop
+
+USAGE:
+    rpk Laptops gpu del <Laptop> <index> [OPTIONS]
+
+ARGUMENTS:
+    <Laptop>    The Laptop name               
+    <index>     The index of the Gpu to remove
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services`
+```
+DESCRIPTION:
+Manage services and their configurations
+
+USAGE:
+    rpk services [OPTIONS] <COMMAND>
+
+OPTIONS:
+    -h, --help    Prints help information
+
+COMMANDS:
+    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 services summary`
+```
+DESCRIPTION:
+Show a summary report for all services
+
+USAGE:
+    rpk services summary [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services add`
+```
+DESCRIPTION:
+Add a new service
+
+USAGE:
+    rpk services add <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services list`
+```
+DESCRIPTION:
+List all services
+
+USAGE:
+    rpk services list [OPTIONS]
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services get`
+```
+DESCRIPTION:
+Retrieve a service by name
+
+USAGE:
+    rpk services get <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services describe`
+```
+DESCRIPTION:
+Show detailed information about a service
+
+USAGE:
+    rpk services describe <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk services set`
+```
+DESCRIPTION:
+Update properties of a service
+
+USAGE:
+    rpk services set <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>     
+
+OPTIONS:
+    -h, --help        Prints help information             
+        --ip          The ip address of the service       
+        --port        The port the service is running on  
+        --protocol    The service protocol                
+        --url         The service URL                     
+        --runs-on     The system the service is running on
+```
+
+## `rpk services del`
+```
+DESCRIPTION:
+Delete a service
+
+USAGE:
+    rpk services del <name> [OPTIONS]
+
+ARGUMENTS:
+    <name>    The name of the service
+
+OPTIONS:
+    -h, --help    Prints help information
+```
+
+## `rpk 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>                           
+```
+

+ 21 - 2
generate_commands_markdown.sh → generate-docs.sh

@@ -115,6 +115,12 @@ generate_help_recursive() {
     return
     return
   fi
   fi
 
 
+if is_invalid_help "$help_output"; then
+  echo "Skipping: $map_key (invalid command)" >&2
+  return
+fi
+
+
   # 2. Extract Description
   # 2. Extract Description
   local description
   local description
   description=$(get_description "$help_output")
   description=$(get_description "$help_output")
@@ -167,6 +173,19 @@ generate_help_recursive() {
   done
   done
 }
 }
 
 
+is_invalid_help() {
+  local output="$1"
+
+  # Detect common failure patterns
+  if echo "$output" | grep -qiE \
+    "Unknown command|CommandParseException|Unexpected error occurred"; then
+    return 0
+  fi
+
+  return 1
+}
+
+
 # ----------------------------
 # ----------------------------
 # Main
 # Main
 # ----------------------------
 # ----------------------------
@@ -178,12 +197,12 @@ generate_help_recursive ""
 {
 {
   echo ""
   echo ""
   cat "$TREE_TEMP"
   cat "$TREE_TEMP"
-} > "CommandIndex.md"
+} > "docs/CommandIndex.md"
 
 
 {
 {
   echo "# CLI Commands"
   echo "# CLI Commands"
   echo ""
   echo ""
   cat "$BODY_TEMP"
   cat "$BODY_TEMP"
-} > "Commands.md"
+} > "docs/Commands.md"
 
 
 echo "Generated Successfully."
 echo "Generated Successfully."

+ 1 - 1
notes.md

@@ -28,7 +28,7 @@ chmod +x webui_capture.sh
 docker buildx build \
 docker buildx build \
   --platform linux/amd64,linux/arm64 \
   --platform linux/amd64,linux/arm64 \
   -f ./Dockerfile \
   -f ./Dockerfile \
-  -t aptacode/rackpeek:v0.0.9 \
+  -t aptacode/rackpeek:v0.0.11 \
   -t aptacode/rackpeek:latest \
   -t aptacode/rackpeek:latest \
   --push ..
   --push ..