Provided by: kafs-client_0.5-2_amd64 bug

NAME

       /etc/kafs/client.conf
       /etc/kafs/client.d/ - kAFS filesystem configuration

DESCRIPTION

       Configuration  information for the in-kernel kAFS filesystem can be provided in the /etc/kafs/ directory.
       This may include the following:

              - A list of cells to be preconfigured

              - Fallback addresses for each cell.

              - The name of the default cell (the @cell substitution).

              - A list of strings for the @sys substitution.

       When the afs.mount service is started by systemd(1), a configuration service  (kafs-config.service)  runs
       first and loads the configuration into the kernel from the client.conf file.  This contains directives to
       include  other  things,  such  as  the  contents  of  the client.d/ directory and the generic public cell
       database.

       Once the afs.mount service is started (or if an AFS volume is  manually  mounted),  if  a  mountpoint  is
       triggered, the kernel will upcall by means of request-key(8) to look up addresses for the Volume Location
       servers for the named cell.  This will also parse the configuration.

CONFIGURATION FILE FORMAT

       The  file  format  is based on the MIT Kerberos configuration file format.  There are a couple of general
       directives:

       include /path/to/file
              This includes the contents of the named file in the parse at this point.

       includedir /path/to/dir/
              This includes the files in the named directory in the parse at this point.  Files that have  names
              beginning with "." or ending with "~" are ignored.

       Leading  and trailing whitespace on a line is ignored.  Any line otherwise beginning with a "#" character
       is considered a comment and ignored.

       Any line that contains a label bounded by square brackets, e.g. "[cells]", by itself on that line denotes
       a switch to the section specified by that label.

       Configuration data is specified within a named section as a series of key=value pairs, where a value  may
       be  one  of  nothing,  an unquoted string, a quoted string or a braced lists containing further key=value
       pairs.  Whitespace either side of the "=" symbol is ignored.

       For example:

              [cells]
              rivendell.example.com = {
                   description = "Last Homely Cell"
                   use_dns = yes
                   servers = {
                        elrond.rivendell.example.com = {
                             address = 192.0.2.23
                        }
                   }
              }

       If   two   or   more   consecutive   clauses   specify   values   for   the   same   key   sequence   (so
       cells:rivendell.example.com:use_dns,  for  example), then they are merged together to form a single list.
       If a single value is expected for a configuration item, the last element in the list is taken.

       To prevent overriding by subsequent conflicting configuration,  an  asterisk  can  be  placed  after  the
       closing brace in a braced list to indicate that that list is closed, for example:

              [cells]
              rivendell.example.com = {
                   description = "Foo"
                   use_dns = no
              }*

       Strings  that  are intepreted as boolean values are classed as false if they match one of 0, f, false, n,
       no or off, and classed as true if they match one off 1, t, true, y,  yes  or  on.   The  match  is  case-
       independent.

GENERAL SETTINGS

       The  first  section  contains  general system-level settings shared between all utilities and the kernel.
       This is denoted by the section label "[defaults]".

       The system settings that may be changed are configured in  this  section  with  the  following  key-value
       pairs:

       thiscell = <cellname>
              This  sets the name of the local cell.  This will be used to configure the @cell path substitution
              and will also supply the default cellname for aklog-kafs(1).

       sysname = [<systype>]*
              This specifies a (potentially empty) list of strings which the kernel should attempt to substitute
              in turn for "@sys" at the end of a filename until a match is found.

CELL DEFINITIONS

       The second section contains a list of preconfigured cells, to be used in preloading the cell list in /afs
       and also to provide fallback or override address data for locating  Volume  Location  servers.   This  is
       denoted by the section label "[cells]".

       Within  the cell list, each cell is declared with a key=value pair, where the key is the name of the cell
       and the value is a braced list indicating the details, e.g.:

              [cells]
              rivendell.example.com = {
                   ...
              }

       A cell definition may contain any number of key=value pairs.  The keys that are taken note of are:

       description = <string>
              This is a text description for the cell.

       show_cell = <boolean>
              Whether a cell should be shown in /afs.

       use_dns = <boolean>
              Whether address look ups for a cell may use the DNS.

       kerberos_realm = <string>
              The name of the Kerberos realm to use for a cell by default.

       servers = { ... }
              A list of servers for the cell, where each element in the list is a key=value pair, where the  key
              is the name of a server and the value is a braced section of the details for that server.

       The elements in the list of server details attached to each server can comprise the following keys:

       type = vlserver
              The server is an AFS Volume Location server.  This is the default.

       type = ptserver
              The server is an AFS Protection server.

       address = [<protocol>/]<address>[:<port>]
              Specify  a  single  address  for  a server.  The address is required and can be a single IPv4 or a
              single IPv6 address, and may be brackets with square brackets (to avoid confusion  with  the  port
              number,  if  specified).   The protocol is optional; currently only udp is supported.  The port is
              also optional and may be specified to change the UDP port from the default for the server type.

EXAMPLE

       [defaults]
       thiscell = rivendell.example.com
       sysname = fedora28_x86 amd64_linux

       [cells]
       corp.example.com = {
            description = "Valinor Corporation cell"
            use_dns = yes
            servers = {
                 manwe.corp.example.com = {
                      address = 2001:db8:123::13
                      address = 203.0.113.19
                 }
                 ulmo.corp.example.com = {
                      address = [2001:db8:123::750c:1234]:6666
                      address = 203.0.113.3:6666
                 }
                 aule.corp.example.com = {
                      address = udp/[2001:db8:123::abcd:9090]
                      address = udp/203.0.113.189
                 }
                 namo.corp.example.com = {
                      type = ptserver
                      address = 2001:db8:123::8888
                      address = 203.0.113.88
                 }
            }
       }

       rivendell.example.com = {
            description = "Last Homely Cell"
            servers = {
                 elrond.rivendell.example.com = {
                      address = 192.0.2.23
                 }
                 arwen.rivendell.example.com = {
                      address = 192.0.2.75
                 }
            }
       }

SEE ALSO

       kafs(7), kafs-check-config(8), systemd(1)

Linux                                              17 Apr 2019                               KAFS-CLIENT.CONF(5)