Skip to main content

supd-conf


description: Learn how to configure supd.conf in Avassa with detailed reference documentation on settings, parameters, and usage.

supd.conf

This section defines the file format of the supd daemon config file supd.conf. It is a YAML file with the following structure:

The top level object in the file

NameTypeDescription
host-idhost-idAn identifier for a host that is unique within
the site provider network.

The value of host-id is used to identify hosts in a
site definition, and to identify hosts when the call
home to form a cluster.

If not set, the System Serial Number from the System
Management BIOS (SMBIOS) is used, if it exists. Otherwise,
the System UUID from SMBIOS is used, if it exists.
Otherwise, the local host name is used.

In Linux, the SMBIOS interface is accessed via DMI. If the
value of host-id is on the form DMI:<key>, the value of
<key> from the Linux DMI interface is used. For example, to
use the Chassis Serial Number, set this parameter to
DMI:chassis_serial.

The SMBIOS data on linux can be read through the files in
/sys/class/dmi/id. Note that the System Serial Number is
called product_serial in linux, and the System UUID is called
product_uuid.
nameservers OR
resolve-config
array of ip-address OR
enumeration
  • from-host
  • none
DNS nameservers that supd should forward dns queries to. By
default supd will use the host configuration, but it is
possible to provide a list of IP addresses that should be
used instead.

If resolve-config is set to none then supd will act as a
recursive resolver and lookup names from authoritative
servers (requires Internet access).The default value is resolve-config.
initial-site-configObject
see initial-site-config
Defines the host's initial site config. This config
is only used on the first start of the host.

The initial-site-config Object

NameTypeDescription
call-home OR
top-site-config
Object see call-home OR
Object see top-site-config
call-home must be set for edge sites, and top-site-config
must be set for the top site (Control Tower).
networkObject
see network
Specify IPv4 allocation pools either in form of a single pool
or specifically for different purposes. If no configuration
is specified, then the configuration propagated from the
parent is used. If no explicit configuration is set on the
parent, then the default is to allocate from 172.16.0.0/12
block.
usernsObject
see userns
standalonebooleanControls if the supd daemon should work in standalone mode,
i.e., without control over docker and network. This means that
it cannot launch containers, configure local network
etc. When running the daemon inside, for example, Kubernetes,
this setting should be true

The default value is false.

The call-home Object

NameTypeDescription
call-home-serversarray of hostThe address(es) of the servers to call home to. i.e.,
the servers in the parent site.
parent-proxy-ipsarray of ip-addressThe IP address(es) of the parent site proxy servers to forward
data to and from the parent site.
parent-proxy-call-home-portport-numberThe port number used by the proxy servers to forward data to
and from the parent site for the initial call home process.
Used in call home host-init and report-host-ips.
parent-proxy-api-portport-numberThe port number used by the proxy servers to forward data to
and from the parent site for api requests. Also used in call
home host-hello requests.
parent-proxy-registry-portport-numberThe port number used by the proxy servers to forward data
to and from the parent site while fetching images.
parent-proxy-volga-portport-numberThe port number used by the proxy servers to forward data to
and from the parent site for Volga connections.
api-ca-certca-certOne or more root certificates in PEM format.

The API CA certificate for the sites in the site
provider network. This is used to verify the identity
of the call home servers in the initial call home.
parent-ca-certca-certOne or more root certificates in PEM format.

The network Object

NameTypeDescription
ipv4-address-blocks OR
specific-pools
array of ipv4-prefix OR
Object see specific-pools
IPv4 addressing space used for various needs within the limits
of one host or one site. These addresses are never routed
outside one site, hence a private address range works fine.
It also means that these address blocks can be reused in
different sites. However, it will not be possible to reach the
sites or the services they are running from the allocated
subnets, so these blocks should not be reused in other parts of
the site provider network.

This configuration must be the same for all hosts within a
single site, otherwise the behaviour is undefined.

This configuration is automatically propagated to
children sites during initial call-home unless explicitly
configured in a child site. This means that a value
configured in the Control Tower will be used globally by
default. The default value on the Control Tower is
172.16.0.0/12.

The userns Object

NameTypeDescription
disableemptyWhen Podman is used as the container engine, disable userns
mapping at host initialization. It can later be enabled via
diagnostics set-userns-mode action. With Docker this
parameter is not in effect, the userns mode is configured in
Docker's daemon.conf instead.

The specific-pools Object

NameTypeDescription
site-overlay-networkipv4-prefixPrefix to be used for allocating addresses on the site
overlay network between hosts in a site. The size of the
prefix defines the limit on the maximum number of hosts
within the site. This configuration must be the same for all
hosts within a single site.
common-application-networkipv4-prefixPrefix to be used for allocating addresses on application
networks. This prefix is reused for each application network,
which can be done because the networks are fully isolated.
The size of the prefix defines the maximum number of service
instances in all applications connected to the same shared
application network and the maximum number of service
instances within a single application connected to a private
application network. This configuration must be the same for
all hosts within a single site.
gateway-networksarray of ipv4-prefixList of prefixes available for allocation of gateway network
prefixes on this host. Each gateway network must have a
unique prefix within a host. The addresses on this network
are however never routed outside the host. The total size of
the configured prefixes defines the maximum number of
applications that may be scheduled on this host.

The top-site-config Object

Initial config parameters for the Control Tower site.

Once the cluster is up and running, the configuration for this site can be modified (e.g., add new hosts) like any other config through the REST API or Web UI.

The following files must be present in the state dir:

  • dist-ca.pem (CA cert for this cluster)
  • dist-ca.key (key for the CA cert for this cluster)

Note that when supd has successfully started, it will store the private CA key in strongbox, and delete the file dist-ca.key from the state dir.

NameTypeDescription
namenameThe name of the site.
domaindomain-nameThe domain to use for this site, and all sites added to this
Control Tower.

The default value is site.test.
registryObject
see registry
hostsarray of Object
see host

The registry Object

NameTypeDescription
httpbooleanBy default the registry http server uses https, but
by setting http to true it will also use clear
text http (on a different port).

The default value is false.

The host Object

NameTypeDescription
hostnamedomain-nameThe hostname of the host where supd is running.
ip-addressesarray of ip-addressAn optional list of ip addresses that can be used for
communication between the hosts in the cluster.

If the hostname resolves to one or more ip addresses on all
hosts in the cluster, this list does not have to be
populated.
controllerboolean