-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathvici.init.js
82 lines (71 loc) · 2.39 KB
/
vici.init.js
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
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/usr/bin/env node
var vici = {}
vici.config = {}
// vici defaults
vici.defaults = {
yml: {
viciYmlPath: './vici.yml'
},
server: {
viciPort: 4454,
viciSecret: 'my_simple_vici_secret'
}
}
// internal vici modules
vici.yml = require('./vici.yml.js')
vici.actionRoutes = require('./vici.actionRoute.js')
vici.server = require('./vici.server.js')
// libs
var _ = require('underscore')
var util = require('util')
// init vici
try {
console.log('***************************************')
console.log()
console.log('Available Settings ( as environment variables )')
console.log('-----------------------------------------------')
console.log('VICI_YML_PATH - path to find the vici yml file')
console.log('VICI_PORT - port to be used for vici server')
console.log('VICI_SECRET - secret phrase to authenticate with vici')
console.log()
console.log('***************************************')
vici.config.yml = {
viciYmlPath: process.env.VICI_YML_PATH || vici.defaults.yml.viciYmlPath,
callback: function (err, yml) {
if (err) {
throw err
}
vici.config.actionRoutes = {
actionYmls: yml.actions,
viciSecret: process.env.VICI_SECRET || vici.defaults.server.viciSecret,
viciPort: process.env.VICI_PORT || vici.defaults.server.viciPort
}
vici.config.server = {
viciPort: process.env.VICI_PORT || vici.defaults.server.viciPort,
actionRoutes: vici.actionRoutes(vici.config.actionRoutes),
callback: function (err, server) {
if (err) {
throw err
}
console.log('You can speak to vici now.')
console.log('***************************************')
console.log()
console.log('vici yml path is ' + vici.config.yml.viciYmlPath)
console.log('vici server running at ', server.info.uri)
console.log('vici server secret is ' + vici.config.actionRoutes.viciSecret)
console.log()
console.log('Keep your secret safe. Otherwise, I will obey somebody.')
console.log('I will be silent until you say the secret via ' +
'x-vici-secret header or url query')
console.log()
console.log('***************************************')
}
}
vici.server(vici.config.server)
}
}
vici.yml(vici.config.yml)
} catch (err) {
console.log(err)
process.exit(1)
}