.TH sackd "8" "Slurm Auth and Cred Kiosk Daemon" "June 2025" "Slurm Auth and Cred Kiosk Daemon"

.SH "NAME"
sackd \- Slurm Auth and Cred Kiosk Daemon.

.SH "SYNOPSIS"
\fBsackd\fR [\fIOPTIONS\fR...]

.SH "DESCRIPTION"
\fBsackd\fR is the Slurm Auth and Cred Kiosk Daemon. It can be used on login
nodes that are not running slurmd daemons to allow authentication to the
cluster. The program will run as the \fISlurmdUser\fR. When running in Slurm's
"configless" mode, in which case configuration files are retrieved and written
under the /run/slurm/conf directory (unless \fBRUNTIME_DIRECTORY\fR is set).

.SH "OPTIONS"
.TP
\fB\-\-ca\-cert\-file <file>\fR
Absolute path to CA certificate used for fetching configuration when running
configless in a TLS enabled cluster.
.IP

.TP
\fB\-\-conf\-server host[:port]\fR
Retrieve configs from slurmctld running at \fIhost[:port]\fR.
Requires slurmctld support provided by setting \fBenable_configless\fR in
SlurmctldParameters.
.IP

.TP
\fB\-D\fR
Run \fBsackd\fR in the foreground with logging copied to stderr.
.IP

.TP
\fB\-\-disable\-reconfig\fR
Fetch configurations in configless mode once, but do not register with slurmctld
for further reconfiguration updates.
.IP

.TP
\fB\-f config\fR
Read configuration from the specified file.
.IP

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

.TP
\fB\-\-port number\fR
Port socket number to listen for reconfiguration updates. This can be useful
when multiple sackds co-exist on the same login node. The default value is
\fBSlurmdPort\fR.
.IP

.TP
\fB\-\-systemd\fR
To be used when started from a systemd unit file.
.IP

.TP
\fB\-v\fR
Verbose mode. Multiple \-v's increase verbosity.
.IP

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

.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
\fBRUNTIME_DIRECTORY\fR
Absolute path governing the location for both the configuration cache sackd
maintains, and the sack.socket unix socket used to provide authentication
services.

If multiple sackds need to be started on the same login node, the
\fBRuntimeDirectory\fR systemd unit option should be set to
\fBslurm-<clustername>\fR. Systemd v240+ automatically sets
\fBRUNTIME_DIRECTORY\fR to \fB/run/$RuntimeDirectory\fR for each sackd service,
otherwise it requires manual setting (i.e. via \fBEnvironmentFile\fR unit
option).

If this is not set, the default value is \fb/run/slurm/\fR.
.IP

.TP
\fBSACKD_DEBUG\fR
Set debug level explicitly for syslog and stderr. Valid values are 0\-9, or the
same string values as the debug options such as SlurmctldDebug in
slurm.conf(5).
.IP

.TP
\fBSACKD_DISABLE_RECONFIG\fR
Same as \fB\-\disable-reconfig\fR.
.IP

.TP
\fBSACKD_PORT\fR
Same as \fB\-\-port\fR.
.IP

.TP
\fBSACKD_STDERR_DEBUG\fR
Set debug level explicitly for stderr. Valid values are 0\-9, or the same
string values as the debug options such as SlurmctldDebug in slurm.conf(5).
.IP

.TP
\fBSACKD_SYSLOG_DEBUG\fR
Set debug level explicitly for syslog. Valid values are 0\-9, or the same
string values as the debug options such as SlurmctldDebug in slurm.conf(5).
.IP

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

.TP
\fBSLURM_DEBUG_FLAGS\fR
Specify debug flags for sackd 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

.SH "SIGNALS"

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

.TP
\fBSIGHUP\fR
\fBsackd\fR will reconfigure.
.IP

.TP
\fBSIGUSR2 SIGPIPE\fR
This signal is explicitly ignored.
.IP

.SH "COPYING"
Copyright (C) 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)
