freight-agent man page

freight-agent — daemon to download and execute systemd containers


frieght-agent [options]


freight-agent Is a daemon that executes on a remote host, downloading and executing systemd containers produced by freight-builder.  A freight administrator can direct configured agents to execute containers provided in configured yum repositories.


freight-agent [OPTIONS]
-h | --help

Display options and usage for the daemon

-c | --config </path/to/config/file>

Specify the config file to use with freight-agent (defaults to

-l | --list <all|local|running>

Select local or global scope in list mode, or list running containers

-v | --verbose

Verbose output

-m | --mode <mode>

Specify the mode which freight agent is operating in

--mode node

Operate in node mode - freight-agent listens for and executes container requests

--mode master

Operate in master mode - freight-agent monitors health of nodes and database /etc/freight-agent/config

--mode init

Preform a one time initalization of the container working directory for freight-agent.  This is useful for setting up for local container install and execution.

--mode clean

Remove that freight-agent container root working directory.  This destroys the yum and local rpm databases that track which containers are installed, removes the installed containers, and destroys the existing config retrieved from the database.

Config File Format

The config file has the following format

# These are comments

# The type of database to connect to
# postgres is meant for clusters of freight agents on multiple systesm
# sqlite is meant for local installations 
# freightproxy is the xmlrpc proxy to a backend postgres db
db = {
	dbtype = "postgres | sqlite | freightproxy";
	hostaddr = "hostname of db server";
	hostport = "optional port of db server
	dbname = "Name of database/database file";
	user = "User name to access server";
	password = "password to access server";

# configuration for freight-agent when running in node mode
node = {
	container_root = "Path to container store";
	host_bridge = "bridge to use for container communication";
	hostname = "name to register in db. defaults to gethostname";
	gc_interval = "How often to check for unused containers (0 disables)";
	gc_thresh = "Number of gc intervals before a container is removed";

# configuration for freight proxy server
proxy = {
        serverport = "8080";
        log = "/tmp/freightproxy.log";

master = {


Note that the dbtype field supports the following database types


Standard postgres database


A Null db for local freigght agent use


Connection to the freightproxy xmlrpc database proxy


Apr 2015 Neil Horman