freight-agent man page

freight-agent — daemon to download and execute systemd containers

Synopsis

frieght-agent [options]

Description

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.

Options

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

postgres

Standard postgres database

nodb

A Null db for local freigght agent use

freightproxy

Connection to the freightproxy xmlrpc database proxy

Info

Apr 2015 Neil Horman