blob: 6c8a4b44ff322afe7961a7deeec8e82e54f3ba7c [file] [log] [blame]
James E. Blairac3c7ae2017-07-31 09:01:08 -07001.. _glossary:
2
3Glossary
4========
5
6.. glossary::
7 :sorted:
8
9 check
10
11 By convention, the name of a pipeline which performs pre-merge
12 tests. Such a pipeline might be triggered by creating a new
13 change or pull request. It may run with changes which have not
14 yet seen any human review, so care must be taken in selecting
15 the kinds of jobs to run, and what resources will be available
16 to them in order to avoid misuse of the system or credential
17 compromise.
18
19 config-project
20
21 One of two types of projects which may be specified by the
22 administrator in the tenant config file. A config-project is
23 primarily tasked with holding configuration information and job
24 content for Zuul. Jobs which are defined in a config-project
25 are run with elevated privileges, and all Zuul configuration
26 items are available for use. It is expected that changes to
27 config-projects will undergo careful scrutiny before being
28 merged.
29
30 gate
31
32 By convention, the name of a pipeline which performs project
33 gating. Such a pipeline might be triggered by a core team
34 member approving a change or pull request. It should have a
35 :value:`dependent <pipeline.manager.dependent>` pipeline manager
36 so that it can combine and sequence changes as they are
37 approved.
38
39 reporter
40
41 A reporter is a :ref:`pipeline attribute <reporters>` which
42 describes the action performed when an item is dequeued after
43 its jobs complete. Reporters are implemented by :ref:`drivers`
44 so their actions may be quite varied. For example, a reporter
45 might leave feedback in a remote system on a proposed change,
46 send email, or store information in a database.
47
James E. Blair9d0b4cc2017-08-03 15:08:47 -070048 trusted execution context
49
50 Playbooks defined in a :term:`config-project` run in the
51 *trusted* execution context. The trusted execution context has
52 access to all Ansible features, including the ability to load
53 custom Ansible modules.
54
55 untrusted execution context
56
57 Playbooks defined in an :term:`untrusted-project` run in the
58 *untrusted* execution context. Playbooks run in the untrusted
59 execution context are not permitted to load additional Ansible
60 modules or access files outside of the restricted environment
61 prepared for them by the executor. In addition to the
62 bubblewrap environment applied to both execution contexts, in
63 the untrusted context some standard Ansible modules are replaced
64 with versions which prohibit some actions, including attempts to
65 access files outside of the restricted execution context. These
66 redundant protections are made as part of a defense-in-depth
67 strategy.
68
James E. Blairac3c7ae2017-07-31 09:01:08 -070069 untrusted-project
70
71 One of two types of projects which may be specified by the
72 administrator in the tenant config file. An untrusted-project
73 is one whose primary focus is not to operate Zuul, but rather it
74 is one of the projects being tested or deployed. The Zuul
75 configuration language available to these projects is somewhat
76 restricted, and jobs defined in these projects run in a
77 restricted execution environment since they may be operating on
78 changes which have not yet undergone review.