freight-network-config man page

freight-network-config — Configuration file format for freight networks

Config File Format

The network config file has the following format

---------------------------------------------
# These are comments

# The leading config block starts with network= 
network = {
        type = "<network type>";
};

address_config = {
	ipv4_aquisition = "dhcp|static";
	ipv6_aquisition = "dhcpv6|slaac|static";
};

<type>_config = {
	# see network type sections for config options
};

static_address = [ 
	{
		cname = "container name";
		ipv4_addr="192.168.1.1";
		ipv6_addr="fe80::fc54:ff:fe84:f6f0/64";
	},
	{
		cname = "container name"'
		ipv4_addr="192.168.1.2";
		ipv6_addr="fe80::fc54:ff:fe84:f6f1/64";
	},
	...
];

Network Types

bridged

Bridged networks are just that, simple straight layer 2 bridges. Freight nodes running containers attached to networks of this type will create a bridge, attach a physical interface to the bridge, create a veth pair, attach one end to the bridge and pass the other end to the container.

Address Config

The address config section ennumerates how a container on this network will obtain an address. Current supported formats are dhcp, and slaac

Network Type Configurations

bridged_config

There are no bridge specific config options

<Name> Static Addresses

This section allows for the configuration to specify a per-container static address override. If a container with the instance name <name> is attached to the network, the host running that container will assign the provided static address to the container, overriding the address_config section. This is useful in creating networks that have a 'controlling' container - a container on an isolated tunnel network perhaps that serves dhcp and dns to the other containers on the network for example.

Info

Apr 2015 Neil Horman