blob: b04dbb06a76fa1454f84bbc3f4818e7edc905f0c [file] [log] [blame]
James E. Blaireff5a9d2017-06-20 00:00:37 -07001:title: Connection Configuration
2
3.. _connection-config:
4
5Connection Configuration
6========================
7
8Most of Zuul's configuration is contained in the git repositories upon
9which Zuul operates, however, some configuration outside of git
10repositories is still required to bootstrap the system. This includes
11information on connections between Zuul and other systems, as well as
12identifying the projects Zuul uses.
13
14.. _connections:
15
16Connections
17-----------
18
19In order to interact with external systems, Zuul must have a
20*connection* to that system configured. Zuul includes a number of
21drivers, each of which implements the functionality necessary to
22connect to a system. Each connection in Zuul is associated with a
23driver.
24
25To configure a connection in Zuul, select a unique name for the
James E. Blair5398ad52017-08-03 15:55:04 -070026connection and add a section to ``zuul.conf`` with the form
27``[connection NAME]``. For example, a connection to a gerrit server
28may appear as:
29
30.. code-block:: ini
James E. Blaireff5a9d2017-06-20 00:00:37 -070031
32 [connection mygerritserver]
33 driver=gerrit
34 server=review.example.com
35
James E. Blairc84736e2018-01-16 09:34:09 -080036Zuul needs to use a single connection to look up information about
37changes hosted by a given system. When it looks up changes, it will
38do so using the first connection it finds that matches the server name
39it's looking for. It's generally best to use only a single connection
40for a given server, however, if you need more than one (for example,
41to satisfy unique reporting requirements) be sure to list the primary
42connection first as that is what Zuul will use to look up all changes
43for that server.
44
James E. Blaireff5a9d2017-06-20 00:00:37 -070045.. _drivers:
46
47Drivers
48-------
49
50Drivers may support any of the following functions:
51
52* Sources -- hosts git repositories for projects. Zuul can clone git
53 repos for projects and fetch refs.
54* Triggers -- emits events to which Zuul may respond. Triggers are
55 configured in pipelines to cause changes or other refs to be
56 enqueued.
57* Reporters -- outputs information when a pipeline is finished
58 processing an item.
59
60Zuul includes the following drivers:
61
62.. toctree::
63 :maxdepth: 2
64
65 drivers/gerrit
66 drivers/github
Fabien Boucher194a2bf2017-12-02 18:17:58 +010067 drivers/git
James E. Blaireff5a9d2017-06-20 00:00:37 -070068 drivers/smtp
69 drivers/sql
70 drivers/timer
71 drivers/zuul