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.

The WebUI defaults to Basic authentication. Helm installations generate and persist a password in nico-api-web-basic-auth. As a last-resort safeguard for non-Helm or older deployment manifests, if CARBIDE_WEB_BASIC_AUTH_PASSWORD is unset or empty, NICo generates a temporary 32-character password for that process and logs it at warning level. That fallback password is not persisted and changes on every process launch. Use the WebUI only through the TLS-protected endpoint.

Authentication

For Helm installations, configure nico-api.webAuth.mode. The default is basic; oauth2 and none are explicit alternatives. A CARBIDE_WEB_AUTH_TYPE entry in nico-api.extraEnv takes precedence as a backward-compatibility contract.

ValueBehavior
(unset) or basicHTTP Basic Auth with fixed username admin. Uses CARBIDE_WEB_BASIC_AUTH_PASSWORD, or a temporary password reported in the service logs when unset or empty.
oauth2Microsoft Entra (Azure AD) OIDC via PKCE flow. Group-based access enforcement via MS Graph API.
noneNo in-process authentication. A warning is logged at startup; restrict access using network controls or an authenticating proxy.

For a default Helm installation, retrieve the generated password with the kubectl command printed in the release notes. To use an operator-managed credential instead:

1nico-api:
2 webAuth:
3 mode: basic
4 basic:
5 existingSecret:
6 name: nico-web-password
7 key: password

OAuth2 (Entra) Configuration

When Helm’s nico-api.webAuth.mode is oauth2 (or the legacy CARBIDE_WEB_AUTH_TYPE=oauth2 override is used), provide the following provider settings through nico-api.extraEnv:

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; assign/remove SKU on hosts (write)
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.