RSET(1)
π RSET(1) β rset: remote staging and execution tool π
From the General Commands Manual, bestie. This is the whole vibe: rset is out here staging and executing remote stuff like a main character. β¨
πΈ NAME πΈ
rset β remote staging and execution tool. That's the name, no cap. π
β¨ SYNOPSIS β¨
rset [-AenRt] [-E environment] [-F sshconfig_file] [-f routes_file]
[-x label_pattern] hostname ...
rset [-e] [-E environment] [-F sshconfig_file] [-f routes_file]
[-x label_pattern] -o log_directory -p workers hostname ...
π DESCRIPTION π
Okay so rset evaluates script fragments written in Progressive Label Notation (pln(5)), executing each script in sequence using ssh connection multiplexing. It accepts one or more hostnames which match the labels in routes_file. Slay. π¦
The arguments are as follows:
-Aβ Download files listed in label export paths to the local_archivedirectory in the formathostname:basename(filename). Absolute paths are permitted, or paths relative to the staging directory. Very_archivecore. π¦-eβ Exit immediately if any label returns non-zero exit status. No dragging it out, periodt. π-nβ Do not connect to remote hosts. May be combined with-xto highlight label names that match. Special text defined between{and}is still executed locally. Spooky local-only energy. π-Rβ Send files listed in label export paths from the local_archivedirectory. This is the reverse of-A. Reverse icon behavior. π-tβ Allow TTY input by copying the content of each label to the remote host instead of opening a pipe to the interpreter. TTY girlies rise. β¨οΈ-Eβ Set one or more environment variables using the formatname="value" .... Env var moment. π-Fβ Specify a config file forssh(1)to use. Config file bestie. π-fβ Specify aroutes_file. This file is composed of labels which correspond to hostnames or IP addresses which are matched againsthostname. The default isroutes.pln. Default route vibes. π£οΈ-oβ Log directory to use for background workers. Each log file is created for each worker using the formatYYYY-MM-DD_HHMMSS.n. Timestamped and organized, we love. ποΈ-pβ Parallel execution distributed across the specified number of workers. The log directory must also be specified using-o. A summary of results is displayed using therexec-summaryscript located in the search path. Parallelism, but make it documented. β‘-xβ Execute labels matching the specified regex. By default only labels beginning with[0-9a-z]are evaluated. Regex girlie behavior. π
π¦ ENVIRONMENT π¦
Status messages for each stage of execution may be customized by setting RSET_HOST_CONNECT, RSET_HOST_CONNECT_ERROR, RSET_LABEL_EXEC_BEGIN, RSET_LABEL_EXEC_END, RSET_LABEL_EXEC_ERROR, and RSET_HOST_DISCONNECT.
Setting RSET_HOST_CONNECT disables the default status messages and is the only required variable. These have no effect in conjunction with the -n flag.
Lowkey important: if you're in -n mode, these status-message variables are doing nothing. They are not invited to the local party. π
The following variables are interpolated:
%eβ exit code%lβ label name%hβ hostname%sβ session identifier%Tβ rfc-3339 timestamp%%β literal%
Execution on the remote host sets the following environment variables:
INSTALL_URLβ Used byrinstall(1)for fetching content from_sources. Fetch queen. πSDβ Staging directory wherersetunpacks utilities and configuration files.HTTP_TRACEβ If defined, print log messages fromminiquark(1).SSH_TRACEβ If defined, print commands used for remote execution.
Environment state may be set for the duration of the ssh session using renv(1), using name=value as the first argument. Env state, but make it session-scoped. π
π FILES π
Available hosts and the pathnames to labeled scripts to run are read from routes.pln, located in the current directory.
A ssh master is established at the beginning of a session and all subsequent interactions with a host are run over a socket at /tmp/rset_control_{hostname}.
The local directory _rutils is created if it does not exist, and is shipped to the remote host at the beginning of each execution to directory named /tmp/rset_staging_{http_port}.
π OPTIONS π
The following options are recognized when parsing a pln(5) file:
π§ͺ environment=
Space separated list of environment variables. Only values matching the pattern name="value" are added to the environment on the remote host.
π§ͺ environment_file=
Path to a file which defines environment variables validated by renv(1).
π§ͺ interpreter=
The interpreter to run a script fragment with. Defaults to /bin/sh, but any language may be used that is capable of reading scripts over STDIN. Multilingual icon. π
π§ͺ local_interpreter=
The interpreter to evaluate content that is prepended to a script. Defaults to /bin/sh.
π§ͺ execute_with=
Command for elevating privileges, such as doas(1) and sudo(8). Permission elevation, but make it configurable. π₯
π SINGLE USE OPTIONS π
The following are effective only for the subsequent label:
π¦ begin=
Execute a script using the local_interpreter before the label is executed on the remote lost β yep, the original page says βlostβ here, and honestly same π (it means host, bestie). Before-vibes only. π«Ά
π¦ end=
Execute a script using the local_interpreter after the label is executed on the remote host. After-vibes only. π¬
π SEE ALSO π
With love and Debian energy, this page is from Debian, dated January 17, 2026. ππ
π¦ where this page comes from
- alpine 3.24: rset-doc 3.3-r1 Β· ISC
- Copyright (c) 2018 Eric Radman <ericshane@eradman.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms