.TH slurmrestd "8" "Slurm REST Daemon" "August 2025" "Slurm REST Daemon"

.SH "NAME"
slurmrestd \- Interface to Slurm via REST API.
.SH "SYNOPSIS"
\fBslurmrestd\fR [\fIOPTIONS\fR...] <\fI[host]:port\fR|\fIunix:/path/to/socket\fR>...
.SH "DESCRIPTION"
\fBslurmrestd\fR is REST API interface for Slurm. It can be used in two modes:

.PP
\fBInetd Mode\fR: slurmrestd will read and write to STDIO. If STDIN is a socket
file descriptor, then slurmrestd will detect this and use relevant
functionality. If a controlling TTY is detected, interactive mode will
automatically activate to provide additional logging information. This mode is
designed to work with piped input, inetd, xinetd or systemd socket activation.

.PP
\fBListen Mode\fR: slurmrestd will open a listening socket on each requested
\fIhost\fR:\fIport\fR pair or UNIX socket.

.SH "OPTIONS"

.TP
\fB[https://][host]:port\fR
Hostname and port to listen against. \fIhost\fR may be an IPv4/IPv6 IP or a
resolvable hostname. Hostnames are only looked up at startup and do not change
for the life of the process. \fIhost\fR is optional; if not provided, slurmrestd
will listen on all network interfaces. \fIhttps://\fR is optional; if not
provided, slurmrestd will automatically use TLS plugin to encrypt traffic when
possible. If \fIhttps://\fR is specified; slurmrestd will require the configured
TLS plugin to encrypt traffic.
.IP

.TP
\fBunix:///path/to/socket\fR
Listen on local UNIX socket. Must have permission to create socket in
filesystem.
.IP

.TP
\fB\-a <plugin>\fR[,plugin]...
Comma\-delimited list of authentication plugins to load.
By default all available authentication plugins will be loaded.
.RS
.TP
\fBlist\fR
Display a list of the possible plugins to load.
.IP

.TP
\fBrest_auth/local\fR
Allows authentication via UNIX sockets when \fBauth/munge\fR is active.
.br
\fBNOTE\fR: slurmrestd and client processes must run under the same UID or the
client requests will be rejected.
.IP

.TP
\fBrest_auth/jwt\fR
Allows authentication via TCP and UNIX sockets when \fBAuthAltTypes=auth/jwt\fR
is active. User must specify the following HTTP cookies with each request:
.RS
.TP
\fBX-SLURM-USER-NAME\fR:<user name>
.IP
.TP
\fBX-SLURM-USER-TOKEN\fR:<JSON Web Token>
.RE
.IP
\fBNOTE\fR: Tokens are usually generated via calling "\fBscontrol token\fR".
.RE
.IP

.TP
\fB\-d <plugin>\fR[,plugin]...
Comma\-delimited list of data_parser plugins, which will determine the
output format. May include optional flags denoted by '+' symbol. By default all
available data_parser plugins will be loaded without any optional flags.
See also \fB-s\fR for OpenAPI plugins controlling the available content.
.BR
Defaults: all builtin supported data_parser plugins.
.RS
.TP
\fBlist[+flags]\fR
Display a list of the possible plugins to load.
.IP

.TP
\fBlatest\fR
Automatically replaced with latest plugin version. See relevant plugin for
description and potential flags.
.IP

.TP
\fB[data_parser/]v0.0.40[+fast]\fR
Load data_parser/]v0.0.40 plugin to for formatting of data. Only compatible
with \fBopenapi/slurmctld\fR and \fBopenapi/slurmdbd\fR content plugins.
.RS
.TP
\fB+fast\fR
Disable builtin warnings and other logic to strictly validate
incoming requests. Should only ever be used in a production environment with
very well tested clients and potentially malformatted requests will be accepted
as given and no warnings will be generated about ignored or incorrect fields or
values.
.IP
.RE
.IP

.TP
\fB[data_parser/]v0.0.41[+fast][+prefer_refs]\fR
Load data_parser/]v0.0.41 plugin to for formatting of data. Only compatible
with \fBopenapi/slurmctld\fR and \fBopenapi/slurmdbd\fR content plugins.
.RS
.TP
\fB+fast\fR
Disable builtin warnings and other logic to strictly validate
incoming requests. Should only ever be used in a production environment with
very well tested clients and potentially malformatted requests will be accepted
as given and no warnings will be generated about ignored or incorrect fields or
values.
.IP
.TP
\fB+prefer_refs\fR
Prefer inline expansion of referenced schemas (via \fI$ref\fR) in generated
OpenAPI specifications if the schema is only referenced once.
.IP
.RE
.IP

.TP
\fB[data_parser/]v0.0.42[+fast][+minimize_refs][+inline_enums]\fR
Load data_parser/]v0.0.42 plugin to for formatting of data. Only compatible
with \fBopenapi/slurmctld\fR and \fBopenapi/slurmdbd\fR content plugins.
.RS
.TP
\fB+fast\fR
Disable builtin warnings and other logic to strictly validate
incoming requests. Should only ever be used in a production environment with
very well tested clients and potentially malformatted requests will be accepted
as given and no warnings will be generated about ignored or incorrect fields or
values.
.IP
.TP
\fB+minimize_refs\fR
Avoid inline expansion of referenced schemas (via \fI$ref\fR) in generated
OpenAPI specifications if the schema is only referenced once.
.IP
.TP
\fB+inline_enums\fR
Avoid inline expansion of referenced schemas (via \fI$ref\fR) in generated
OpenAPI specifications for enum arrays.
.IP
.RE
.IP

.TP
\fB[data_parser/]v0.0.43[+fast][+minimize_refs]\fR
Load data_parser/]v0.0.43 plugin to for formatting of data. Only compatible
with \fBopenapi/slurmctld\fR and \fBopenapi/slurmdbd\fR content plugins.
.RS
.TP
\fB+fast\fR
Disable builtin warnings and other logic to strictly validate
incoming requests. Should only ever be used in a production environment with
very well tested clients and potentially malformatted requests will be accepted
as given and no warnings will be generated about ignored or incorrect fields or
values.
.IP
.TP
\fB+minimize_refs\fR
Avoid inline expansion of referenced schemas (via \fI$ref\fR) in generated
OpenAPI specifications if the schema is only referenced once.
.IP
.RE
.IP

.RE
.IP

.TP
\fB\-f <file>\fR
Read Slurm configuration from the specified file. See \fBNOTES\fR below.
.IP

.TP
\fB\-\-generate\-openapi\-spec\fR
Dump JSON formatted OpenAPI specification to stdout and exit immediately.
Loads minimal plugins required. All "content" fields will only be in JSON
format even if the \fIserializer/yaml\fR plugin is present and loadable.
Loading of \fBslurm.conf\fR(5) can be disabled by passing additional
arguments \fB\-f /dev/null\fR or setting \fBSLURM_CONF\fR=/dev/null in the
environment.
.IP

.TP
\fB\-g <group id>\fR
Change group id (and drop supplemental groups) before processing client
request. This should be a unique group with no write access or special
permissions. Do not set this to the group belonging to to SlurmUser or
root or the daemon won't start with the default settings.
.IP

.TP
\fB\-h\fR, \fB\-\-help\fR
Help; print a brief summary of command options.
.IP

.TP
\fB\-\-max\-connections <count>\fR
Set the maximum number of connections to process at any one time. This is
independent of the number of connections that can connect to slurmrestd at any
one time. The kernel allows any number of connections to be pending for
processing at any one time when SYN cookies are active.
.RS
.TP
\fBCaution\fR:
Each connection could cause one RPC to the controller daemons, leading to
potential overloading of the controller. Each connection can also hold memory
for the duration of the life of the connection. Having too many connections
processing at once could use considerably more memory. Process limits
(\fBulimit\fR(3)) may require adjustment when this value is increased.
.TP
Default: 124
.RE
.IP

