NICo Debug WebUI

View as Markdown

NICo Debug WebUI

NICo includes a built-in administrative web interface intended for operational debugging and inspection. It is served at the /admin path of the NICo API server and provides read-oriented views of infrastructure state alongside a limited set of administrative actions.

Hardcoded Basic Auth has been removed as of NICo v0.7.0.

Previously, if SSO was not configured, the WebUI defaulted to basic authentication with a hardcoded credential. This fallback has been removed to resolve a P0 security vulnerability.

  • Production / secure deployments: Enable OIDC/SSO (CARBIDE_WEB_AUTH_TYPE=oauth2). See Azure OIDC for Infra Controller Web UI for setup instructions.
  • Development / lab environments: The WebUI operates with no authentication by default. Bind the service to localhost or restrict access using a network ACL or auth proxy (for example, mod_proxy).

If your current workflows rely on the default basic auth credentials, transition to an OIDC provider or proxy-based authentication before updating to v0.7.0 or later.

Authentication

Authentication mode is controlled by the CARBIDE_WEB_AUTH_TYPE environment variable.

ValueBehavior
(unset) or noneNo authentication. A warning is logged at startup. Restrict access using network controls or a reverse proxy.
oauth2Microsoft Entra (Azure AD) OIDC via PKCE flow. Group-based access enforcement via MS Graph API.
basicNot supported. The service returns an error on startup if this value is set.

OAuth2 (Entra) Configuration

When CARBIDE_WEB_AUTH_TYPE=oauth2, the following environment variables are required:

VariableDescription
CARBIDE_WEB_OAUTH2_CLIENT_IDApplication (client) ID registered in Azure/Entra
CARBIDE_WEB_OAUTH2_CLIENT_SECRETClient secret for communicating with MS Entra/Graph
CARBIDE_WEB_OAUTH2_AUTH_ENDPOINTEntra authorization endpoint URL
CARBIDE_WEB_OAUTH2_TOKEN_ENDPOINTEntra token endpoint URL (tenant-specific)
CARBIDE_WEB_HOSTNAMEPublic hostname used for OAuth2 redirect URIs; must match the value registered in the Entra portal
CARBIDE_WEB_PRIVATE_COOKIEJAR_KEYSecret key used to encrypt session cookies
CARBIDE_WEB_ALLOWED_ACCESS_GROUPSComma-separated list of Entra group names permitted to access the WebUI
CARBIDE_WEB_ALLOWED_ACCESS_GROUPS_ID_LISTComma-separated list of the corresponding Entra group UUIDs

Sessions issued via the standard PKCE flow are persistent for the browser session. A client credentials flow is also supported for automated access (for example, CI pipelines); sessions granted via this flow expire after 10 minutes.

For step-by-step Entra registration and secret management instructions, see Azure OIDC for Infra Controller Web UI.

Available Views

The WebUI exposes views grouped by entity type. All views are read-only unless noted.

ViewPathDescription
Home/admin/NICo version, DPU agent upgrade policy, active log filter, dynamic feature flags, and operator-configured tool links
Machines/admin/machineAll managed hosts; per-machine detail, health, validation status
DPUs/admin/dpuDPU inventory and per-DPU detail; DPU agent version list at /admin/dpu/versions
DPAs/admin/dpaDPA (Data Processing Accelerator) inventory
Hosts/admin/hostHost-only view of managed machines
Instances/admin/instanceActive instances with per-instance detail
Compute Allocations/admin/compute-allocationAllocation records; create new allocations (write)
Instance Types/admin/instance-typeDefined instance types
Interfaces/admin/interfaceNetwork interface inventory and per-interface detail
VPCs/admin/vpcVirtual Private Cloud records
IB Partitions/admin/ib-partitionInfiniBand partition configuration
IB Fabric/admin/ib-fabricInfiniBand fabric topology
NVLink/admin/nvlinkNVLink domain and partition views
IPAM/admin/ipam/dhcp, /admin/ipam/dns, /admin/ipam/underlay, /admin/ipam/overlayIP address management state
Racks/admin/rackRack inventory with health
Switches/admin/switchSwitch inventory with health
Power Shelves/admin/power-shelfPower shelf inventory
Tenants/admin/tenantTenant records and keysets
Machine Validation/admin/machine-validationValidation job results
Redfish Browser/admin/redfish-browserBrowse raw Redfish endpoints; execute Redfish actions (write)
Explored Endpoints/admin/explored-endpointBMC/out-of-band endpoints; power control and machine setup actions (write)
Logs/admin/logsStreamed log viewer
OS / iPXE Templates/admin/os, /admin/ipxe-templateOperating system and boot template records
SKU/admin/skuSKU definitions
Domain/admin/domainDomain configuration
Resource Pools/admin/resource-poolResource pool definitions
Search/admin/searchCross-entity search

External tool links (for example, links to Grafana dashboards or UFM) configured in the NICo operator configuration are surfaced in the “Tools” sidebar and do not have fixed paths.