NAME

lcagentrc - lcagent rcfile

DESCRIPTION

The rcfile consists of some global options followed by a list of channels with their settings and commands.

Comments

A comment begins with # and all the following characters up to a NEWLINE are ignored.

OPTIONS

Global Options

debug

Enable debug logging. The same as setting --debug on the command line.

directory directory

Set the default directory for channels. Change to this directory before executing any commands.

enable

Enable channels. The default. Can be overridden by noenable per channel.

join

Join channels. The default. Can be overridden by nojoin per channel.

logfile

Set the path to the logfile. Logs will be written here instead of to stderr.

noenable | disable

Do not enable channels. Can be overridden by enable per channel.

nojoin

Do not join channels. Can be overridden by join per channel.

seed seed

Generate a symmetric key from seed and use it to encrypt and decrypt data sent and received on all channels.

If an encryption seed is used, the permissions for the rcfile must not be world readable or lcagent will refuse to run and print an error.

Channel Options

enable

Enable this channel. The default, unless noenable is set globally.

directory

Change to this directory before executing any commands for this channel.

join

Join channel. The default, unless nojoin is set globally.

noenable | disable

The channel is not enabled. The channel will still be joined (unless nojoin is also set, and attempts to execute it will be logged, but no commands will execute. This also prevents execution with lcagent exec.

nojoin

Do not join the Librecast Channel. The channel commands can still be executed by calling lcagent exec.

command command

Execute command. If it fails, do not execute any following commands. The channel will continue listening.

try command

Execute command. If it fails, continue executing any subsequent commands anyway.

EXAMPLE

# This is an example rcfile for lcagent(1)
# Comments begin with a hash and run until the end of the line.
# Whitespace, including blank lines are ignored.
# Indenting channel settings is optional, but is recommended for readability.
# Leaving a blank line between channels is also advised.

# enable debug logging and set logfile
debug
logfile /var/log/lcagent.log
seed somepassword

# set any global options
# these can be overridden by individual channel options
# these are the defaults:
join
enable


channel "my very first channel"
	# we usually indent the settings for each channel
	noenable             # this channel will not be executed
	command "/this/command/not/executed"

# this channel will not be joined, but can still be executed
# with `lcagent exec`
channel 'single quotes are valid string delimiters too'
	nojoin               # this channel will not be joined
	command "cat > /tmp/somefile"
	command "bzip2 /tmp/somefile"
	reload               # reload lcagent config on success

channel unquoted-string-channel
	try "/bin/false"     # this can fail, and we still continue
	command "/bin/true"  # this command must succeed, or we stop
	command "/usr/local/bin/someplugin"
	restart              # restart lcagent config on success

# this channel will apply a git patch sent to it which was created
# with git-format-patch(1).
# If the patch applies without error, `gmake test` is run
channel "lcagent patchtest"
        directory /home/lcagent/src/lcagent
        command "git am --committer-date-is-author-date"
        command "gmake test"

SEE ALSO

lcagent(1), librecast(7)