mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-02-07 03:40:16 +00:00
Fixed everything
This commit is contained in:
parent
00f121371b
commit
2dc71265ea
55
app.coffee
55
app.coffee
@ -49,35 +49,54 @@ bootstrapTasks = [
|
|||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
setHakiEnv = (callback) ->
|
||||||
|
process.setuid(getuid('haki'))
|
||||||
|
process.chdir(HAKI_PATH)
|
||||||
|
callback()
|
||||||
|
|
||||||
stage1Tasks = [
|
stage1Tasks = [
|
||||||
(callback) -> async.waterfall(bootstrapTasks, callback)
|
(callback) -> async.waterfall(bootstrapTasks, callback)
|
||||||
(callback) -> exec('systemctl start openvpn@client', callback)
|
(callback) -> exec('systemctl start openvpn@client', callback)
|
||||||
(callback) -> exec('systemctl enable openvpn@client', callback)
|
(callback) -> exec('systemctl enable openvpn@client', callback)
|
||||||
(callback) ->
|
setHakiEnv
|
||||||
process.setuid(getuid('haki'))
|
(callback) -> fs.mkdir('hakiapp', callback)
|
||||||
process.chdir(HAKI_PATH)
|
|
||||||
fs.mkdir('hakiapp', callback)
|
|
||||||
(callback) -> exec('git init', cwd: 'hakiapp', callback)
|
(callback) -> exec('git init', cwd: 'hakiapp', callback)
|
||||||
(callback) -> exec("git remote add origin #{state.giturl}", cwd: 'hakiapp', callback)
|
(callback) -> exec("git remote add origin #{state.giturl}", cwd: 'hakiapp', callback)
|
||||||
]
|
]
|
||||||
|
|
||||||
stage2Tasks = [
|
updateRepo = (callback) ->
|
||||||
(callback) ->
|
tasks1 = [
|
||||||
process.setuid(getuid('haki'))
|
(callback) -> setTimeout(callback, 3e5)
|
||||||
process.chdir(HAKI_PATH)
|
|
||||||
fs.mkdir('hakiapp', callback)
|
|
||||||
(callback) -> async.forever([
|
|
||||||
(callback) -> exec('git pull', cwd: 'hakiapp', callback)
|
(callback) -> exec('git pull', cwd: 'hakiapp', callback)
|
||||||
|
(stdout, stderr, callback) -> exec('git rev-parse HEAD', cwd: 'hakiapp', callback)
|
||||||
|
(stdout, stderr, callback) -> callback(null, stdout.trim())
|
||||||
|
]
|
||||||
|
|
||||||
|
tasks2 = [
|
||||||
(callback) -> exec('npm install', cwd: 'hakiapp', callback)
|
(callback) -> exec('npm install', cwd: 'hakiapp', callback)
|
||||||
(callback) -> exec('foreman start', cwd: 'hakiapp', callback)
|
(callback) -> exec('foreman start', cwd: 'hakiapp', callback)
|
||||||
])
|
]
|
||||||
|
|
||||||
|
async.waterfall(tasks1, (error, hash) ->
|
||||||
|
if hash isnt state.githead
|
||||||
|
state.githead = hash
|
||||||
|
async.series(tasks2, callback)
|
||||||
|
else
|
||||||
|
callback()
|
||||||
|
|
||||||
|
stage2Tasks = [
|
||||||
|
setHakiEnv
|
||||||
|
(callback) -> async.forever(updateRepo, callback)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
if state.virgin
|
if state.virgin
|
||||||
async.series(stage1Tasks, (error, results) ->
|
tasks = stage1Tasks.concat(stage2Tasks)
|
||||||
if (error)
|
else
|
||||||
console.error(error)
|
tasks = stage2Tasks
|
||||||
else
|
|
||||||
console.log('Bootstrapped')
|
async.series(tasks, (error, results) ->
|
||||||
)
|
if (error)
|
||||||
|
console.error(error)
|
||||||
|
else
|
||||||
|
console.log('Bootstrapped')
|
||||||
|
)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"virgin": true,
|
"virgin": true,
|
||||||
"uuid": null,
|
"uuid": null,
|
||||||
"giturl": null
|
"giturl": null,
|
||||||
|
"gitHead": null
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user