> For the complete documentation index, see [llms.txt](https://asus-isg-aidc.gitbook.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://asus-isg-aidc.gitbook.io/guide/latest/cli.md).

# CLI User Guide

| Developer | Last modified |
| --------- | ------------- |
| AIDC Team | 2026/08/20    |

## 1. Overview

AIDC-CLI (ASUS Infrastructure Deployment Center - Command Line Interface) is a command-line tool for infrastructure automation across deployment, validation, firmware, operating system configuration, storage, and workload services.

### 1.1 Key Capabilities

| Category       | Features                                                                                                                    |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Infrastructure | BMC control, BIOS management, PXE-based OS deployment, DHCP management                                                      |
| Network        | Ethernet bonding, InfiniBand, NVOS, NIC link-type, DPU mode switching                                                       |
| Hardware       | Sensor monitoring, specification collection, raw inventory collection, health checks, firmware validation, firmware updates |
| Drivers        | NVIDIA GPU, Mellanox OFED, DOCA host packages                                                                               |
| System         | System information, OS configuration inventory, NTP, timezone, SSH, repositories, firewall, SELinux, subscriptions          |
| Storage        | Software RAID, LVM, disk cleanup, WEKA deployment                                                                           |
| Workloads      | Slurm, MariaDB Galera, Docker, Podman, Native Kubernetes, UFM, NMX-M                                                        |
| Baselines      | SAT baseline creation and drift validation across hardware, firmware, and OS domains                                        |

### 1.2 Architecture

```mermaid
flowchart TD
    CLI["aidc-cli CLI"]

    subgraph Modules["CLI Modules"]
        direction TB
        G1["Core &amp; Setup<br/>license · init · ai · report · pkg"]
        G2["Infrastructure<br/>bmc · bios · deploy"]
        G3["Network<br/>network · chknet"]
        G4["Hardware<br/>hwsensor · hwspec · hwinv · chkhw · chkfw · fwupdate"]
        G5["Drivers<br/>driver"]
        G6["System<br/>syscfg · security · sysinfo · osinfo"]
        G7["Storage<br/>weka · ceph"]
        G8["Workloads<br/>slurm · database · container · kubernetes · ufm · nmx"]
        G9["Baselines<br/>sat"]

        G1 ~~~ G2 ~~~ G3 ~~~ G4 ~~~ G5 ~~~ G6 ~~~ G7 ~~~ G8 ~~~ G9
    end

    CLI --> G1
    CLI --> G2
    CLI --> G3
    CLI --> G4
    CLI --> G5
    CLI --> G6
    CLI --> G7
    CLI --> G8
    CLI --> G9

    Access["SSH / IPMI / Redfish"]
    G1 --> Access
    G2 --> Access
    G3 --> Access
    G4 --> Access
    G5 --> Access
    G6 --> Access
    G7 --> Access
    G8 --> Access
    G9 --> Access

    Targets["Target Nodes / BMC / Network Devices"]
    Access --> Targets
```

### 1.3 Command Structure

```bash
aidc-cli <command> <subcommand> [flags]
```

**Global Flags**

| Flag              | Short | Description                               |
| ----------------- | :---: | ----------------------------------------- |
| `--limit-hosts`   |  `-l` | Limit operations to specific hosts        |
| `--exclude-hosts` |  `-e` | Exclude specific hosts from an operation  |
| `--task-id`       |  `-i` | Attach a task ID to the current operation |
| `--version`       |  `-v` | Show version information                  |
| `--help`          |  `-h` | Show help for the selected command        |

{% hint style="info" %}
`aidc-cli -v` and `aidc-cli --version` are root-only forms. Do not combine the version flag with an additional command or argument.
{% endhint %}

***

## 2. Typical Workflow

```mermaid
flowchart LR
    S1["1. License<br/>Activation"]
    S2["2. Init &<br/>Inventory"]
    S3["3. BMC / BIOS<br/>Preparation"]
    S4["4. OS<br/>Deployment"]
    S5["5. Network &<br/>Driver Setup"]
    S6["6. Service &<br/>Storage Deployment"]
    S7["7. Validation,<br/>Inventory, SAT"]

    S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7
```

| Step | Commands                                                                                                              | Description                                                              |
| :--: | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|   1  | `aidc-cli license active -k <key>`                                                                                    | Activate AIDC-CLI features                                               |
|   2  | `aidc-cli init common-set`, `aidc-cli init inventory`                                                                 | Configure project settings and render node inventory                     |
|   3  | `aidc-cli bmc init-pwd`, `aidc-cli bios get-cfg`                                                                      | Prepare BMC access and inspect BIOS configuration                        |
|   4  | `aidc-cli deploy install`                                                                                             | Install the target operating system                                      |
|   5  | `aidc-cli network eth-cfg`, `aidc-cli driver nv-gpu -f <file>`                                                        | Configure networking and install required drivers                        |
|   6  | `aidc-cli slurm setup-cluster`, `aidc-cli weka server deploy -I <iso>`                                                | Deploy platform services and storage                                     |
|   7  | `aidc-cli chknet pxe`, `aidc-cli chkhw summary`, `aidc-cli osinfo summary`, `aidc-cli sat validate --baseline <name>` | Validate the deployed environment and compare against approved baselines |

{% hint style="info" %}
For a step-by-step walkthrough of this workflow with concrete commands and expected results, see [Getting Started](/guide/latest/cli/gettingstarted.md).
{% endhint %}

***

## 3. Command Overview

|  #  | Command                                                                         | CLI Name     | Description                                                                  |
| :-: | ------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------- |
|  1  | [License Management](/guide/latest/cli/commandreference/license.md)             | `license`    | Activate and inspect license information                                     |
|  2  | [Initialization](/guide/latest/cli/commandreference/init.md)                    | `init`       | Configure inventory, common settings, service defaults, and environment data |
|  3  | [AI Assistant](/guide/latest/cli/commandreference/ai.md)                        | `ai`         | Run CLI operations through a natural-language assistant                      |
|  4  | [Report Files](/guide/latest/cli/commandreference/report.md)                    | `report`     | List and display task report files                                           |
|  5  | [BMC Operations](/guide/latest/cli/commandreference/bmc.md)                     | `bmc`        | Perform BMC power, password, network, and reset operations                   |
|  6  | [BIOS Operations](/guide/latest/cli/commandreference/bios.md)                   | `bios`       | Read, change, restore, and reset BIOS settings                               |
|  7  | [OS Deployment](/guide/latest/cli/commandreference/deploy.md)                   | `deploy`     | Install OS images, manage DHCP helpers, and prepare access keys              |
|  8  | [Network Configuration](/guide/latest/cli/commandreference/network.md)          | `network`    | Configure Ethernet, bonding, InfiniBand, NVOS, and DPU modes                 |
|  9  | [Network Validation](/guide/latest/cli/commandreference/networkvalidation.md)   | `chknet`     | Validate PXE, BMC, InfiniBand, and Ethernet connectivity                     |
|  10 | [Hardware Sensor](/guide/latest/cli/commandreference/hardwaresensor.md)         | `hwsensor`   | Monitor temperature, power, fan, and aggregated sensor data                  |
|  11 | [Hardware Specification](/guide/latest/cli/commandreference/hardwarespec.md)    | `hwspec`     | Collect structured hardware specifications                                   |
|  12 | [Hardware Inventory](/guide/latest/cli/commandreference/hardwareinventory.md)   | `hwinv`      | Collect raw BMC Redfish hardware inventory data                              |
|  13 | [Hardware Health](/guide/latest/cli/commandreference/hardwarehealth.md)         | `chkhw`      | Run in-band hardware health checks                                           |
|  14 | [Firmware Validation](/guide/latest/cli/commandreference/firmwarevalidation.md) | `chkfw`      | Check firmware versions across supported components                          |
|  15 | [Firmware Update](/guide/latest/cli/commandreference/firmwareupdate.md)         | `fwupdate`   | Update BIOS, BMC, Mellanox, NVMe, and NVLink switch firmware                 |
|  16 | [Package Management](/guide/latest/cli/commandreference/package.md)             | `pkg`        | Install or remove extra software packages                                    |
|  17 | [Driver Installation](/guide/latest/cli/commandreference/driver.md)             | `driver`     | Install Mellanox OFED, DOCA, and NVIDIA GPU drivers                          |
|  18 | [System Configuration](/guide/latest/cli/commandreference/sysconfig.md)         | `syscfg`     | Apply system-wide configuration settings                                     |
|  19 | [Security Settings](/guide/latest/cli/commandreference/security.md)             | `security`   | Manage firewall and SELinux configuration                                    |
|  20 | [Slurm Workload Manager](/guide/latest/cli/commandreference/slurm.md)           | `slurm`      | Deploy and expand Slurm clusters                                             |
|  21 | [Database Management](/guide/latest/cli/commandreference/database.md)           | `database`   | Deploy MariaDB Galera clusters                                               |
|  22 | [System Information](/guide/latest/cli/commandreference/sysinfo.md)             | `sysinfo`    | Collect AIDC Server system information reports                               |
|  23 | [OS Configuration Inventory](/guide/latest/cli/commandreference/osinfo.md)      | `osinfo`     | Collect OS configuration inventory in brief or summary view                  |
|  24 | [UFM Management](/guide/latest/cli/commandreference/ufm.md)                     | `ufm`        | Deploy UFM in standalone mode                                                |
|  25 | [Container Management](/guide/latest/cli/commandreference/container.md)         | `container`  | Deploy Docker, Podman, or Harbor registry hosts                              |
|  26 | [Kubernetes Cluster](/guide/latest/cli/commandreference/kubernetes.md)          | `kubernetes` | Deploy native Kubernetes clusters                                            |
|  27 | [NMX Management](/guide/latest/cli/commandreference/nmx.md)                     | `nmx`        | Deploy NMX-M virtual machines                                                |
|  28 | [WEKA Storage](/guide/latest/cli/commandreference/weka.md)                      | `weka`       | Deploy WEKA servers and clients                                              |
|  29 | [Ceph Storage](/guide/latest/cli/commandreference/ceph.md)                      | `ceph`       | Deploy Ceph storage clusters                                                 |
|  30 | [SAT Baselines and Validation](/guide/latest/cli/commandreference/sat.md)       | `sat`        | Create SAT baselines and validate drift across selected domains              |
|  31 | [IB Fabric SAT](/guide/latest/cli/commandreference/ib-sat.md)                   | `ib-sat`     | Run InfiniBand fabric readiness checks                                       |

***

## 4. Quick Start Examples

```bash
# Show version
aidc-cli -v

# Activate a license
aidc-cli license active -k "XXXX-XXXX-XXXX-XXXX"

# Render inventory from CSV definitions
aidc-cli init inventory

# Power on specific nodes
aidc-cli bmc power-on -l node01,node02

# Collect raw hardware inventory as JSON
aidc-cli hwinv all --stdout

# Run a normalized hardware health summary
aidc-cli chkhw summary

# Create a SAT baseline
aidc-cli sat baseline create --name golden-v1
```

***

## 5. Prerequisites

| Requirement   | Description                                                      |
| ------------- | ---------------------------------------------------------------- |
| License       | A valid AIDC license activated through `aidc-cli license active` |
| OS            | A supported management-node operating system                     |
| SSH           | Passwordless SSH access from the management node to target nodes |
| Node Database | CSV inventory data populated for the target environment          |
| Network       | Reachability to target nodes and BMC interfaces                  |
| DHCP          | DHCP configured when PXE-based OS deployment is required         |

***

## 6. Related Resources

* [Installation & Setup](/guide/latest/installation.md)
* [Getting Started](/guide/latest/cli/gettingstarted.md)
* [Command Reference](/guide/latest/cli/commandreference.md)
* [Common Flags and Options](/guide/latest/cli/commonflags.md)
* [Troubleshooting](/guide/latest/cli/troubleshooting.md)
* [Portal User Guide](/guide/latest/portal.md)
* [Marketplace Overview](/guide/latest/portal/overview.md)

***

## 7. Getting Help

```bash
# Main help
aidc-cli --help

# Command help
aidc-cli <command> --help

# Subcommand help
aidc-cli <command> <subcommand> --help
```

For shell completion setup, see [Installation & Setup](/guide/latest/installation.md).
