LCAGENTRC(5)

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)