> 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/v1.4.0/cli/gettingstarted.md).

# Getting Started

| Developer | Last modified |
| --------- | ------------- |
| AIDC Team | 2026/02/12    |

## 1. First-Time Setup Walkthrough

This guide walks through each step from license activation to deploying your first OS image on target nodes.

***

### Step 1: Activate License

AIDC-CLI requires an active license before any commands (except `license`) can be used.

```bash
aidc-cli license active -k "YOUR-LICENSE-KEY"
```

✅ **Expected Result:**

```
License activated successfully!
====================================================
        ASUS Infrastructure Deployment Center
====================================================
Server GUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Customer Name: Example Corp
License Type: Enterprise
Active Date: 2026-02-12T00:00:00Z
Expiry Date: 2027-02-12T00:00:00Z
Period: 365 days
Device Limit: 100
====================================================
```

{% hint style="warning" %}
If license is expired or invalid, you will see `License is not active. Please activate the application using aidc-cli license`. All commands except `license` will be unavailable.
{% endhint %}

***

### Step 2: Configure AIDC Common Settings

```bash
# View current settings
aidc-cli init common-get

# Set report path (example)
aidc-cli init common-set -r /opt/aidc/reports
```

***

### Step 3: Configure BMC Settings

```bash
# View current BMC configuration
aidc-cli init bmc-get

# Set BMC password and network
aidc-cli init bmc-set -p "YourBMCPassword" -m 255.255.255.0 -g 192.168.2.1
```

***

### Step 4: Prepare Node Inventory

Edit your node database CSV files with node information, then render the inventory:

```bash
aidc-cli init inventory
```

The command will:

1. Check for duplicate IPs in CSV
2. Validate device limit against license
3. Render CSV data into node inventory configuration
4. Show DHCP validation warnings if applicable

***

### Step 5: Configure DHCP (For PXE Deployment)

```bash
# Set DHCP parameters
aidc-cli init dhcp-set \
  -s 192.168.1.0 \
  -m 255.255.255.0 \
  -r 192.168.1.1 \
  -n 192.168.1.10 \
  -g 192.168.1.100,192.168.1.200

# Validate CSV IPs fall within DHCP subnet
aidc-cli init dhcp-validate
```

***

### Step 6: Configure Image and Deploy OS

```bash
# Discover available images
aidc-cli init image-discovery

# List deploy images
aidc-cli init image-list

# Set active image (by index)
aidc-cli init image-active

# Download the active image ISO
aidc-cli deploy image-download

# Setup SSH access key
aidc-cli deploy access-key

# Deploy OS to all nodes
aidc-cli deploy install
```

{% hint style="info" %}
`deploy install` will validate CSV IPs against DHCP subnet before proceeding. If mismatches are found, you'll be prompted to continue or abort.
{% endhint %}

***

### Step 7: Post-Deployment Configuration

After OS is installed on nodes:

```bash
# Configure all basic system settings (SSH, repo, limits, sysctl, hosts, etc.)
aidc-cli syscfg basic-all

# Set timezone across all nodes
aidc-cli syscfg timezone-set -t Asia/Taipei

# Configure NTP
aidc-cli syscfg ntp -n "time.google.com,time.cloudflare.com"
```

***

### Step 8: Network and Driver Setup

```bash
# Configure Ethernet interfaces
aidc-cli network eth-cfg

# Configure Ethernet bonding
aidc-cli network eth-bond

# Install NVIDIA GPU driver (caution: forces reboot)
aidc-cli driver nv-gpu -f NVIDIA-Linux-x86_64-550.54.15.run

# Install Mellanox OFED
aidc-cli driver mlnx-ofed -f MLNX_OFED_LINUX-24.04-0.6.6.0
```

***

### Step 9: Deploy Services

```bash
# Deploy Slurm cluster (controller + compute + database)
aidc-cli slurm setup-cluster

# OR deploy Kubernetes cluster
aidc-cli kubernetes k8s-native

# OR deploy Docker engine on nodes
aidc-cli container docker
```

***

### Step 10: Validate

```bash
# Validate PXE network connectivity
aidc-cli chknet pxe

# Validate BMC network connectivity
aidc-cli chknet bmc

# Check all firmware versions
aidc-cli chkfw all-version

# Collect system information report
aidc-cli sysinfo
```

***

## 2. Common Patterns

### Targeting Specific Nodes

```bash
# Run only on node01 and node02
aidc-cli bmc power-on -l node01,node02

# Run on all nodes except node03
aidc-cli deploy install -e node03
```

### Background Execution

Some long-running tasks support background mode:

```bash
# Run hardware sensor monitoring in background
aidc-cli hwsensor temperature --interval 5 -b
```

### JSON Output

Some commands support JSON output for automation:

```bash
# License info in JSON
aidc-cli license show -j

# Network validation with stdout JSON
aidc-cli chknet pxe -o
```

***

## 3. Next Steps

* [Command Reference](/guide/v1.4.0/cli/commandreference.md) — Full list of all commands and subcommands
* [Common Flags and Options](/guide/v1.4.0/cli/commonflags.md) — Detailed flag documentation
* [Troubleshooting](/guide/v1.4.0/cli/troubleshooting.md) — Common issues and solutions
