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
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
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
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
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