How dsx-ai-factory/infra-controller works
NICo is a microservice suite for zero-trust bare-metal AI infrastructure lifecycle automation. Providers and tenants use APIs to request site and tenant operations; NICo coordinates hardware readiness, provisioning, isolation, firmware, and sanitization, with site services managing racks, hosts, BMCs, and DPUs. The graph preserves major documented capabilities and central indexed modules. Many implementation files were not sampled, so documented relationships use README evidence and uncertain internal wiring is omitted.
Main entry points: handlers Lifecycle Handlers · component_manager.rs Component Manager · api.rs Core API · routes.go NICo REST
Components 26
Core Control Plane
- Core API
crates/api-core/src/api.rs - Authorization
crates/api-core/src/auth/internal_rbac_rules.rs - Lifecycle Handlers
crates/api-core/src/handlers - State Controller
crates/state-controller/src/controller.rs
Hardware Management
- Component Manager
crates/component-manager/src/component_manager.rs - Compute Tray Manager
crates/component-manager/src/compute_tray_manager.rs - NVSwitch Manager
crates/component-manager/src/nv_switch_manager.rs - Power Shelf Manager
crates/component-manager/src/power_shelf_manager.rs - RMS Manager
crates/component-manager/src/rms.rs - Component Mock
crates/component-manager/src/mock.rs - BMC Discovery
crates/bmc-explorer/src/manager.rs - Redfish BMC Mock
crates/bmc-mock/src/redfish/query_router.rs - Tray Firmware
rest-api/powershelf-manager/pkg/firmwaremanager/firmware_manager.go
Provisioning and Lifecycle
- Hardware Readiness
crates/machine-controller/src/config/controller.rs - DPU Lifecycle
dev/k8s/dpf-sim-controller/internal/controller/dpudevice_controller.go - Trust and Attestation
crates/admin-cli/src/attestation - Firmware Baseline
crates/admin-cli/src/firmware/nic/desired/cmd.rs - Sanitization
crates/admin-cli/src/expected_machines/erase/cmd.rs - Rack Workflow
rest-api/flow/internal/task/manager/manager.go
Networking and Telemetry
- DHCP Service
crates/dhcp-server/src/grpc_server.rs - IP Address Management
rest-api/ipam/storage.go - Network Isolation
crates/rack-controller/src/fabric_manager.rs
Other components
- Provider Operator
- Tenant
Connections 26
- Provider Operator → NICo REST: calls
- Tenant → NICo REST: calls
- Provider Operator → Admin CLI: operates
- Admin CLI → Core API: uses gRPC
- NICo REST → Core API: proxies operations
rest-api/api/pkg/api/routes.go - Core API → Lifecycle Handlers: routes requests
crates/api-core/src/api.rs - Core API → Authorization: authorizes callers
- Core API → State Controller: coordinates lifecycle
- Component Manager → Compute Tray Manager: dispatches
crates/component-manager/src/component_manager.rs - Component Manager → NVSwitch Manager: dispatches
crates/component-manager/src/component_manager.rs - Component Manager → Power Shelf Manager: dispatches
crates/component-manager/src/component_manager.rs - Component Manager → RMS Manager: dispatches
crates/component-manager/src/component_manager.rs - Component Manager → Component Mock: dispatches
crates/component-manager/src/component_manager.rs - Hardware Readiness → BMC Discovery: discovers BMCs
- BMC Discovery → Redfish BMC Mock: can query
- Component Manager → Tray Firmware: manages firmware
- DPU Lifecycle → Network Isolation: applies desired network
- Lifecycle Handlers → DHCP Service: provisions networking
- Lifecycle Handlers → IP Address Management: allocates addresses
- Lifecycle Handlers → Hardware Readiness: validates machines
- Lifecycle Handlers → DPU Lifecycle: provisions DPUs
- Lifecycle Handlers → Trust and Attestation: supports attestation
- Lifecycle Handlers → Firmware Baseline: manages baselines
- Lifecycle Handlers → Sanitization: sanitizes hosts
- Lifecycle Handlers → Network Isolation: provisions tenant networks
- Lifecycle Handlers → Rack Workflow: sequences rack work