Expand description
Top-level Axum handlers module.
mod.rs keeps:
- request extractors (
BearerToken,SiteName,RequestCtx,SiteHeader) - the
ErrorResponsebody type + error mappers (to_handler_error,display_error,serialize_or_500) - guard helpers (
require_vault,require_k8s_url,validate_repo_list_lengths,parse_iso_datetime) - the cross-handler
resolve_xnames_from_requesthelper - the
healthendpoint
Every other handler lives in a per-resource sub-module (mirroring
the service/ layout) and is re-exported here so routes.rs and
api_doc.rs can keep referencing handlers::X unchanged.
Structs§
- AddHw
Component Request - Request body for
POST /hardware-clusters/{target}/members. - AddKernel
Parameters Request - Request body for
POST /kernel-parameters/add. - AddNode
Request - Body for
POST /nodes. - AddNodes
ToGroup Request - Body for
POST /groups/{name}/members. - AddNodes
ToGroup Response - Response for
POST /groups/{name}/members. - Apply
Boot Config Request - Request body for
POST /boot-config. - Apply
HwConfiguration Request - Request body for
POST /hardware-clusters/{target}/configuration. - Apply
Kernel Parameters Request - Request body for
POST /kernel-parameters/apply. - Bearer
Token - Axum extractor that pulls the token from
Authorization: Bearer <token>. - Boot
Parameters Query - Query parameters for
GET /boot-parameters. - Cluster
Query - Query parameters for
GET /groups/nodes. - Configuration
Query - Query parameters for
GET /configurations. - Console
Query - Query parameters for WebSocket console endpoints (initial terminal size).
- Create
Ephemeral EnvRequest - Request body for
POST /ephemeral-env. - Create
Session Request - Request body for
POST /sessions. - Delete
Boot Parameters Request - Body for
DELETE /boot-parameters. - Delete
Configurations Query - Query parameters for
DELETE /configurations. - Delete
Group Members Request - Request body for
DELETE /groups/{name}/members. - Delete
Group Query - Query parameters for
DELETE /groups/{label}. - Delete
HwComponent Request - Request body for
DELETE /hardware-clusters/{target}/members. - Delete
Images Query - Query parameters for
DELETE /images. - Delete
Kernel Parameters Request - Request body for
DELETE /kernel-parameters. - Delete
Session Query - Query parameters for
DELETE /sessions/{name}. - Error
Response - Standard JSON error body returned by all failed endpoints.
- Group
Query - Query parameters for
GET /groups. - Hardware
Cluster Query - Query parameters for
GET /groups/hardware. - Hardware
Nodes List Query - Query parameters for
GET /hardware-nodes-list. - Image
Entry - Wrapper so the image tuple serializes to named fields.
- Image
Query - Query parameters for
GET /images. - Kernel
Parameters Query - Query parameters for
GET /kernel-parameters. - Migrate
Backup Request - Request body for
POST /migrate/backup. - Migrate
Nodes Request - Request body for
POST /migrate/nodes. - Migrate
Restore Request - Request body for
POST /migrate/restore. - Nodes
Query - Query parameters for
GET /nodes. - Post
SatFile Request - Request body for
POST /sat-file. - Post
SatFile Response - Response body for
POST /sat-file. Each field is the list of objects the backend produced (or would produce, indry_runmode) while realising the SAT file. - Post
Template Session Request - Request body for
POST /templates/{name}/sessions. - Power
Request - Request body for
POST /power. - Redfish
Endpoints Query - Query parameters for
GET /redfish-endpoints. - Request
Ctx - Bundled extractor for
State<Arc<ServerState>>+BearerToken+SiteName. Use it in handler signatures instead of the three individual extractors when all three are needed (the typical case). - Session
Logs Query - Query parameters for
GET /sessions/{name}/logs. - Session
Query - Query parameters for
GET /sessions. - Site
Header - Required header parameter present on every authenticated endpoint.
- Site
Name - Axum extractor that reads the target site name from
X-Manta-Site. - Template
Query - Query parameters for
GET /templates.
Enums§
- BosOperation
- BOS session operation to run against the template’s node list.
- HwCluster
Mode - Whether to pin nodes to the target cluster or unpin them back to the parent.
- Kernel
Param Op - Which kernel-parameter mutation to perform (
add,apply, ordelete). - Power
Action - Power action to apply to the target nodes or cluster.
- Power
Target Type - Whether
targetscontains xnames (nodes) or a single cluster name (cluster).
Functions§
- add_
boot_ parameters - POST /boot-parameters — create a new BSS boot parameters entry.
- add_
hw_ component POST /api/v1/hardware-clusters/{target}/members— move nodes matching a hardware pattern into a cluster.- add_
kernel_ parameters POST /api/v1/kernel-parameters/add— merge new kernel parameters into existing node BSS entries.- add_
node - POST /nodes — register a new node in HSM and add it to a group.
- add_
nodes_ to_ group - POST /groups/{name}/members — replace a group’s member list from a host expression.
- add_
redfish_ endpoint - POST /redfish-endpoints — register a new Redfish endpoint in HSM.
- apply_
boot_ config POST /api/v1/boot-config— apply BSS boot configuration to a set of nodes.- apply_
hw_ configuration POST /api/v1/hardware-clusters/{target}/configuration— pin or unpin nodes between clusters by hardware pattern.- apply_
kernel_ parameters POST /api/v1/kernel-parameters/apply— add, replace, or delete kernel parameters on nodes.- auth_
token - POST /api/v1/auth/token — exchange username/password for a CSM token.
- auth_
validate - POST /api/v1/auth/validate — check whether a CSM token is still valid.
- console_
node_ ws WS /api/v1/nodes/{xname}/console— attach an interactive PTY console to a node via WebSocket.- console_
session_ ws WS /api/v1/sessions/{name}/console— attach an interactive PTY console to a CFS session pod via WebSocket.- create_
ephemeral_ env POST /api/v1/ephemeral-env— launch an ephemeral CFS environment from an IMS image.- create_
group - POST /groups — create a new HSM group.
- create_
session POST /api/v1/sessions— create a CFS session from one or more git repositories.- delete_
boot_ parameters - DELETE /boot-parameters — remove BSS boot parameter entries for specified hosts.
- delete_
configurations DELETE /api/v1/configurations— delete CFS configurations and all derived artifacts.- delete_
group - DELETE /groups/{label} — remove an HSM group.
- delete_
group_ members DELETE /api/v1/groups/{name}/members— remove nodes from an HSM group.- delete_
hw_ component DELETE /api/v1/hardware-clusters/{target}/members— move nodes back to parent cluster by hardware pattern.- delete_
images DELETE /api/v1/images— delete IMS images by ID; validates only whendry_run=true.- delete_
kernel_ parameters DELETE /api/v1/kernel-parameters— remove named kernel parameters from node BSS entries.- delete_
node - DELETE /nodes/{id} — remove a node from HSM by xname or NID.
- delete_
redfish_ endpoint - DELETE /redfish-endpoints/{id} — remove a Redfish endpoint from HSM.
- delete_
session - DELETE /sessions/{name} — cancel and delete a CFS session;
?dry_run=truepreviews. - get_
all_ groups - GET /groups/all — list every HSM group in the system.
- get_
available_ groups - GET /groups/available — list HSM group names the token can access.
- get_
boot_ parameters - GET /boot-parameters — fetch BSS boot parameters for a group or node list.
- get_
clusters_ deprecated - DEPRECATED alias for
GET /clusters. Logs a server-side warning, then delegates to the canonical handler. Old path kept for one release. - get_
configurations - GET /configurations — list CFS configurations with optional name/pattern/group filters.
- get_
groups - GET /groups — list HSM groups, optionally filtered by name.
- get_
groups_ hardware - GET /groups/hardware — summarize hardware components per node for a group.
- get_
groups_ nodes - GET /groups/nodes — list nodes in a group with optional status filter.
- get_
hardware_ clusters_ deprecated - DEPRECATED alias for
GET /hardware-clusters. Logs a server-side warning and delegates to the canonical handler. Old path kept for one release. - get_
hardware_ nodes_ list - GET /hardware-nodes-list — hardware details for an explicit list of xnames.
- get_
images - GET /images — list IMS images with their associated CFS configuration names.
- get_
kernel_ parameters - GET /kernel-parameters — fetch BSS kernel parameters for a group or node list.
- get_
nodes - GET /nodes — fetch node details for a given xname expression.
- get_
redfish_ endpoints - GET /redfish-endpoints — list HSM Redfish endpoints with optional filters.
- get_
session_ logs GET /api/v1/sessions/{name}/logs— stream CFS session pod logs via Server-Sent Events.- get_
sessions - GET /sessions — list CFS sessions with optional filters.
- get_
templates - GET /templates — list BOS session templates with optional filters.
- health
- GET /health — liveness probe; returns
{"status":"ok"}. - migrate_
backup POST /api/v1/migrate/backup— export BOS session templates to backup files.- migrate_
nodes POST /api/v1/migrate/nodes— move nodes between HSM groups.- migrate_
restore POST /api/v1/migrate/restore— import BOS session templates and related artifacts from backup.- post_
power POST /api/v1/power— power on, off, or reset nodes or all members of a cluster.- post_
sat_ file POST /api/v1/sat-file— apply a pre-rendered SAT file (images, session templates, and CFS sessions).- post_
template_ session POST /api/v1/templates/{name}/sessions— create a BOS session from a session template.- to_
handler_ error - Convert a
BackendErrorinto the best-fitting HTTP error response. - update_
boot_ parameters - PUT /boot-parameters — update boot image, kernel params, or runtime config for nodes.
- update_
redfish_ endpoint - PUT /redfish-endpoints — update an existing Redfish endpoint’s properties.