RSET(1) General Commands Manual RSET(1)

rsetremote staging and execution tool

rset [-elntv] [-F sshconfig_file] [-f routes_file] [-x label_pattern] hostname ...

rset evaluates script fragments written in Progressive Label Notation (pln(5)), executing each one in tern using ssh connection multiplexing. rset accepts one or more hostnames which match the labels in routes_file.

The arguments are as follows:

Stop executing if an error is encountered within a label.
List the options associated with each label.
Do not connect to remote hosts. Special text defined between { and } is still executed locally. Hostnames are highlighted to show what characters the hostname matched.
Allow TTY input by copying the content of each label to the remote host instead of opening a pipe to the interpreter.
Print the HTTP log messages after each label is executed.
Specify a config file for ssh(1) to use.
Specify a routes_file. This file is composed of labels which correspond to hostnames or IP addresses which are matched against hostname. The default is routes.pln.
Execute labels matching the specified regex. By default only labels beginning with [0-9a-z] are evaluated.

Execution on the remote host sets the following environment variables: INSTALL_URL, LABEL, ROUTE_LABEL.

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 must exist, and is shipped to the remote host at the beginning of each execution as a temporary directory named /tmp/rset_staging_{http_port}. This is used to set the current working directory in the environment of the remote host, hence the capabilities of rset may easily be extend by accessing utilities at this location.

The following options are recognized when parsing a pln(5) file:

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.

The interpreter to evaluate content that is prepended to a script Defaults to /bin/sh.

Command for elevating privileges, such as doas(1) and sudo(8).

miniquark(1), rinstall(1), rsub(1), ssh_config(5), re_format(7)

May 3, 2022 OpenBSD 7.1