.TP
\fB\-s <plugin>\fR[,plugin]...
Comma\-delimited list of OpenAPI plugins to load, which will determine the
available content. By default all available OpenAPI plugins will be loaded.
See also \fB-d\fR for the data_parser plugins controlling the output format.
.RS
.TP
\fBlist\fR
Display a list of the possible plugins to load.
.IP

.TP
\fB[openapi/]slurmctld\fR
Provides 'slurm/' endpoints for the loaded data_parser plugins.
.IP

.TP
\fB[openapi/]slurmdbd\fR
Provides 'slurmdb/' endpoints for the loaded data_parser plugins. This plugin
will fail if \fBaccounting_storage/slurmdbd\fR is not used in the cluster.
.IP
.RE
.IP

.TP
\fB\-t <THREAD COUNT>\fR
Specify number of threads to use to process client connections.
Ignored in inetd mode.
.IP

.TP
\fB\-u <user id>\fR
Change user id before processing client request. This should be a unique group
with no write access or special permissions. Do not set this user to SlurmUser
or root or the daemon won't start with the default settings.
.IP

.TP
\fB\-v\fR
Verbose operation. Multiple \fBv\fR's can be specified, with each '\fBv\fR'
beyond the first increasing verbosity, up to 6 times (i.e. \-vvvvvv).
Higher verbosity levels will have significant performance impact.
.IP

.TP
\fB\-V\fR
Print version information and exit.
.IP

