.. _patrole-sampleconf:

Sample Configuration File
==========================

The following is a sample Patrole configuration for adaptation and use. It is
auto-generated from Patrole when this documentation is built, so
if you are having issues with an option, please compare your version of
Patrole with the version of this documentation.

Note that the Patrole configuration options actually live inside the Tempest
configuration file; at runtime, Tempest populates its own configuration
file with Patrole groups and options, assuming that Patrole is correctly
installed and recognized as a plugin.

The sample configuration can also be viewed in `file form <_static/patrole.conf.sample>`_.

.. literalinclude:: _static/patrole.conf.sample
