Commit Graph

1118 Commits

Author SHA1 Message Date
523a8b5637 update device supervisor_version 2015-10-13 13:27:58 -03:00
567784b3e9 Default to using a cache dir in ~/cache/resin-supervisor whilst building - when building without a cache volume we get the cache included in the image as well! :( 2015-10-13 13:27:58 -03:00
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
271719708c Update resin-platform-api to v0.2.5
This fixes a load of `Cannot read property 'd' of undefined` errors I had whilst staging was down for update.
2015-10-13 13:27:57 -03:00
c8a7c49cd5 Move the application update poll interval to an env var and reduce to 60s. 2015-10-13 13:27:57 -03:00
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
10012a48cf Enforce a TLS check while connecting to the server - Prevents MITM 2015-10-13 13:27:57 -03:00
ffc05f9d84 Use .constructor.prototype for promisifying instead of __proto__. 2015-10-13 13:27:57 -03:00
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
07a4df1d05 Share the code for fetching an image. 2015-10-13 13:27:57 -03:00
67c9db9fce Move the docker promisification/creation to a util lib. 2015-10-13 13:27:57 -03:00
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
4c257c8e7d Log the body of the sign_certificate response, it'd be very useful for debugging. 2015-10-13 13:27:57 -03:00
ba7dd0f3dd Remove un-required ifneq 2015-10-13 13:27:57 -03:00
f57a0ba055 Fetch the buildstep and accelerator - only if needed 2015-10-13 13:27:57 -03:00
aad16c8a25 Replace ||true with Makefile ignores 2015-10-13 13:27:57 -03:00
b8c57312a4 Remove non-existent commands from .PHONY 2015-10-13 13:27:57 -03:00
b80861f2ed Use Dockerfile instead of the tmp 2015-10-13 13:27:57 -03:00
dba752f6b3 Use ARCH= to define the architecture to build. Embedd version into builds 2015-10-13 13:27:57 -03:00
f13d25ba85 Cleanup Makefile for using the currently used deployment repos as sources 2015-10-13 13:27:57 -03:00
19e066bf24 Log errors when updating device info. 2015-10-13 13:27:56 -03:00
0240f74f47 Fix reference error when failing to delete containers. 2015-10-13 13:27:56 -03:00
c4f9fd853d require config is needed to retry bootstrap 2015-10-13 13:27:56 -03:00
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
2a28046533 Use Promise suffix for promise to make it a little clearer. 2015-10-13 13:27:56 -03:00
6c9ccfcb8c Make the supervisor container remove itself rather than just exiting when launching a new supervisor. 2015-10-13 13:27:56 -03:00
cd7ee9b82f There is no need to resolve currentSupervisor again as we have already resolved it. 2015-10-13 13:27:56 -03:00
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
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
c207ac985b Share the supervisor-base image making target. 2015-10-13 13:27:56 -03:00
fcc2e97839 Silence the echo commands, as we just want the message. 2015-10-13 13:27:56 -03:00
01f6794ccd meta logs system prefix 2015-10-13 13:27:56 -03:00
b24a06a935 use channel prefix for differentiating with app logs 2015-10-13 13:27:56 -03:00
df2066e4de supervisor meta logs 2015-10-13 13:27:52 -03:00
5cf8e2c180 Silence the pubnub "Missing Message" errors. 2015-10-13 13:19:45 -03:00
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
ef4c4b9ae6 apt-get install on Dockerfile.i386 2015-10-13 13:19:45 -03:00
e802631529 one line apt-get on Dockerfile.x86_64 2015-10-13 13:19:45 -03:00
3cb5cb9571 one line apt-get 2015-10-13 13:19:45 -03:00
712647b69e move package installations to dockerfiles 2015-10-13 13:19:45 -03:00
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
4cf6ce657a use promise.try to start promise chain 2015-10-13 13:19:45 -03:00
2d4c22d6eb use resin-platform-api 2015-10-13 13:19:45 -03:00
9c9d520da7 multi device support 2015-10-13 13:19:45 -03:00
ffedae683d early stage app 2015-10-13 13:19:44 -03:00
2d8df956a6 Move the starting timeout to a config var. 2015-10-13 13:19:44 -03:00
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
8c774549ad A hack to use our custom css for tty.js - CSS comes from Eugene. 2015-10-13 13:19:44 -03:00
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
5bb552f065 Make mixpanelTrack nicely handle errors being passed in and use it for logging bootstrapping errors. 2015-10-13 13:19:44 -03:00