Commit Graph

314 Commits

Author SHA1 Message Date
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
Praneeth Bodduluri
ba7dd0f3dd Remove un-required ifneq 2015-10-13 13:27:57 -03:00
Praneeth Bodduluri
f57a0ba055 Fetch the buildstep and accelerator - only if needed 2015-10-13 13:27:57 -03:00
Praneeth Bodduluri
aad16c8a25 Replace ||true with Makefile ignores 2015-10-13 13:27:57 -03:00
Praneeth Bodduluri
b8c57312a4 Remove non-existent commands from .PHONY 2015-10-13 13:27:57 -03:00
Praneeth Bodduluri
b80861f2ed Use Dockerfile instead of the tmp 2015-10-13 13:27:57 -03:00
Praneeth Bodduluri
dba752f6b3 Use ARCH= to define the architecture to build. Embedd version into builds 2015-10-13 13:27:57 -03:00
Praneeth Bodduluri
f13d25ba85 Cleanup Makefile for using the currently used deployment repos as sources 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
b7df26b9f6 Run apt-get clean and rm -rf /var/lib/apt/lists as part of creating the supervisor-base to reduce the layer size. 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
Pagan Gazzard
5e869f50a3 Switch the supervisor-base image to include the deps we require, allowing make builds to work correctly (and faster, caching more) now that the deps have been removed from deps.sh 2015-10-13 13:27:56 -03:00
Pagan Gazzard
c207ac985b Share the supervisor-base image making target. 2015-10-13 13:27:56 -03:00
Pagan Gazzard
fcc2e97839 Silence the echo commands, as we just want the message. 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
Aleksis Brezas
ef4c4b9ae6 apt-get install on Dockerfile.i386 2015-10-13 13:19:45 -03:00
Aleksis Brezas
e802631529 one line apt-get on Dockerfile.x86_64 2015-10-13 13:19:45 -03:00
Aleksis Brezas
3cb5cb9571 one line apt-get 2015-10-13 13:19:45 -03:00
Aleksis Brezas
712647b69e move package installations to dockerfiles 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
8c774549ad A hack to use our custom css for tty.js - CSS comes from Eugene. 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