blob: 34b8f94afb4af4a9bcce932b1727bb6b629519c3 [file] [log] [blame]
Joshua Heskethfe485c62015-08-11 23:42:34 +10001:title: Connections
2
3.. _connections:
4
5Connections
6===========
7
8zuul coordinates talking to multiple different systems via the concept
9of connections. A connection is listed in the :ref:`zuulconf` file and is
10then referred to from the :ref:`layoutyaml`. This makes it possible to
11receive events from gerrit via one connection and post results from another
12connection that may report back as a different user.
13
14Gerrit
15------
16
17Create a connection with gerrit.
18
19**driver=gerrit**
20
21**server**
22 FQDN of Gerrit server.
23 ``server=review.example.com``
24
25**port**
26 Optional: Gerrit server port.
27 ``port=29418``
28
29**baseurl**
30 Optional: path to Gerrit web interface. Defaults to ``https://<value
31 of server>/``. ``baseurl=https://review.example.com/review_site/``
32
33**user**
34 User name to use when logging into above server via ssh.
35 ``user=zuul``
36
37**sshkey**
38 Path to SSH key to use when logging into above server.
39 ``sshkey=/home/zuul/.ssh/id_rsa``
40
Evgeny Antyshev9f0a3222015-10-23 16:03:10 +000041**keepalive**
42 Optional: Keepalive timeout, 0 means no keepalive.
43 ``keepalive=60``
Joshua Heskethfe485c62015-08-11 23:42:34 +100044
James E. Blairb41c8cf2017-09-19 07:48:24 -070045**strip_branch_ref**
46 Optional: Earlier versions of Gerrit reported branch refs in the
47 form "master" and later forms as "refs/heads/master". Set this to 1
48 to enable compatibility with the earlier form by stripping the
49 "refs/heads/" portion of the ref.
50 ``strip_branch_ref=1``
51
Joshua Heskethfe485c62015-08-11 23:42:34 +100052Gerrit Configuration
53~~~~~~~~~~~~~~~~~~~~
54
55Zuul will need access to a Gerrit user.
56
57Create an SSH keypair for Zuul to use if there isn't one already, and
58create a Gerrit user with that key::
59
60 cat ~/id_rsa.pub | ssh -p29418 gerrit.example.com gerrit create-account --ssh-key - --full-name Jenkins jenkins
61
62Give that user whatever permissions will be needed on the projects you
63want Zuul to gate. For instance, you may want to grant ``Verified
64+/-1`` and ``Submit`` to the user. Additional categories or values may
65be added to Gerrit. Zuul is very flexible and can take advantage of
66those.
67
68SMTP
69----
70
71**driver=smtp**
72
73**server**
74 SMTP server hostname or address to use.
75 ``server=localhost``
76
77**port**
78 Optional: SMTP server port.
79 ``port=25``
80
81**default_from**
82 Who the email should appear to be sent from when emailing the report.
83 This can be overridden by individual pipelines.
84 ``default_from=zuul@example.com``
85
86**default_to**
87 Who the report should be emailed to by default.
88 This can be overridden by individual pipelines.
89 ``default_to=you@example.com``
Joshua Heskethd78b4482015-09-14 16:56:34 -060090
91SQL
92----
93
94 Only one connection per a database is permitted.
95
96 **driver=sql**
97
98 **dburi**
99 Database connection information in the form of a URI understood by
100 sqlalchemy. eg http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls
101 ``dburi=mysql://user:pass@localhost/db``