CLUSH.CONF(5)
π CLUSH.CONF π β the config file that runs the whole clush vibe
ok bestie, this is section 5 of the ClusterShell User Manual, and it's literally the manual page for clush.conf β the little config file that decides how clush behaves. pull up a chair π«Ά
β¨ NAME β¨
clush.conf β configuration file for clush, no cap π
πΈ DESCRIPTION πΈ
the clush(1) config files are in Python's ConfigParser format. that's the vibe. it's giving .ini energy fr fr.
π Locations π
so clush(1) goes hunting for config options in a bunch of places, and it checks them in decreasing order of precedence β meaning the first one it finds wins, and the rest are just background characters:
- command-line options π
$CLUSTERSHELL_CFGDIR/clush.confβ only used when$CLUSTERSHELL_CFGDIRis defined, iykyk- user configuration file (
$XDG_CONFIG_HOME/clustershell/clush.conf, defaults to$HOME/.config/clustershell/clush.conf) - Python virtual environment (
{sys.prefix}/etc/clustershell/clush.conf) - local pip user installation (
$HOME/.local/etc/clustershell/clush.conf) - system-wide configuration file (
/etc/clustershell/clush.conf)
for each parameter, the first obtained value will be used. periodt. π
the config file has a format in the style of RFC 822, composed of one main section:
- Main β program options definition
π [Main] π
the configuration parameters of the Main section are described below, and yes we're going through every single one, don't scroll π«Ά
fanoutβ the size of the sliding window (fanout) of active commands forclush. this fanout exists to avoid too many concurrent connections and to conserve resources on the initiating hosts. in tree mode, the same fanout value is used on the head node and on each gateway (the fanout value is propagated). so like, if the fanout is16on the head node, each gateway will initiate up to16connections to their target nodes at the same time. slay βconfdirβ optional list of directory paths whereclushshould look for.conffiles which define run modes that can then be activated with--mode. all otherclushconfig file settings defined here might be overridden in a run mode. each mode section should have a name prefixed by"mode:"to clearly identify a section defining a mode. duplicate modes are not allowed in those files. configuration files that are not readable by the current user are ignored. the variable$CFGDIRis replaced by the path of the highest priority configuration directory found (whereclush.confresides). the default confdir value enables both system-wide and any installed user configuration (thanks to$CFGDIR). duplicate directory paths are ignored. π«connect_timeoutβ timeout in seconds to allow a connection to establish. this parameter is passed tossh. if set to0, no timeout occurs.command_prefixβ command prefix. generally used for specific run modes, for example to implementsudo(8)support.command_timeoutβ timeout in seconds to allow a command to complete since the connection has been established. this parameter is passed tossh. in addition, the ClusterShell library ensures that any commands complete in less than( connect_timeout + command_timeout ). if set to0, no timeout occurs.colorβclushcan useNO_COLOR,CLICOLORandCLICOLOR_FORCEenvironment variables.NO_COLORtakes precedence overCLICOLOR_FORCEwhich takes precedence overCLICOLOR. when the option is set in configuration file, environment variables are taken into account only withautoargument.colortells whether to use ANSI colors to surround node or nodeset prefix/header with escape sequences to display them in color on the terminal. valid arguments arenever,alwaysorauto(which uses color if standard output/error refer to a terminal). colors are set to[34m(blue foreground text) for stdout and[31m(red foreground text) for stderr, and cannot be modified. it's giving rainbow but make it two colors πfd_maxβ maximum number of open file descriptors permitted perclushprocess (soft resource limit for open files). this limit can never exceed the system (hard) limit. thefd_max(soft) and system (hard) limits should be high enough to runclush, although their values depend on your fanout value. keep an eye on it bestie πhistory_sizeβ set the maximum number of history entries saved in the GNU readline history list. negative values imply unlimited history file size. unlimited. main character energy πnode_countβ shouldclushdisplay additional (node count) information in buffer header? (yes/no)maxrcβ shouldclushreturn the largest of command return codes? (yes/no)password_promptβ enable password prompt and password forwarding to stdin? (yes/no). generally used for specific run modes, for example to implement interactivesudo(8)support. πverbosityβ set the verbosity level:0(quiet),1(default),2(verbose) or more (debug).ssh_userβ set the ssh user to use for remote connection (default is to not specify).ssh_pathβ set the ssh binary path to use for remote connection (default isssh).ssh_optionsβ set additional options to pass to the underlyingsshcommand.scp_pathβ set the scp binary path to use for remote copy (default isscp).scp_optionsβ set additional options to pass to the underlyingscpcommand. if not specified,ssh_optionsare used instead.rsh_pathβ set the rsh binary path to use for remote connection (default isrsh). you could easily usemrshorkrshby simply changing this value. glow up πrcp_pathβ same asrsh_pathforrcpcommand. (default isrcp)rsh_optionsβ set additional options to pass to the underlyingrsh/rcpcommand.
π Run modes π
since version 1.9, clush has support for run modes, which are special clush.conf(5) settings with a given name. two run modes are provided in example configuration files that can be copied and modified. they implement password-based authentication with sshpass(1) and support of interactive sudo(8) with password. iconic behavior tbh π₯
to use a run mode with clush --mode, install a configuration file in one of clush.conf(5)'s confdir (usually clush.conf.d). only configuration files ending in .conf are scanned. if the user running clush(1) doesn't have read access to a configuration file, it is ignored. when --mode is specified, you can display all available run modes for the current user by enabling debug mode (-d). so helpful fr fr π¦
π« EXAMPLES π«
simple configuration file. here's the whole thing, verbatim, don't touch it:
π clush.conf π
[Main]
fanout: 128
connect_timeout: 15
command_timeout: 0
history_size: 100
color: auto
fd_max: 10240
maxrc: no
node_count: yes
confdir: /etc/clustershell/clush.conf.d
ποΈ FILES ποΈ
$CLUSTERSHELL_CFGDIR/clush.confβ globalclushconfiguration file. if$CLUSTERSHELL_CFGDIRis not defined,/etc/clustershell/clush.confis used instead.$XDG_CONFIG_HOME/clustershell/clush.confβ user configuration file forclush. if$XDG_CONFIG_HOMEis not defined,$HOME/.config/clustershell/clush.confis used instead.{sys.prefix}/etc/clustershell/clush.confβ configuration file when ClusterShell is installed in a Python virtual environment. β¨$HOME/.local/etc/clustershell/clush.confβ local user configuration file forclush(default installation forpip --user).~/.clush.confβ deprecated per-userclushconfiguration file (no longer read since version1.9). rest in peace bestie π
π HISTORY π
as of ClusterShell version 1.3, the External section has been removed from clush.conf. external commands whose outputs were used by clush (-a, -g, -X) are now handled by the library itself and defined in groups.conf(5). character development π§
π SEE ALSO π
clush(1),groups.conf(5),sshpass(1),sudo(8)- https://clustershell.readthedocs.io/
- Python ConfigParser
- https://docs.python.org/3/library/configparser.html
π AUTHOR π
Stephane Thiell
π COPYRIGHT π
GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
and that's the whole page bestie π«Ά this was CLUSH.CONF(5) from the ClusterShell User Manual, version 1.10.1, dated 2026-07-16. go forth and configure responsibly, mwah π
β¨
π¦ where this page comes from
- arch rolling: clustershell 1.10.1-2 Β· LGPL-2.1-or-later
- epel 10: clustershell 1.10.1-1.el10_3 Β· LGPL-2.1-or-later
- epel 9: clustershell 1.10.1-1.el9 Β· LGPL-2.1-or-later
- fedora 43: clustershell 1.10.1-1.fc43 Β· LGPL-2.1-or-later
- fedora 44: clustershell 1.10.1-1.fc44 Β· LGPL-2.1-or-later
- ubuntu stonking: clustershell 1.10.1-1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms