diff --git a/bindep.txt b/bindep.txt index 8dffd0f48f..85254b4cc5 100644 --- a/bindep.txt +++ b/bindep.txt @@ -8,6 +8,7 @@ openssl [test] zookeeperd [platform:dpkg] build-essential [platform:dpkg] gcc [platform:rpm] +graphviz [test] libssl-dev [platform:dpkg] openssl-devel [platform:rpm] libffi-dev [platform:dpkg] diff --git a/doc/source/admin/components.rst b/doc/source/admin/components.rst index 890405d952..aa6d8c849f 100644 --- a/doc/source/admin/components.rst +++ b/doc/source/admin/components.rst @@ -6,11 +6,37 @@ Components ========== Zuul is a distributed system consisting of several components, each of -which is described below. All Zuul processes read the -``/etc/zuul/zuul.conf`` file (an alternate location may be supplied on -the command line) which uses an INI file syntax. Each component may -have its own configuration file, though you may find it simpler to use -the same file for all components. +which is described below. + + +.. graphviz:: + :align: center + + graph { + node [shape=box] + Gearman [shape=ellipse] + Gerrit [fontcolor=grey] + Zookeeper [shape=ellipse] + Nodepool + GitHub [fontcolor=grey] + + Merger -- Gearman + Executor -- Gearman + Web -- Gearman + + Gearman -- Scheduler; + Scheduler -- Gerrit; + Scheduler -- Zookeeper; + Zookeeper -- Nodepool; + Scheduler -- GitHub; + } + + + +All Zuul processes read the ``/etc/zuul/zuul.conf`` file (an alternate +location may be supplied on the command line) which uses an INI file +syntax. Each component may have its own configuration file, though +you may find it simpler to use the same file for all components. An example ``zuul.conf``: diff --git a/doc/source/conf.py b/doc/source/conf.py index 1120bfca00..76ee6bc34a 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -27,6 +27,7 @@ sys.path.insert(0, os.path.abspath('../..')) # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [ 'sphinx.ext.autodoc', + 'sphinx.ext.graphviz', 'sphinxcontrib.blockdiag', 'sphinxcontrib.programoutput', 'zuul.sphinx.zuul',