Expand description
Top-level Axum handlers module.
mod.rs keeps:
- request extractors (
BearerToken,SiteName,RequestCtx,SiteHeader) - the
ErrorResponsebody type + error mappers (to_handler_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 /api/v1/hardware-clusters/{target}/members. - AddKernel
Parameters Request - Request body for
POST /api/v1/kernel-parameters/add(append mode). - AddNode
Request - Request body for
POST /api/v1/nodes. - AddNodes
ToGroup Request - Request body for
POST /api/v1/groups/{name}/members. - AddNodes
ToGroup Response - Response body for
POST /api/v1/groups/{name}/members. - Apply
Boot Config Request - Request body for
POST /api/v1/boot-config. - Apply
HwConfiguration Request - Request body for
POST /api/v1/hardware-clusters/{target}/configuration. - Apply
Kernel Parameters Request - Request body for
POST /api/v1/kernel-parameters/apply. - Bearer
Token - Axum extractor that pulls the token from
Authorization: Bearer <token>. - Boot
Parameters Query - Query parameters for
GET /api/v1/boot-parameters. - Cluster
Query - Query parameters for
GET /api/v1/groups/nodes(the renamed alias of the legacyGET /api/v1/clusters). - Configuration
Query - Query parameters for
GET /api/v1/configurations. - Console
Query - Query parameters for the WebSocket console endpoints
(
/nodes/{xname}/console,/sessions/{name}/console). - Create
Ephemeral EnvRequest - Request body for
POST /ephemeral-env. - Create
Image CfsSession Request - Request body for
POST /api/v1/sat-file/images/cfs-session. - Create
Session Request - Request body for
POST /api/v1/sessions. - Delete
Boot Parameters Request - Body for
DELETE /boot-parameters. - Delete
Configurations Query - Query parameters for
DELETE /api/v1/configurations. - Delete
Group Members Request - Request body for
DELETE /api/v1/groups/{name}/members. - Delete
Group Query - Query parameters for
DELETE /api/v1/groups/{label}. - Delete
HwComponent Request - Request body for
DELETE /api/v1/hardware-clusters/{target}/members. - Delete
Images Query - Query parameters for
DELETE /api/v1/images. - Delete
Kernel Parameters Request - Request body for
DELETE /api/v1/kernel-parameters. - Delete
Session Query - Query parameters for
DELETE /api/v1/sessions/{name}. - Error
Response - Standard JSON error body returned by all failed endpoints.
- Group
Query - Query parameters for
GET /api/v1/groups. - Hardware
Cluster Query - Query parameters for
GET /api/v1/groups/hardware(the renamed alias of the legacyGET /api/v1/hardware-clusters). - Hardware
Nodes List Query - Query parameters for
GET /api/v1/hardware-nodes-list. - Image
Query - Query parameters for
GET /api/v1/images. - Kernel
Parameters Query - Query parameters for
GET /api/v1/kernel-parameters. - Migrate
Backup Request - Request body for
POST /api/v1/migrate/backup. - Migrate
Nodes Request - Request body for
POST /api/v1/migrate/nodes. - Migrate
Restore Request - Request body for
POST /api/v1/migrate/restore. - Nodes
Query - Query parameters for
GET /api/v1/nodes. - Post
SatConfiguration Request - Request body for
POST /api/v1/sat-file/configurations. - Post
SatSession Template Request - Request body for
POST /api/v1/sat-file/session-templates. - Post
SatSession Template Response - Response body for
POST /api/v1/sat-file/session-templates. - Post
SatValidate Request - Body for
POST /api/v1/sat-file/validate. - Post
Template Session Request - Request body for
POST /api/v1/templates/{name}/sessions. - Power
Request - Request body for
POST /api/v1/power. - Redfish
Endpoints Query - Query parameters for
GET /api/v1/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 /api/v1/sessions/{name}/logs. - Session
Query - Query parameters for
GET /api/v1/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. - Stamp
Image From Session Request - Request body for
POST /api/v1/sat-file/images/stamp. - Template
Query - Query parameters for
GET /api/v1/templates.
Enums§
- BosOperation
- BOS session operation to run against the template’s node list.
- HwCluster
Mode - Whether the hw cluster operation moves nodes into the target (Pin) or releases them back (Unpin).
- Kernel
Param Op - Which kernel-parameter mutation to perform on
POST /api/v1/kernel-parameters/apply. - Power
Action - The power operation to apply to a list of xnames.
- Power
Target Type - Whether the caller’s
host_expressionis a hosts expression (xnames / NIDs / hostlist) or a single HSM group name whose members should be targeted.
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_
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 /groups/nodes. 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. Every row carries the full
CfsConfigurationResponseplus asafe_to_deleteverdict derived from CFS components only (a configuration is unsafe iff some component lists it asdesired_config). - 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 /groups/hardware. 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_
image_ analysis - GET /analysis/images — image-centric flat projection of every CFS
configuration, CFS session, BOS session template, and IMS image
visible to the caller. One row per IMS image; see
BackendSummaryfor column semantics. - get_
images - GET /images — list IMS images sorted by creation time.
- 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_
power_ transition GET /api/v1/power/transitions/{id}— fetch the current snapshot of a PCS power transition (status, task counts, per-task detail). Called by the CLI’s poll loop afterPOST /powerreturns the id.- 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— start a PCS power transition (on / off / reset) against nodes or all members of a cluster and return the transition id immediately. Does not block until the transition completes — the CLI is responsible for pollingGET /power/transitions/{id}until the snapshot reportstransitionStatus = "completed".- post_
sat_ configuration POST /api/v1/sat-file/configurations— apply a single SAT configuration entry. Returns the createdCfsConfigurationResponse.- post_
sat_ image_ cfs_ session POST /api/v1/sat-file/images/cfs-session— translate one SATimages[]entry into a CFS session payload and create it. Returns the freshly-created [CfsSessionGetResponse] so the CLI can drive the monitor + stamp steps itself.- post_
sat_ image_ stamp POST /api/v1/sat-file/images/stamp— fetch the named CFS session, derive the provenance stamp, and PATCH the produced IMS image.- post_
sat_ session_ template POST /api/v1/sat-file/session-templates— apply a single SAT session_template entry. Returns the created BOS session template and (ifcreate_bos_sessionwas set and we’re not in dry-run) the BOS session that was created from the new template to boot the targeted nodes through it.- post_
sat_ validate POST /api/v1/sat-file/validate— validate a SAT file against live CSM state without mutating anything. Used bymanta apply sat-fileas a pre-flight check.- 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.