847 Commits

Author SHA1 Message Date
Pagan Gazzard
6a50889086 Only select the fields we need to compare/update apps. 2015-10-13 13:27:58 -03:00
Pagan Gazzard
de6de9d397 Select just the id as it's all we need, and reduces network traffic. 2015-10-13 13:27:58 -03:00
Aleksis Brezas
e6e42d6631 improved getregistryandname 2015-10-13 13:27:58 -03:00
Aleksis Brezas
4185fb56c8 comment docker utility functions 2015-10-13 13:27:58 -03:00
Aleksis Brezas
a5ee91ceaf calculate progress in a transform stream and expose a callback for progress events 2015-10-13 13:27:58 -03:00
Aleksis Brezas
6b496693ad download progress bars 2015-10-13 13:27:58 -03:00
Aleksis Brezas
cdca01eed1 Use require to parse package.json for supervisor version 2015-10-13 13:27:58 -03:00
Aleksis Brezas
523a8b5637 update device supervisor_version 2015-10-13 13:27:58 -03:00
Pagan Gazzard
3b2b75998e Tell startNewSupervisor which image to start, we need to start the working image on a restart, and the new (possibly broken) image on update. 2015-10-13 13:27:58 -03:00
Pagan Gazzard
c8a7c49cd5 Move the application update poll interval to an env var and reduce to 60s. 2015-10-13 13:27:57 -03:00
Pagan Gazzard
c7c1c45f38 Deal with int env vars more nicely (actually parse them and check they're valid ints) 2015-10-13 13:27:57 -03:00
Praneeth Bodduluri
10012a48cf Enforce a TLS check while connecting to the server - Prevents MITM 2015-10-13 13:27:57 -03:00
Pagan Gazzard
ffc05f9d84 Use .constructor.prototype for promisifying instead of __proto__. 2015-10-13 13:27:57 -03:00
Pagan Gazzard
00d725cfac Move the cleanupContainersAndImages code into the docker utils, and make use of a count of currently fetching images to only clean up images if we aren't fetching any. 2015-10-13 13:27:57 -03:00
Pagan Gazzard
07a4df1d05 Share the code for fetching an image. 2015-10-13 13:27:57 -03:00
Pagan Gazzard
67c9db9fce Move the docker promisification/creation to a util lib. 2015-10-13 13:27:57 -03:00
Pagan Gazzard
73c62cb5be Make sure the responses are at least non-empty, otherwise we're going to get into a broken vpn situation. 2015-10-13 13:27:57 -03:00
Pagan Gazzard
4c257c8e7d Log the body of the sign_certificate response, it'd be very useful for debugging. 2015-10-13 13:27:57 -03:00
Pagan Gazzard
19e066bf24 Log errors when updating device info. 2015-10-13 13:27:56 -03:00
Pagan Gazzard
0240f74f47 Fix reference error when failing to delete containers. 2015-10-13 13:27:56 -03:00
Aleksis Brezas
c4f9fd853d require config is needed to retry bootstrap 2015-10-13 13:27:56 -03:00
Pagan Gazzard
2a28046533 Use Promise suffix for promise to make it a little clearer. 2015-10-13 13:27:56 -03:00
Pagan Gazzard
6c9ccfcb8c Make the supervisor container remove itself rather than just exiting when launching a new supervisor. 2015-10-13 13:27:56 -03:00
Pagan Gazzard
cd7ee9b82f There is no need to resolve currentSupervisor again as we have already resolved it. 2015-10-13 13:27:56 -03:00
Pagan Gazzard
7e3c9707cb Cleanup containers as well as images, this stops issues with having containers hanging around on an old image, stopping that image from being deleted. 2015-10-13 13:27:56 -03:00
Aleksis Brezas
01f6794ccd meta logs system prefix 2015-10-13 13:27:56 -03:00
Aleksis Brezas
b24a06a935 use channel prefix for differentiating with app logs 2015-10-13 13:27:56 -03:00
Aleksis Brezas
df2066e4de supervisor meta logs 2015-10-13 13:27:52 -03:00
Pagan Gazzard
5cf8e2c180 Silence the pubnub "Missing Message" errors. 2015-10-13 13:19:45 -03:00
Pagan Gazzard
85e1777a65 We can use mapSync as we don't need anything asynchronous, also we can return nothing as we're done with the stream data at that point. 2015-10-13 13:19:45 -03:00
Pagan Gazzard
7f38248cfa Let the new supervisor handle tagging itself as a working supervisor, this means that the check that a supervisor update is a working update will not be nullified by a reboot. 2015-10-13 13:19:45 -03:00
Aleksis Brezas
4cf6ce657a use promise.try to start promise chain 2015-10-13 13:19:45 -03:00
Aleksis Brezas
2d4c22d6eb use resin-platform-api 2015-10-13 13:19:45 -03:00
Aleksis Brezas
9c9d520da7 multi device support 2015-10-13 13:19:45 -03:00
Aleksis Brezas
ffedae683d early stage app 2015-10-13 13:19:44 -03:00
Pagan Gazzard
2d8df956a6 Move the starting timeout to a config var. 2015-10-13 13:19:44 -03:00
Pagan Gazzard
2210b1be29 Only wait for success if we're restarting due to an update attempt.
If we're restarting for binds/mounts then we're already in a non-working state, and starting the new supervisor may have to wait for bootstrap to complete (which takes an indefinite amount of time to complete, meaning the timeout was killing the new container before it could bootstrap in some cases)
2015-10-13 13:19:44 -03:00
Pagan Gazzard
5efcde7922 Start the supervisor update check ASAP, it allows us to push (and automatically update to) new supervisor images that fix issues in earlier stages. 2015-10-13 13:19:44 -03:00
Pagan Gazzard
5bb552f065 Make mixpanelTrack nicely handle errors being passed in and use it for logging bootstrapping errors. 2015-10-13 13:19:44 -03:00
Pagan Gazzard
f43afd4a95 Retry the bootstrap process if it fails - this means that we remove a point of failure (the previous connectivity check barrier merely reduced the chance of hitting that failure point) 2015-10-13 13:19:44 -03:00
Lorenzo Stoakes
7866d7a9f7 Use API endpoint var as heartbeat endpoint. 2015-10-13 13:19:44 -03:00
Lorenzo Stoakes
77f5c776f5 Allow configuration of heartbeat endpoint via env var. 2015-10-13 13:19:44 -03:00
Lorenzo Stoakes
8ce9c2448f Spread is neater. 2015-10-13 13:19:44 -03:00
Lorenzo Stoakes
aa4ff76581 Avoid ICMP on connectivity check. 2015-10-13 13:19:44 -03:00
Petros Angelatos
d054ca7023 Use host networking for user containers 2015-10-13 13:19:44 -03:00
Aleksis Brezas
ff12b4b736 comment explaining why we dont throw on supervisor update 2015-10-13 13:19:44 -03:00
Aleksis Brezas
5a9f5bebc6 increase supervisor update timeout to 1 minute 2015-10-13 13:19:44 -03:00
Aleksis Brezas
81fbbab362 remove unnecessary catch 2015-10-13 13:19:44 -03:00
Aleksis Brezas
e65a0b9c66 do not throw update errors 2015-10-13 13:19:43 -03:00
Pagan Gazzard
58cbb3808e Log the stack trace as well when catching an unhandled error. 2015-10-13 13:18:12 -03:00