Skip to content

sddc-cli

The application is structured as a modular Click application with shared context for node targeting (--node/-n/--nodes/--all), JSON output (--json), and verbose logging (--verbose/-v) 1. It organizes functionality into distinct subsystems for hardware management, cluster formation, storage, orchestration, and observability, all designed to be idempotent and cluster-aware.

Subsystem Description
Hardware Manages BMC power, boot order, sensors, SOL, console, virtual media, inventory, firmware, BIOS, and BMC settings via Redfish and IPMI.
IncusOS Handles IncusOS image download, ISO generation, provisioning, disk discovery, recovery keys, and provider reconciliation for airgap mode.
Cluster Bootstraps the Incus cluster leader, joins nodes, configures management and storage networks, and sets up bridged profiles.
Linstor Installs Linstor satellites and controller, prepares NVMe storage with ZFS, registers satellites, and creates Incus storage pools.
Talos Manages Talos Linux image mirroring, VM creation, configuration generation, bootstrap, and Kubernetes API access.
K8s Deploys the Kubernetes application stack including Cilium CNI, MetalLB, ArgoCD, NGINX Ingress, and Piraeus/Linstor CSI.
Monitoring Deploys full-stack observability with Prometheus, Grafana, AlertManager, and custom exporters for Redfish, Incus, Linstor, SNMP, and Blackbox.