1slurmrestd(8) Slurm REST Daemon slurmrestd(8)
2
3
4
6 slurmrestd - Interface to Slurm via REST API.
7
9 slurmrestd [OPTIONS...] <[host]:port|unix:/path/to/socket>...
10
12 slurmrestd is REST API interface for Slurm. It can be used in two
13 modes:
14
15
16 Inetd Mode: slurmrestd will read and write to STDIO. If STDIN is a
17 socket file descriptor, then slurmrestd will detect this and use rele‐
18 vant functionatlity. If a controlling TTY is detected, interactive mode
19 will automatically activate to provide additional logging information.
20 This mode is designed to work with piped input, inetd, xinetd or sys‐
21 temd socket activation.
22
23
24 Listen Mode: slurmrestd will open a listening socket on each requested
25 host:port pair or UNIX socket.
26
27
29 [host]:port
30 Hostname and port to listen against. host may be an IPv4/IPv6 IP
31 or a resolvable hostname. Hostnames are only looked up at
32 startup and do not change for the life of the process. host is
33 optional; if not provided, slurmrestd will listen on all network
34 interfaces.
35
36 unix:/path/to/socket
37 Listen on local UNIX socket. Must have permission to create
38 socket in filesystem.
39
40 -a <authentication plugins>
41 Comma-delimited list of authentication plugins to load. Default
42 behavior is to load all REST authentication plugins found at
43 load time.
44
45 list Display a list of the possible plugins to load.
46
47 rest_auth/local
48 Allows authentication via UNIX sockets when auth/munge is
49 active.
50 NOTE: slurmrestd and client processes must run under the
51 same UID or the client requests will be rejected.
52
53 rest_auth/jwt
54 Allows authentication via TCP and UNIX sockets when Au‐
55 thAltTypes=auth/jwt is active. User must specify the fol‐
56 lowing HTTP cookies with each request:
57
58 X-SLURM-USER-NAME:<user name>
59
60 X-SLURM-USER-TOKEN:<JSON Web Token>
61
62 NOTE: Tokens are usually generated via calling "scontrol
63 token".
64
65 -f <file>
66 Read Slurm configuration from the specified file. See NOTES be‐
67 low.
68
69 -g <group id>
70 Change group id (and drop supplemental groups) before processing
71 client request. This should be a unique group with no write ac‐
72 cess or special permissions. Do not set this to the group be‐
73 longing to to SlurmUser or root or the daemon won't start with
74 the default settings.
75
76 -h Help; print a brief summary of command options.
77
78 -s <OpenAPI plugins to load>
79 Comma-delimited list of OpenAPI plugins. Set to "list" to dump
80 a list of the possible plugins to load. Defaults: all builtin
81 supported OpenAPI plugins.
82
83 -t <THREAD COUNT>
84 Specify number of threads to use to process client connections.
85 Ignored in inetd mode. Default: 20
86
87 -u <user id>
88 Change user id before processing client request. This should be
89 a unique group with no write access or special permissions. Do
90 not set this user to SlurmUser or root or the daemon won't start
91 with the default settings.
92
93 -v Verbose operation. Multiple -v's increase verbosity. Higher
94 verbosity levels will have significant performance impact.
95
96 -V Print version information and exit.
97
99 The following environment variables can be used to override settings
100 compiled into slurmctld.
101
102
103 SLURM_CONF
104 The location of the Slurm configuration file.
105
106 SLURM_JWT
107 This variable must be set to use JWT token authentication.
108
109 SLURMRESTD_AUTH_TYPES
110 Set allowed authentication types. See -a
111
112 SLURMRESTD_DEBUG
113 Set debug level explicitly. Valid values are 1-10. See -v
114
115 SLURMRESTD_LISTEN
116 Comma-delimited list of host:port pairs or unix sockets to lis‐
117 ten on.
118
119 SLURMRESTD_OPENAPI_PLUGINS
120 Comma-delimited list of OpenAPI plugins to load. See -s
121
122 SLURMRESTD_SECURITY
123 Control slurmrestd security functionality using the following
124 comma-delimited values:
125
126 disable_unshare_files
127 Disables unsharing file descriptors with parent process.
128
129 disable_unshare_sysv
130 Disables unsharing the SYSV namespace.
131
132 disable_user_check
133 Disables check that slurmrestd is not running as root or
134 SlurmUser, or with the root or SlurmUser's primary group.
135
137 SIGINT
138 slurmrestd will shutdown cleanly.
139
140 SIGPIPE
141 This signal is explicitly ignored.
142
144 SPANK and clifilter plugins are not supported in slurmrestd due to
145 their lack of thread safety. Active SPANK plugins and JobSubmitPlugins
146 in slurmctld are independent of slurmrestd and can be used to enforce
147 site policy on job submissions.
148
149
151 Copyright (C) 2019-2022 SchedMD LLC.
152
153 This file is part of Slurm, a resource management program. For de‐
154 tails, see <https://slurm.schedmd.com/>.
155
156 Slurm is free software; you can redistribute it and/or modify it under
157 the terms of the GNU General Public License as published by the Free
158 Software Foundation; either version 2 of the License, or (at your op‐
159 tion) any later version.
160
161 Slurm is distributed in the hope that it will be useful, but WITHOUT
162 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
163 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
164 for more details.
165
166
168 slurm.conf(5), slurmctld(8), slurmdbd(8)
169
170
171
172December 2022 Slurm REST Daemon slurmrestd(8)