dpsctl#

Overview#

dpsctl is the command-line interface for DPS that provides comprehensive management and monitoring capabilities. It serves as the primary tool for administrators, operators, and users to interact with the DPS system from the command-line.

Command-Line Implementations#

The DPS 0.9 source contains two clients named dpsctl. Their command trees are not interchangeable:

Interface

Policy command shape

Go dpsctl

The policy bundle subgroup with upsert, get, list, and delete

libdpsapi C++ dpsctl

policy list and policy upsert --filename <file>

The command categories and command reference in this guide describe the Go implementation unless a page explicitly identifies the libdpsapi C++ interface.

Command Categories#

The Go dpsctl implementation organizes functionality into logical command groups:

Infrastructure Management#

  • topology - Import, activate, and manage datacenter topologies

  • import - Import entities from external sources (BCM, Nautobot)

  • device - Manage device specifications and hardware capabilities

  • policy - Manage named, typed policy bundles through the bundle subgroup

Workload Management#

  • resource-group - Create, activate, and manage workload power allocation

  • gpu-policy - Set per-GPU power limits for fine-grained control

Authentication & Access#

  • login - Authenticate with DPS server and manage user sessions

  • verify - Check DPS deployment status and connectivity

Monitoring & Diagnostics#

  • check - Diagnostic operations, connectivity tests, and health monitoring

  • server-version - Get DPS server version and build information

  • task - Monitor ongoing async tasks (e.g., activation/deactivation operations)

Usage#

dpsctl can be installed as a native binary, from package repositories, or run as a container image — see Installing dpsctl for all options.

Basic dpsctl operations:

# Authenticate with DPS
dpsctl login --username alice

# Import datacenter topology
dpsctl topology import datacenter.json

# Activate the imported topology
dpsctl topology activate --topology datacenter

# Check BMC connectivity in the active topology
dpsctl check connection --topology datacenter

# Create workload resource group
dpsctl resource-group create --resource-group "ml-job" --external-id 1 --policy-bundle MaxLPS

# Check system health
dpsctl check connection

Further Reading#