fileserver.conf: Custom fileserver mount points

The fileserver.conf file configures custom static mount points for Puppet’s file server. If custom mount points are present, file resources can access them with their source attributes.

When to use fileserver.conf

This file is necessary only if you are creating custom mount points.

Puppet automatically serves files from the files directory of every module, and most users find this sufficient. For more information, see Modules fundamentals. However, custom mount points are useful for things that you don’t store in version control with your modules, like very large files and sensitive credentials.

Location

The fileserver.conf file is located at $confdir/fileserver.conf by default. Its location is configurable with the fileserverconfig setting.

The location of the confdir depends on your operating system. See the confdir documentation for details.

Example

# Files in the /path/to/files directory are served
# at puppet:///extra_files/.
[extra_files]
    path /etc/puppetlabs/puppet/extra_files
This fileserver.conf file creates a new mount point named extra_files. Authorization to extra_files is controlled by Puppet Server. See  creating custom mount points for more information.
CAUTION: Always restrict write access to mounted directories. The file server follows any symlinks in a file server mount, including links to files that agent nodes shouldn’t access (like SSL keys). When following symlinks, the file server can access any files readable by Puppet Server’s user account.

Format

fileserver.conf uses a one-off format that resembles an INI file without the equals (=) signs. It is a series of mount-point stanzas, where each stanza consists of:

  • A [mount_point_name] surrounded by square brackets. This becomes the name used in puppet:/// URLs for files in this mount point.

  • A path <PATH> directive, where <PATH> is an absolute path on disk. This is where the mount point’s files are stored.