fai.conf(5)

NAME
fai.conf - FAI Configuration

SYNOPSIS
/etc/fai/fai.conf

DESCRIPTION
The configuration for a target host consists of two parts:

•   The NFSROOT, a very basic yet complete root file system, which is exported to clients. The NFSROOT is built using fai-make-nfsroot(8).

•   The configuration space, which is loaded as one of the first steps of a FAI run. Several tools and protocols are supported for maintaining and accessing the configuration space. See FAI_CONFIG_SRC below.

fai.conf defines the essential options to successfully start a FAI run. It must be valid bash(1) code. This configuration file is NOT copied into the nfsroot by fai-make-nfsroot.

VARIABLES

FAI_CONFIG_SRC
    This variable defines how to access the configuration space. It defines the protocol, the server and the location of the config space. For an initial installation of a client this variable is defined by using fai-chboot(8). If you do a fai softupdate, you can set the value in /etc/fai/fai.conf or by using the option --cspace.

The following protocols and URL schemes are currently supported:

•   NFS: nfs://[server]/<exported directory> If the server is not specified, FAI tries to extract the server name from the nfsroot mount. Example: nfs://faiserver/srv/fai/config

•   Local directory: file://<directory> The directory has to be an absolute path. So, this URL always starts with three slashes like this: file:///

•   Detect directory: detect:// Check several places on a local storage. First check /media/data/config, otherwise use the default when booting an ISO (/var/lib/fai/config).

•   CVS: cvs[+ssh]://<user>@<host>/<cvs root> <module>[=<tag>] The config space is received from a cvs checkout.

•   Subversion: svn[+(file|http|https|ssh)]://[<user>@]<host>/<repository> The config space checked out from a subversion repository using several protocol variants. Checkouts without a user name are also supported.

•   Git: git[+<protocol>]://<git path> You can specify the branch by adding #<branchname> without a whitspace before the #. Example: git+ssh:://user@servername/srv/git/..../fai.git#branchname The config space checked out from a git repository, host can be empty. Also supported is git+http.

•   Mercurial: hg+(http|https)://<hg path>

•   HTTP: (http|https|scp|sftp)://<server>/<filename> where <filename> is a (compressed) tar archive. The config space will be downloaded from the given location via the specified protocol. <filename> will be extracted by ftar(8), and thus needs to have a recognized suffix, such as .tar.gz or tar.xz.

LOGUSER Account name on the install server to save log files and call
    fai-chboot(8). At the end of an installation, fai(8) may connect to the install server using FAI_LOGPROTO (see below) to store the generated log files and to change the network boot configuration of the target host. By default calling fai-setup(8) will set up ssh access for LOGUSER so the install client can save the log files onto the server. This will not be passed onto the fai clients. To enable this on the fai clients check /srv/fai/config/class/FAIBASE.var to activate the transfer of logfiles to the server. This account should have write permissions for /srv/tftp/fai. For example, you can use write permissions for the group linuxadm. chgrp linuxadm /srv/tftp/fai;chmod g+w /srv/tftp/fai. If the variable is undefined, this feature is disabled.

FAI_LOGPROTO Protocol for saving logs
    Supported values are: ssh (default), rsh, ftp and none. This will only be used if also LOGUSER is set. ssh: Use the scp command to copy the log files to the log server. rsh: Use the rcp command to copy the log files to the log server. ftp: This option saves logs to the remote FTP server defined by the $LOGSERVER variable ($SERVER value is used if not set). Connection to the FTP server is done as user $LOGUSER using password $LOGPASSWD. The FTP server log directory is defined in $LOGREMOTEDIR. These variables are also defined in file server. All files in the directory /tmp/fai are copied to the FTP server following this example:
      ftp://$LOGUSER:$LOGPASSWD@$LOGSERVER/$LOGREMOTEDIR/ none: Don't save the log files to the install server.

FAI_DEBMIRROR Access Debian mirror via NFS-mounted directory
    If defined, FAI mounts the NFS share to $MNTPOINT during installation. Example: installserver:/srv/debianmirror

FAI_MONITOR_PORT
    The port to which FAI sents messages, if the fai-monitor is running. Default to 4711. See also fai-monitor(8). This variable has to be set inside the nfsroot before the configuration space is available.

SEE ALSO
fai(8), fai-make-nfsroot(8), fai-setup(8), fai-mirror(1), fai-cd(8)
This file is part of FAI (Fully Automatic Installation). See the FAI manual for more information. The FAI homepage is https://fai-project.org.

AUTHOR
This man page was written by Michael Tautschnig <mt@debian.org>.