.SH "TLS"
slurmrestd supports TLS encrypion via the TLS plugin interface. For a detailed
description of TLS support in Slurm, see <https://slurm.schedmd.com/tls.html>.
.PP
slurmrestd supports TLS encryption for incoming HTTPS connections independently
of how \fBTLSType\fR in \fBslurm.conf\fR(5) is configured. The configuration of
\fBTLSParameters\fR in \fBslurm.conf\fR(5) is always applied. This allows the
Slurm RPC layer to remain unencrypted via TLS while allowing slurmrestd to
service HTTPS requests via TLS.
.PP
slurmrestd includes automatic detection of incoming TLS connections. If TLS
plugin is fully configured and successfully loads at startup, then all new
incoming connections will be fingerprinted for SSLv3 (per RFC#6101) and TLSv1.x
(per RFC#8446) handshakes. Upon a matching fingerprint, each incoming
connections will then be encrypted via the configured TLS plugin for the
duration of the connection. Support for TLS is handled independently of if the
connection is a [\fBunix\fR(2)] \fBsocket\fR(2) or \fBpipe(2)\fR (in INETD
mode). Listening connections created with \fBhttps://\fR will be required to be
encrypted via the TLS plugin. Any incoming connections to these listeners
without TLS encryption will be closed immediately without sending an error
response the client.
.PP
TLS support in slurmrestd is dependent on the requirements of the TLS plugin.
slurmrestd will attempt to load the first available TLS plugin (except \fI
tls/none\fR) automatically at startup. The requirements for each plugin are
listed below:
.TP
\fBtls/s2n\fR
The following files must be present and readable by the invoking user (before
\fB\-u <user id>\fR is applied) at startup:
.IP
.RS
.TP
\fBrestd_cert_file.pem\fR
TLS x509 server public certificate. Must be signed by CA trusted by clients.
The certificate's \fICN\fR (common name) must match the hostname. slurmrestd
ignores the host in client HTTP requests but most TLS clients will require they
match.
.sp 1
Note: The certificate's file must be placed in the \fBautoconf(1)\fR
installation directory variable sysconfdir which can be overridden via setting
\fBTLSParameters\fR=\fBrestd_cert_file=\fR\fI/path/to/restd_cert_file.pem\fR in
\fBslurm.conf\fR(5).
.IP

.TP
\fBrestd_cert_key_file.pem\fR
Private key for \fBrestd_cert_file.pem\fR. This file must \fBonly\fR be
readable by the slurmrestd user.
.sp 1
Note: The certificate's file must be placed in the \fBautoconf(1)\fR
installation directory variable sysconfdir which can be overridden via setting
\fBTLSParameters\fR=\fBrestd_cert_key_file=\fR\fI/path/to/restd_cert_key.pem\fR
in \fBslurm.conf\fR(5).
.IP

.RE
.IP

.SH "ENVIRONMENT VARIABLES"
The following environment variables can be used to override settings
compiled into slurmrestd.

.TP
\fBABORT_ON_FATAL\fR
When a fatal error is detected, use abort() instead of exit() to terminate the
process. This allows backtraces to be captured without recompiling Slurm.
.IP

.TP
\fBSLURM_CONF\fR
The location of the Slurm configuration file.
.IP

.TP
\fBSLURM_DEBUG_FLAGS\fR
Specify debug flags for slurmrestd to use. See DebugFlags in the
\fBslurm.conf\fR(5) man page for a full list of flags. The environment
variable takes precedence over the setting in the slurm.conf.
.IP

.TP
\fBSLURMRESTD_JSON\fR or \fBSLURM_JSON\fR
Control JSON serialization:
.IP
.RS
.TP
\fBcompact\fR
Output JSON as compact as possible.
.IP

.TP
\fBpretty\fR
Output JSON in pretty format to make it more readable.
.IP
.RE

.TP
\fBSLURM_JWT\fR
This variable must be set to use JWT token authentication.
.IP

.TP
\fBSLURMRESTD_AUTH_TYPES\fR
Set allowed authentication types. See \fB\-a\fR
.IP

.TP
\fBSLURMRESTD_DEBUG\fR
Set debug level explicitly. Valid values are 0\-9, or the same string values as
the debug options such as SlurmctldDebug in slurm.conf(5).
Ignored if \fB\-v\fR passed as argument during invocation.
.IP

.TP
\fBSLURMRESTD_DATA_PARSER_PLUGINS\fR
Comma\-delimited list of data_parser plugins to load. See \fB\-d\fR
.IP

.TP
\fBSLURMRESTD_LISTEN\fR
Comma\-delimited list of host:port pairs or unix sockets to listen on.
.IP

.TP
\fBSLURMRESTD_MAX_CONNECTIONS\fR
Set the maximum number of connections to process at any one time. See
\fB\-\-max\-connections\fR
.IP

.TP
\fBSLURMRESTD_OPENAPI_PLUGINS\fR
Comma\-delimited list of OpenAPI plugins to load. See \fB\-s\fR
.IP

.TP
\fBSLURMRESTD_RESPONSE_STATUS_CODES\fR
Comma\-delimited list of OpenAPI method responses to generate in OpenAPI
specification.
.BR
Default: 200,default
.IP

.TP
\fBSLURMRESTD_SECURITY\fR
Control slurmrestd security functionality using the following comma\-delimited
values:
.IP
.RS
.TP
\fBbecome_user\fR
Allows \fBslurmrestd\fR to be run as root in order to become the requesting
user for all requests. When combined with \fBrest_auth/local\fB, when a user
connects via a named UNIX socket, \fBslurmrestd\fR will setuid()/setgid() into
that user/group and then complete all requests as the given user. This mode is
only intended for inet mode as the user change is permanent for the life of the
process. This mode is incompatible with \fBrest_auth/jwt\fR and it is suggested
to start \fBslurmrestd\fR with "-a \fBrest_auth/local\fR" arguments.
.IP

.TP
\fBdisable_unshare_files\fR
Disables unsharing file descriptors with parent process.
.IP

.TP
\fBdisable_unshare_sysv\fR
Disables unsharing the SYSV namespace.
.IP

.TP
\fBdisable_user_check\fR
Disables check that slurmrestd is not running as root or SlurmUser, or with the
root or SlurmUser's primary group. Disabling this check will allow slurmrestd
to run as root or SlurmUser which will allow anyone who can communicate with
this daemon to run anything as the root user on the cluster.
.RE
.IP

.TP
\fBSLURMRESTD_YAML\fR or \fBSLURM_YAML\fR
Control YAML serialization:
.IP
.RS
.TP
\fBcompact\fR
Output YAML as compact as possible.
.IP

.TP
\fBno_tag\fR
Output YAML without datatype !!tags.
.IP

.TP
\fBpretty\fR
Output YAML in pretty format to make it more readable.
.RE
.IP

.SH "SIGNALS"

.TP 6
\fBSIGINT\fR
\fBslurmrestd\fR will shutdown cleanly.
.IP

.TP
\fBSIGPIPE\fR
This signal is explicitly ignored.
.IP

.SH "NOTES"
\fBSPANK\fR and \fBclifilter\fR plugins are not supported in \fBslurmrestd\fR
due to their lack of thread safety. Active \fBSPANK\fR plugins and
\fBJobSubmitPlugins\fR in \fBslurmctld\fR are independent of slurmrestd and can
be used to enforce site policy on job submissions.

.SH "EXAMPLES"

.LP
Generate OpenAPI schema without configuration
.IP
.nf
$ slurmrestd -f /dev/null  --generate-openapi-spec -s slurmdbd,slurmctld -d v0.0.42 > openapi.json
.fi

.LP
Start \fBslurmrestd\fR with a UNIX socket in listen mode:
.IP
.nf
$ export SLURMRESTD=/var/spool/slurm/restd/rest
$ slurmrestd -s slurmctld,slurmdbd -d v0.0.42 unix:$SLURMRESTD
.fi

.LP
Verify connectivity with slurmctld with a ping, with \fBslurmrestd\fR
running in listen mode:
.IP
.nf
$ export $(scontrol token)
$ curl --unix-socket "${SLURMRESTD}" -H "X-SLURM-USER-TOKEN:${SLURM_JWT}" 'http://ignored_with_unix_sockets/slurm/v0.0.42/ping' | jq '.pings'
[
  {
    "hostname": "omicronpersei8",
    "pinged": "UP",
    "latency": 314,
    "mode": "primary"
  }
]
.fi

.LP
Verify connectivity with slurmdbd with a diag request, with \fBslurmrestd\fR
running in listen mode:
.IP
.nf
$ export $(scontrol token)
$ curl --unix-socket "${SLURMRESTD}" -H "X-SLURM-USER-TOKEN:${SLURM_JWT}" 'http://ignored_with_unix_sockets/slurmdb/v0.0.42/diag' | jq '.pings'
1722009793
.fi

.LP
Query the status of a node with \fBslurmrestd\fR running in INETD mode:
.IP
.nf
$ echo -e "GET http://ignored/slurm/v0.0.42/node/host1 HTTP/1.1\\r\\n" | slurmrestd
HTTP/1.1 200 OK
Content-Length: 3174
Content-Type: application/json

{
  "nodes": [
    {
      "architecture": "x86_64",
      "burstbuffer_network_address": "",
      "boards": 1,
      "boot_time": {
        "set": true,
        "infinite": false,
	"number": 1720820315
      },
      "cluster_name": "",
      "cores": 16,
      "specialized_cores": 0,
      "cpu_binding": 0,
      "cpu_load": 446,
      "free_mem": {
        "set": true,
        "infinite": false,
	"number": 39871
      },
      "cpus": 32,
      "effective_cpus": 32,
      "specialized_cpus": "",
      "energy": {
        "average_watts": 0,
        "base_consumed_energy": 0,
        "consumed_energy": 0,
	"current_watts": {
          "set": false,
          "infinite": false,
          "number": 0
        },
	"previous_consumed_energy": 0,
	"last_collected": 0
      },
      "external_sensors": {},
      "extra": "",
      "power": {},
      "features": [],
      "active_features": [],
      "gpu_spec": "",
      "gres": "gpu:fake1:1(S:0),gpu:fake2:1(S:0)",
      "gres_drained": "N\/A",
      "gres_used": "gpu:fake1:0(IDX:N\/A),gpu:fake2:0(IDX:N\/A)",
      "instance_id": "",
      "instance_type": "",
      "last_busy": {
	"set": true,
	"infinite": false,
	"number": 1722009794
      },
      "mcs_label": "",
      "specialized_memory": 0,
      "name": "host1",
      "next_state_after_reboot": [
	"INVALID"
      ],
      "address": "localhost",
      "hostname": "omicronpersei8",
      "state": [
        "IDLE"
      ],
      "operating_system": "Linux 6.5.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun  7 15:10:09 UTC 2024",
      "owner": "",
      "partitions": [
        "debug"
      ],
      "port": 5015,
      "real_memory": 127927,
      "res_cores_per_gpu": 0,
      "comment": "",
      "reason": "",
      "reason_changed_at": {
	"set": true,
	"infinite": false,
	"number": 0
      },
      "reason_set_by_user": "",
      "resume_after": {
        "set": true,
        "infinite": false,
        "number": 0
      },
      "reservation": "",
      "alloc_memory": 0,
      "alloc_cpus": 0,
      "alloc_idle_cpus": 32,
      "tres_used": "",
      "tres_weighted": 0.0,
      "slurmd_start_time": {
	"set": true,
	"infinite": false,
	"number": 1722009794
      },
      "sockets": 1,
      "threads": 2,
      "temporary_disk": 0,
      "weight": 1,
      "tres": "cpu=32,mem=127927M,billing=32,gres\/gpu=2",
      "version": "24.11.0-0rc1"
    }
  ],
  "last_update": {
    "set": true,
    "infinite": false,
    "number": 1722010273
  },
  "meta": {
<<< TRIMMED >>>
  },
  "errors": [],
  "warnings": []
}
.fi

.LP
Submit a job to \fBslurmrestd\fR with it running in listen mode:
.IP
.nf
$ jq . example_job.json
{
  "job": {
    "script": "#!/bin/bash\\nsleep 30",
    "name": "ExampleJob",
    "account": "sub1",
    "environment": [
      "PATH=/usr/bin/:/bin/"
    ],
    "current_working_directory": "/tmp/",
    "tasks": 12,
    "memory_per_cpu": 100,
    "time_limit": 240
  }
}

$ curl -H "Content-Type: application/json" --data-binary @example_job.json --unix-socket "${SLURMRESTD}" 'http://ignored/slurm/v0.0.42/job/submit'
{
  "job_id": 9,
  "step_id": "batch",
  "job_submit_user_msg": "",
  "meta": {
<<< TRIMMED >>>
  },
  "errors": [],
  "warnings": []
}

$ curl -H "Content-Type: application/json" --data-binary @example_job.json --unix-socket "${SLURMRESTD}" 'http://ignored/slurm/v0.0.42/job/submit'
{
  "job_id": 7,
  "step_id": "batch",
  "job_submit_user_msg": "",
  "meta": {
  },
  "errors": [],
  "warnings": [
    {
      "description": "Expected OpenAPI type=array (Slurm type=list) but got OpenAPI type=object (Slurm type=dictionary): {\"PATH\":\"\\\/bin\"}",
      "source": "#\/job\/environment\/"
    }
  ]
}
.fi

.SH "COPYING"
Copyright (C) 2019\-2022 SchedMD LLC.
.LP
This file is part of Slurm, a resource management program.
For details, see <https://slurm.schedmd.com/>.
.LP
Slurm is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
.LP
Slurm is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.

.SH "SEE ALSO"
\fBslurm.conf\fR(5), \fBslurmctld\fR(8), \fBslurmdbd\fR(8)
