slack.conf(5) configuration file for slack


The file /etc/slack.conf contains configuration information for slack(8) and its backends. It should contain one keyword-value pair per line, separated by an '=' sign. Keywords must consist solely of capital letters and underscores. Values may take any appropriate format, but must not begin with a space. Comments start with '#', and all text from the '#' to the end of a line is ignored. Trailing whitespace on lines is ignored. Empty lines or lines consisting of only whitespace and comments are ignored.

Valid keywords are:

The master source for slack roles. It can be in one of four forms:
  • /path/to/dir

    Use a local directory.

  • somehost:/path/to/dir

    Use given directory on a remote host via rsync over SSH.

  • rsync://somehost/module

    Use module on a remote rsyncd server (directly over the network).

  • somehost::module

    Use the rsync daemon protocol over SSH to the given host. See "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION" in rsync(1)

All forms of SOURCE are passed directly to rsync, so you can do things like add "[email protected]" before the host on any remote forms. For more about what rsync can do, see its manual page, of course.
For the last form, however, we do a little magic. rsync treats the last two forms equivalently, so we overload the last form by automatically passing "-e ssh" to rsync when we see it. This hack lets us tell slack to use this nice feature of rsync just using the SOURCE config option.
The root filesystem into which to install slack roles. Usually '/'.
The location of the role list, which lists the roles to be installed by default on each host.

This can be a path relative to the source, or can be an entirely separate location if it starts with a slash or a hostname (optionally preceeded by [email protected]).

A local cache directory, used as a local mirror of the SOURCE.
A local staging directory, used as an intermediate stage when installing files.
A directory in which to keep dated backups for rollbacks.


A typical file might look like this:

  # slack.conf configuration file
  SOURCE=slack-master:/slack  # source is on a remote
                              # host named "slack-master"