NAME
pln —
progressive label notation
DESCRIPTION
Progressive Label Notation is a configuration format used by
rset(1). pln allows key-value options
to be defined inline, and tab-indented code blocks called
labels
to be executed sequentially. Labels support a single type of annotation
known as
export
paths.
pln files are arranged in a
two-level hierarchy: a top-level routes file maps hostnames to a list of
.pln files. All .pln files included in a route label are expected to be
executed within a single
session.
OPTIONS
Options may be set multiple times, and are effective for subsequent labels. The value is assigned all text between first `=` character and ⟨newline⟩
environment=LC_ALL="C.UTF-8"
An name ending with `=` is an empty assignment and will reset the option to a default value.
ROUTE LABELS
Labels may be split into multiple aliases separated by commas
svc1,10.0.0.10: common.pln svc.pln
Alternatively, sequence expressions may be used to define a host range
fs{2..5}.lan:
zpool.pln
A list of pathnames following
‘:’ indicate directories to be staged
on the remote host
scriptedconfiguration.org: common/ hub/ users.pln hub.pln
HOST LABELS
Content defined between ⟨tab⟩ and ⟨newline⟩ is piped verbatim to external commands, avoiding the need to escape special characters. Empty lines are also permitted
packages: echo "http://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl pkg_add rsync-- mkdir -p /tftpboot/efi
A pair of braces immediately following a label captures the output of local execution before initiating a remote connection. The result of local execution is concatenated with the label content to form single script
set date:
{
echo "NOW=$(date +%Y%m%d%H%M)"
}
date $NOW
In specialized cases, export paths following
‘:’ identifies files to send or
retrieve
_archive: hub.tar tar -Pp -cf hub.tar /var/www /etc/ssl
COMMENTS
Comments begin with ‘#’, and
are only recognized at start of a line.
SEE ALSO
AUTHORS
Eric Radman <ericshane@eradman.com>