1slurmrestd(8)                  Slurm REST Daemon                 slurmrestd(8)
2
3
4

NAME

6       slurmrestd - Interface to Slurm via REST API.
7

SYNOPSIS

9       slurmrestd [OPTIONS...] <[host]:port|unix:/path/to/socket>...
10

DESCRIPTION

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

OPTIONS

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

ENVIRONMENT VARIABLES

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

SIGNALS

137       SIGINT
138             slurmrestd will shutdown cleanly.
139
140       SIGPIPE
141             This signal is explicitly ignored.
142

NOTES

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

COPYING

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

SEE ALSO

168       slurm.conf(5), slurmctld(8), slurmdbd(8)
169
170
171
172December 2022                  Slurm REST Daemon                 slurmrestd(8)
Impressum