Connection Configuration

Most of Zuul’s configuration is contained in the git repositories upon which Zuul operates, however, some configuration outside of git repositories is still required to bootstrap the system. This includes information on connections between Zuul and other systems, as well as identifying the projects Zuul uses.

Connections

In order to interact with external systems, Zuul must have a connection to that system configured. Zuul includes a number of drivers, each of which implements the functionality necessary to connect to a system. Each connection in Zuul is associated with a driver.

To configure a connection in Zuul, select a unique name for the connection and add a section to zuul.conf with the form [connection NAME]. For example, a connection to a gerrit server may appear as:

[connection mygerritserver]
driver=gerrit
server=review.example.com

Zuul needs to use a single connection to look up information about changes hosted by a given system. When it looks up changes, it will do so using the first connection it finds that matches the server name it’s looking for. It’s generally best to use only a single connection for a given server, however, if you need more than one (for example, to satisfy unique reporting requirements) be sure to list the primary connection first as that is what Zuul will use to look up all changes for that server.

Drivers

Drivers may support any of the following functions:

  • Sources – hosts git repositories for projects. Zuul can clone git repos for projects and fetch refs.

  • Triggers – emits events to which Zuul may respond. Triggers are configured in pipelines to cause changes or other refs to be enqueued.

  • Reporters – outputs information when a pipeline is finished processing an item.

Zuul includes the following drivers: