Zuul - A Project Gating System
==============================

Zuul is a program that drives continuous integration, delivery, and
deployment systems with a focus on project gating and interrelated
projects.

Zuul's documentation is organized in three guides based on audience.
If Zuul is being used to gate or drive automation around your project,
read the :doc:`user/index` to find out how to configure Zuul.  If you
are installing or operating a Zuul system, you will also find the
:doc:`admin/index` useful.  If you want help make Zuul itself better,
take a look at the :doc:`developer/index`.

If you are looking for the Edge routing service named Zuul that is
related to Netflix, it can be found here:
https://github.com/Netflix/zuul

If you are looking for the Javascript testing tool named Zuul, it
can be found here:
https://github.com/defunctzombie/zuul

Contents:

.. toctree::
   :maxdepth: 2

   user/index
   admin/index
   developer/index

.. toctree::
   :hidden:

   glossary

Indices and tables
==================

* :ref:`genindex`
* :ref:`search`
* :ref:`glossary`

