-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
69 lines (63 loc) · 2.81 KB
/
index.js
File metadata and controls
69 lines (63 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
'use strict'
require('loadenv')({ debugName: 'khronos:test' })
const log = require('logger')
const ponos = require('ponos')
const rabbitmq = require('models/rabbitmq')
const mongoClient = require('tasks/utils/mongodb').client
const events = {
'context-version.deleted': require('tasks/context-versions/deleted')
}
const tasks = {
'canary.build.run': require('tasks/canary/build'),
'canary.failover.run': require('tasks/canary/failover'),
'canary.github-branch.run': require('tasks/canary/github-branch'),
'canary.log.run': require('tasks/canary/log'),
'canary.network.run': require('tasks/canary/network/index'),
'canary.network-ping.run': require('tasks/canary/network/ping'),
'containers.delete': require('tasks/containers/delete'),
'containers.image-builder.prune': require('tasks/image-builder/prune'),
'containers.image-builder.prune-dock': require('tasks/image-builder/prune-dock'),
'containers.orphan.check-against-mongo': require('tasks/containers/check-against-mongo'),
'containers.orphan.prune': require('tasks/containers/prune-orphans'),
'containers.orphan.prune-dock': require('tasks/containers/prune-orphans-dock'),
'containers.remove': require('tasks/containers/remove'),
'context-versions.check-recent-usage': require('tasks/context-versions/check-recent-usage'),
'context-versions.prune-expired': require('tasks/context-versions/prune-expired'),
'context-versions.remove-and-protect-instances': require('tasks/context-versions/remove-and-protect-instances'),
'images.check-against-context-versions': require('tasks/images/check-against-context-versions'),
'images.prune': require('tasks/images/prune'),
'images.prune-dock': require('tasks/images/prune-dock'),
'images.remove': require('tasks/images/remove'),
'instances.cleanup': require('tasks/instances/cleanup'),
'metrics.container-status': require('tasks/metrics/container-status'),
'metrics.report-org-container-status': require('tasks/metrics/report-org-container-status'),
'weave.prune': require('tasks/weave/prune'),
'weave.prune-dock': require('tasks/weave/prune-dock')
}
const server = new ponos.Server({
log: log.child({ module: 'ponos' }),
name: process.env.APP_NAME,
tasks: tasks,
events: events,
rabbitmq: {
channel: {
prefetch: process.env.KHRONOS_PREFETCH || 3
},
hostname: process.env.RABBITMQ_HOSTNAME,
port: process.env.RABBITMQ_PORT,
username: process.env.RABBITMQ_USERNAME,
password: process.env.RABBITMQ_PASSWORD
}
})
log.info('Server start')
rabbitmq.connect()
.tap(function () { log.info('RabbitMQ Client connected') })
.tap(() => mongoClient.connectAsync())
.then(() => {
server.start()
.tap(function () { log.info('Worker Server has started') })
.catch(function (err) {
log.fatal({ err: err }, 'Error starting Server')
throw err
})
})