10
'cloud-controller-clock-v1': {
11
'summary': "A shared clock",
14
'job_name': 'cloud_controller_clock',
15
'mapping': {'cc-db': mapper.ccdb},
17
'required_data': [contexts.NatsRelation,
19
contexts.LoggregatorRelation,
20
contexts.CloudControllerRelation,
22
contexts.CloudControllerDBRelation,
28
'cloud-controller-clock-v2': {
29
'summary': "A shared clock",
32
{'job_name': 'cloud_controller_clock',
33
'mapping': {'cc-db': mapper.ccdb},
35
'required_data': [contexts.NatsRelation,
37
contexts.LoggregatorRelation,
38
contexts.CloudControllerRelation,
40
contexts.CloudControllerDBRelation,
42
{'job_name': 'metron_agent',
43
'required_data': [contexts.LTCRelation,
44
contexts.NatsRelation,
45
contexts.LoggregatorRelation,
46
contexts.EtcdRelation]},
51
'cloud-controller-v1': {
52
'summary': 'CF Cloud Controller, the brains of the operation',
55
'job_name': 'cloud_controller_ng',
56
'mapping': {'db': mapper.ccdb},
57
'provided_data': [contexts.CloudControllerRelation,
58
contexts.CloudControllerDBRelation],
59
'required_data': [contexts.NatsRelation,
60
contexts.MysqlRelation,
63
contexts.CloudControllerRelation.remote_view,
66
contexts.CloudControllerDBRelation.send_data,
71
'cloud-controller-v2': {
72
'summary': 'CF Cloud Controller, the brains of the operation',
75
{'job_name': 'cloud_controller_ng',
76
'mapping': {'db': mapper.ccdb},
77
'provided_data': [contexts.CloudControllerRelation,
78
contexts.CloudControllerDBRelation],
79
'required_data': [contexts.NatsRelation,
80
contexts.MysqlRelation,
83
contexts.CloudControllerRelation.remote_view,
86
contexts.CloudControllerDBRelation.send_data,
88
{'job_name': 'metron_agent',
89
'required_data': [contexts.LTCRelation,
90
contexts.NatsRelation,
91
contexts.LoggregatorRelation,
92
contexts.EtcdRelation]},
96
'cloud-controller-worker-v1': {
97
'summary': "Worker for cc",
100
{'job_name': 'cloud_controller_worker',
101
'mapping': {'cc-db': mapper.ccdb},
103
'required_data': [contexts.NatsRelation,
104
contexts.LTCRelation,
105
contexts.UAARelation,
106
contexts.CloudControllerRelation,
107
contexts.CloudControllerDBRelation,
114
'cloud-controller-worker-v2': {
115
'summary': "Worker for cc",
118
{'job_name': 'cloud_controller_worker',
119
'mapping': {'cc-db': mapper.ccdb},
121
'required_data': [contexts.NatsRelation,
122
contexts.LTCRelation,
123
contexts.UAARelation,
124
contexts.CloudControllerRelation,
125
contexts.CloudControllerDBRelation,
129
{'job_name': 'metron_agent',
130
'required_data': [contexts.LTCRelation,
131
contexts.NatsRelation,
132
contexts.LoggregatorRelation,
133
contexts.EtcdRelation]},
138
'summary': 'DEA runs CF apps in containers',
142
'job_name': 'dea_next',
145
utils.install_linux_image_extra,
146
utils.apt_install(['quota']),
147
utils.modprobe(['quota_v1', 'quota_v2'])
150
contexts.NatsRelation,
151
contexts.LTCRelation,
152
contexts.DEARelation.remote_view,
155
# Apply our workaround till we
161
'job_name': 'dea_logging_agent',
163
'required_data': [contexts.NatsRelation,
164
contexts.LTCRelation]
171
'summary': 'DEA runs CF apps in containers',
175
'job_name': 'dea_next',
178
utils.install_linux_image_extra,
179
utils.apt_install(['quota']),
180
utils.modprobe(['quota_v1', 'quota_v2'])
183
contexts.NatsRelation,
184
contexts.LTCRelation,
185
contexts.DEARelation.remote_view,
188
#tasks.enable_swapaccounting
193
'job_name': 'dea_logging_agent',
195
'required_data': [contexts.NatsRelation,
196
contexts.LTCRelation,
197
contexts.EtcdRelation]
199
{'job_name': 'metron_agent',
200
'required_data': [contexts.LTCRelation,
201
contexts.NatsRelation,
202
contexts.LoggregatorRelation,
203
contexts.EtcdRelation]},
210
'summary': 'NATS message bus for CF',
214
'required_data': [contexts.NatsRelation.remote_view],
215
'provided_data': [contexts.NatsRelation],
219
'nats-stream-forwarder-v1': {
220
'service': 'nats-stream-forwarder',
221
'summary': 'NATS stream forwarder',
224
'job_name': 'nats_stream_forwarder',
227
'required_data': [contexts.NatsRelation]
233
'summary': 'CF Router',
235
'job_name': 'gorouter',
236
'ports': [contexts.RouterRelation.port],
238
'provided_data': [contexts.RouterRelation],
239
'required_data': [contexts.NatsRelation,
240
contexts.LTCRelation,
241
contexts.LoggregatorRelation,
242
contexts.RouterRelation.remote_view],
249
'summary': 'CF Router',
251
{'job_name': 'gorouter',
252
'ports': [contexts.RouterRelation.port],
254
'provided_data': [contexts.RouterRelation],
255
'required_data': [contexts.NatsRelation,
256
contexts.LTCRelation,
257
contexts.LoggregatorRelation,
258
contexts.RouterRelation.remote_view]},
259
{'job_name': 'metron_agent',
260
'required_data': [contexts.LTCRelation,
261
contexts.NatsRelation,
262
contexts.LoggregatorRelation,
263
contexts.EtcdRelation]},
270
'summary': 'CF Oauth2 for identity management service',
273
'mapping': {'db': mapper.uaadb},
274
'provided_data': [contexts.UAARelation],
275
'required_data': [contexts.MysqlRelation,
276
contexts.NatsRelation,
277
contexts.UAARelation.remote_view]
284
'summary': 'login service',
290
'required_data': [contexts.NatsRelation,
291
contexts.UAARelation,
292
contexts.LoginRelation.remote_view]
297
'service': 'loggregator',
298
'summary': 'loggregating',
299
'description': 'loggregating',
301
'job_name': 'loggregator',
303
'provided_data': [contexts.LoggregatorRelation],
304
'required_data': [contexts.NatsRelation,
305
contexts.EtcdRelation,
306
contexts.LTCRelation,
307
contexts.LoggregatorRelation.remote_view]
311
'loggregator-trafficcontroller-v1': {
312
'service': 'loggregator-trafficcontroller',
313
'summary': 'loggregator-trafficcontroller',
316
'job_name': 'loggregator_trafficcontroller',
317
'ports': [contexts.LTCRelation.outgoing_port],
319
'provided_data': [contexts.LTCRelation],
320
'required_data': [contexts.LoggregatorRelation,
321
contexts.LTCRelation.remote_view,
322
contexts.NatsRelation,
323
contexts.CloudControllerRelation,
324
contexts.EtcdRelation]
328
'loggregator-trafficcontroller-v2': {
329
'service': 'loggregator-trafficcontroller',
330
'summary': 'loggregator-trafficcontroller',
333
{'job_name': 'loggregator_trafficcontroller',
334
'ports': [contexts.LTCRelation.outgoing_port],
336
'provided_data': [contexts.LTCRelation],
337
'required_data': [contexts.LoggregatorRelation,
338
contexts.LTCRelation.remote_view,
339
contexts.NatsRelation,
340
contexts.CloudControllerRelation,
341
contexts.EtcdRelation]},
347
'summary': 'health monitor',
350
'job_name': 'hm9000',
353
'required_data': [contexts.NatsRelation,
354
contexts.CloudControllerRelation,
355
contexts.EtcdRelation]
360
'service': 'haproxy',
361
'summary': 'loadbalance the routers',
364
'job_name': 'haproxy',
368
'required_data': [contexts.RouterRelation],