Commit Graph

1337 Commits

Author SHA1 Message Date
Cameron Diver
5c3d7f20bc
Update docker-progress to reduce memory usage when pulling images
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2018-12-04 17:05:23 +00:00
Resin CI
03ff1c3614 v8.6.6 2018-12-04 18:53:14 +02:00
Resin CI
33549aa344 v8.6.5 2018-12-04 12:13:08 +02:00
Cameron Diver
e409ebf27d
Update mixpanel node dependency, to pick up path changes
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2018-12-04 09:35:40 +00:00
Resin CI
6af1aa39d5 v8.6.4 2018-11-30 20:48:24 +02:00
Resin CI
fa89b5881f v8.6.3 2018-11-29 13:43:27 +02:00
Resin CI
5015721524 v8.6.2 2018-11-28 20:20:01 +02:00
Cameron Diver
5c04df2cb8
compose: Fix network option field names and update dockerode types
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2018-11-28 17:43:31 +00:00
Resin CI
fd68ee6a1c v8.6.1 2018-11-28 19:41:34 +02:00
Resin CI
d2e68c1d3c v8.6.0 2018-11-28 19:12:51 +02:00
Resin CI
7916876028 v8.5.1 2018-11-28 18:34:25 +02:00
Cameron Diver
4bcdc83850
Update network-checker to pick up typings
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2018-11-28 15:15:05 +00:00
Resin CI
981d232a38 v8.5.0 2018-11-28 17:12:47 +02:00
Resin CI
db24961365 v8.4.3 2018-11-27 22:40:41 +02:00
Resin CI
27efe86bae v8.4.2 2018-11-26 19:53:24 +02:00
Cameron Diver
f97609a8f7
Pin event-stream to avoid picking up vulnerable flatmap-stream
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2018-11-26 17:18:01 +00:00
Resin CI
582ac24701 v8.4.1 2018-11-22 14:49:13 +02:00
Resin CI
20d0af1d70 v8.4.0 2018-11-21 15:30:12 +02:00
Cameron Diver
f48e85095b
events: Correctly proxy mixpanel events
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2018-11-21 13:09:06 +00:00
Resin CI
135ca9ac8f v8.3.9 2018-11-13 23:28:43 +01:00
Cameron Diver
e82b0103f7
Temporarily pin dockerode types to fix build issue
This depends on https://github.com/DefinitelyTyped/DefinitelyTyped/pull/30343
being merged and released.

Signed-off-by: Cameron Diver <cameron@balena.io>
2018-11-07 11:19:37 +00:00
Resin CI
486f3e034d v8.3.8 2018-11-06 23:02:50 +01:00
Resin CI
5084c0c73f v8.3.7 2018-11-06 18:09:27 +01:00
Pagan Gazzard
83a1b24ae2 Update coffee-script to coffee-script 1.12
Change-type: patch
2018-11-06 16:31:58 +00:00
Resin CI
69db355874 v8.3.6 2018-11-06 17:21:26 +01:00
Resin CI
c8bd26bebc v8.3.5 2018-11-06 16:14:52 +01:00
Resin CI
d8a9011d54 v8.3.4 2018-11-06 14:09:58 +01:00
Pagan Gazzard
02d12aebcf Remove unused dependencies
Change-type: patch
2018-11-06 12:31:47 +00:00
Resin CI
2111c645b9 v8.3.3 2018-11-06 13:21:53 +01:00
Cameron Diver
e270652122
Remove ts-node from test process
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2018-11-06 12:05:35 +00:00
Resin CI
0820dbca68 v8.3.2 2018-11-06 11:19:43 +01:00
Resin CI
b7dfa73e5b v8.3.1 2018-11-06 00:33:25 +01:00
Resin CI
7957bf544e v8.3.0 2018-11-05 13:20:57 +01:00
Resin CI
88cd9e557e v8.2.4 2018-11-05 11:31:41 +01:00
Pagan Gazzard
f53a47a3cf Remove versionist from package.json, it's handled by versionbot
Change-type: patch
2018-11-02 16:38:59 +00:00
Resin CI
f897c68a28 v8.2.3 2018-11-02 17:31:49 +01:00
Pagan Gazzard
83927f36d8 Update to typescript 3
Change-type: patch
2018-11-02 15:41:14 +00:00
Resin CI
02cd9522e1 v8.2.2 2018-11-02 16:11:56 +01:00
Pagan Gazzard
21738f8fe3 Update to resin-lint 2 and add a precommit hook for prettier
Change-type: patch
2018-11-02 14:50:12 +00:00
Pagan Gazzard
e788c630fb Run resin-lint for both coffee and typescript
Change-type: patch
2018-11-02 14:50:11 +00:00
Resin CI
572cabc9c1 v8.2.1 2018-11-02 15:44:28 +01:00
Resin CI
7e2e5f7ae6 v8.2.0 2018-11-02 01:37:46 +01:00
Pablo Carranza Velez
8298487a88 Rename most of the documentation and variable names from resin to balena
Change-type: minor
Signed-off-by: Pablo Carranza Velez <pablo@balena.io>
2018-11-01 17:00:13 -07:00
Resin CI
94ebc67839 v8.1.0 2018-11-02 00:35:43 +01:00
Resin CI
fa29a1b997 v8.0.0 2018-11-01 14:27:23 +01:00
Resin CI
ffd8171b48 v7.25.13 2018-10-31 23:43:57 +01:00
Resin CI
35d3f7e687 v7.25.12 2018-10-31 21:45:52 +01:00
Resin CI
be533a0ef6 v7.25.11 2018-10-31 21:10:19 +01:00
Resin CI
2487ceb25e v7.25.10 2018-10-26 02:13:33 +02:00
Resin CI
66b46cffd7 v7.25.9 2018-10-25 23:45:42 +02:00
Pablo Carranza Velez
a205c3e72b Update docker-delta to v2.2.2
This fixes occasional timeouts in rsync after applying v2 deltas, which
cause unnecessary fallbacks to a regular pull.

This change also removes the need for the mkfifo native dependency (since
docker-delta 2.2.2 stops using it).

Change-type: patch
Signed-off-by: Pablo Carranza Velez <pablo@balena.io>
2018-10-25 12:36:20 -07:00
Resin CI
e097a31348 v7.25.8 2018-10-24 01:07:11 +02:00
Resin CI
f96c35d07b v7.25.7 2018-10-24 00:42:50 +02:00
Resin CI
4eef50444a v7.25.6 2018-10-23 20:32:21 +02:00
Resin CI
4b07d539c7 v7.25.5 2018-10-22 22:59:54 +02:00
Resin CI
beae3e03c5 v7.25.4 2018-10-22 12:29:33 +02:00
Resin CI
6cd491c0c9 v7.25.3 2018-10-20 04:52:24 +02:00
Resin CI
cb31474d7a v7.25.2 2018-10-19 18:04:15 +02:00
Resin CI
f89af2d508 v7.25.1 2018-10-19 15:38:17 +02:00
Resin CI
aee6a0db16 v7.25.0 2018-10-18 17:47:08 +02:00
Resin CI
658639ea65 v7.24.1 2018-10-18 16:48:36 +02:00
Resin CI
96c1cea4ab v7.24.0 2018-10-18 15:26:37 +02:00
Resin CI
46535028c1 v7.23.0 2018-10-18 14:58:53 +02:00
Resin CI
3b7bf9a4b7 v7.22.0 2018-10-18 02:36:17 -07:00
Resin CI
03b795b25e v7.21.5 2018-10-16 06:01:45 -07:00
Resin CI
d076d59499 v7.21.4 2018-10-16 02:46:00 -07:00
Resin CI
4e9eae1b77 v7.21.3 2018-10-15 05:22:05 -07:00
Cameron Diver
81c7a2f7a0
deltas: Bump docker-progress to pick up support for balena-engine
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-10-15 12:09:45 +01:00
Resin CI
0e39b0e24c v7.21.2 2018-10-15 04:06:27 -07:00
Resin CI
853727d7a1 v7.21.1 2018-10-15 03:33:57 -07:00
Resin CI
ccdf0b2075 v7.21.0 2018-10-15 02:51:37 -07:00
Cameron Diver
19cd310da3
Support setting target state in local mode from supervisor API
Change-type: minor
Closes: #689
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-10-10 13:02:40 +01:00
Resin CI
188e85263f v7.20.0 2018-10-08 03:56:31 -07:00
Cameron Diver
892d227cc2
compose/service: Convert module to typescript and add network config
Stability improvements;
* Printing of unsupported compose fields
* Added a lot of tests
* All compose configuration has a default value, enabling better
comparison

Change-type: minor
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-09-21 10:30:27 +01:00
Resin CI
276f9960fc v7.19.7 2018-09-13 07:13:56 -07:00
Resin CI
db490979e8 v7.19.6 2018-09-13 04:22:38 -07:00
Resin CI
71dd2fc72e v7.19.5 2018-09-12 04:43:16 -07:00
Resin CI
1ff94a04b5 v7.19.4 2018-09-05 12:27:24 -07:00
Resin CI
45dd8c6d69 v7.19.3 2018-09-04 16:18:49 -07:00
Cameron Diver
607c722b0b
events: Add rate limiting based on event name when reporting to mixpanel
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-09-04 13:17:17 -07:00
Resin CI
c7f812b993 v7.19.2 2018-09-04 11:44:27 -07:00
Cameron Diver
d3a18da573
Refactor: Convert logging module to typescript
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-09-03 09:39:06 -07:00
Resin CI
524f2580d8 v7.19.1 2018-08-30 11:12:58 -07:00
Resin CI
6f0728ba56 v7.19.0 2018-08-29 13:58:12 -07:00
Cameron Diver
afd544f440
housekeeping: Add private:true to package.json
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-08-29 09:05:30 -07:00
resin-io-versionbot[bot]
01db7c448f v7.18.0 2018-08-24 15:35:56 +00:00
resin-io-versionbot[bot]
8003ab830b v7.17.1 2018-08-17 09:07:20 +00:00
resin-io-versionbot[bot]
aa45e9c955 v7.17.0 2018-08-16 16:09:23 +00:00
Cameron Diver
1060e70e82
dev: Add package.json tasks to aid debugging supervisor tests
Running mocha on the coffee and ts sources resulted in unreliable
sourcemaps, and breakpoints not working, among other things. To solve
this, this commit adds package.json tasks which will build both the
coffeescript and typescript files with their sourcemaps and places it
into a build directory. It also copies over other dependent files, such
as test data and migrations.

Another task adds a mocha debugging command, which can be connected to
using a node debugger.

Another tasks runs mocha without a debugging interface, but also without
running linters etc first. This enables the tests to be run much faster.

Change-type: minor
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-08-16 16:38:40 +01:00
resin-io-versionbot[bot]
e55193151a v7.16.7 2018-08-16 15:02:03 +00:00
Cameron Diver
cb2349dbb6
Update docker-toolbelt to pull in typings
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-08-16 15:35:31 +01:00
resin-io-versionbot[bot]
9415d04bc3 v7.16.6 2018-08-13 12:00:10 +00:00
resin-io-versionbot[bot]
840ec03b3e v7.16.5 2018-08-13 09:33:26 +00:00
resin-io-versionbot[bot]
51f008a44f v7.16.4 2018-08-07 12:54:52 +00:00
resin-io-versionbot[bot]
be73be53e1 v7.16.3 2018-08-01 19:41:31 +00:00
resin-io-versionbot[bot]
8cad3a664c v7.16.2 2018-07-25 14:57:58 +00:00
resin-io-versionbot[bot]
fa79c4872f v7.16.1 2018-07-25 10:34:13 +00:00
resin-io-versionbot[bot]
0578840f09 v7.16.0 2018-07-23 18:56:09 +00:00
Petros Angelatos
bba1da370b
logger: Remove pubnub leftovers
Change-type: minor
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2018-07-18 12:31:10 -07:00
resin-io-versionbot[bot]
d9eee69fcd v7.15.0 2018-07-17 20:40:33 +00:00
resin-io-versionbot[bot]
f8ead44b2b v7.14.1 2018-07-16 15:52:46 +00:00
resin-io-versionbot[bot]
b1c3faabb0 v7.14.0 2018-07-12 13:46:47 +00:00
resin-io-versionbot[bot]
4e3070f343 v7.13.3 2018-07-12 11:53:34 +00:00
resin-io-versionbot[bot]
36f95c88bf v7.13.2 2018-07-09 10:31:19 +00:00
resin-io-versionbot[bot]
98486717aa v7.13.1 2018-06-28 14:18:21 +00:00
resin-io-versionbot[bot]
71a2c3c456 v7.13.0 2018-06-27 11:52:58 +00:00
resin-io-versionbot[bot]
9f03d2885d v7.12.0 2018-06-26 08:01:14 +00:00
Cameron Diver
6ca2701b85
Move v2 endpoints to separate module
Change-type: patch
Connects-to: #640
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-06-25 17:32:47 +01:00
resin-io-versionbot[bot]
d1b7a4c2e4 v7.11.3 2018-06-25 09:54:05 +00:00
resin-io-versionbot[bot]
90ab089ca1 v7.11.2 2018-06-18 12:46:50 +00:00
Cameron Diver
809bc87b88
Convert config module to typescript
Extract config.json handling code out to separate modules too.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-06-18 13:41:18 +01:00
Cameron Diver
1b0fd82f51
Convert db module to typescript
Also had to change config module to bind `.this` value, due to
differences in setup.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-06-18 13:39:08 +01:00
resin-io-versionbot[bot]
f5e2f56da0 v7.11.1 2018-06-14 09:08:22 +00:00
Cameron Diver
31c6db2ccd
Upgrade TypedError and move docker-utils error to error module
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-06-13 16:55:34 +01:00
resin-io-versionbot[bot]
a170d63a6a v7.11.0 2018-06-13 10:52:23 +00:00
resin-io-versionbot[bot]
9c9e5e9e36 v7.10.2 2018-06-11 12:53:33 +00:00
resin-io-versionbot[bot]
bf58808dff v7.10.1 2018-06-11 10:06:15 +00:00
Cameron Diver
ea18462244
Move dependencies out to devDependencies 2018-06-11 10:20:17 +01:00
resin-io-versionbot[bot]
2f97955e6e v7.10.0 2018-06-06 13:57:47 +00:00
Cameron Diver
dc59c83409
Move boot config related code to config-utils module
This commit abstracts all of the boot config code out of the
device-config module, ready to extend with different config backends.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-06-05 17:00:45 +01:00
resin-io-versionbot[bot]
0cd0ba2b36 v7.9.1 2018-05-29 17:22:51 +00:00
resin-io-versionbot[bot]
410d1cf294 v7.9.0 2018-05-23 18:24:23 +00:00
Akis Kesoglou
8479801674 Add support for Balena deltas
Resin’s delta server supports Balena deltas as version 3 deltas. This commit adds support for triggering delta generation for Balena deltas, and applying them locally to the device via a simple pull.

The delta version to use when updating has been abstracted away as an env var that is user-defined. The default value is still instructing use of rsync deltas (v2).

Change-Type: minor
2018-05-23 20:59:56 +03:00
resin-io-versionbot[bot]
511549b259 v7.8.0 2018-05-23 12:49:44 +00:00
resin-io-versionbot[bot]
e84a5d8d30 v7.7.2 2018-05-22 10:52:19 +00:00
resin-io-versionbot[bot]
e797046f12 v7.7.1 2018-05-21 14:06:19 +00:00
resin-io-versionbot[bot]
2a05a21a5b v7.7.0 2018-05-18 17:28:38 +00:00
resin-io-versionbot[bot]
25cbe2075e v7.6.0 2018-05-16 15:19:34 +00:00
resin-io-versionbot[bot]
8ca6b239bb v7.5.6 2018-05-14 09:47:25 +00:00
resin-io-versionbot[bot]
7e9cc78ce5 v7.5.5 2018-05-11 15:44:38 +00:00
resin-io-versionbot[bot]
3b2c466327 v7.5.4 2018-05-11 12:47:17 +00:00
resin-io-versionbot[bot]
79c38538a9 v7.5.3 2018-05-02 12:03:57 +00:00
Cameron Diver
022eeaa2b3
Add typescript linting to supervisor tests
This also required updating node-resin-lint to v1.5.7

Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-05-02 09:36:21 +01:00
resin-io-versionbot[bot]
8a390e159a v7.5.2 2018-05-01 15:44:42 +00:00
Pablo Carranza Velez
652b596c80 Add some more unit tests to the multicontainer supervisor
We add a bunch of additional unit tests, and also a coverage report using istanbul.

The tests are not meant to cover everything, but they're a first attempt at having *some* unit testing
on the supervisor. There's much to improve but hopefully it helps catch obvious errors.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-04-30 19:39:01 -07:00
resin-io-versionbot[bot]
a70cf858b2 v7.5.1 2018-04-29 10:01:27 +00:00
resin-io-versionbot[bot]
26b7c054cc v7.5.0 2018-04-27 16:16:07 +00:00
Cameron Diver
cfddbf65e4
Start initial typescript conversion, and add validation debugging
Add webpack config and dependencies to have typescript built, and also
convert src/lib/validation.coffee to typescript.

In this conversion I also added a lot of debugging which should help the
upcoming local mode development.

Change-type: minor
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-04-27 16:09:50 +01:00
resin-io-versionbot[bot]
12998203f5 v7.4.4 2018-04-23 16:59:51 +00:00
resin-io-versionbot[bot]
4216785253 v7.4.3 2018-04-19 22:15:10 +00:00
resin-io-versionbot[bot]
074eabe72d v7.4.2 2018-04-18 16:08:16 +00:00
resin-io-versionbot[bot]
74ff9cf269 v7.4.1 2018-04-11 23:02:42 +00:00
Pablo Carranza Velez
1ce9560427 Add additional tests to compose Service, and add linting to tests
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-04-11 15:15:30 -07:00
resin-io-versionbot[bot]
4685612a3b v7.4.0 2018-04-11 16:13:53 +00:00
resin-io-versionbot[bot]
608205c612 v7.3.0 2018-04-10 09:31:11 +00:00
Heds Simons
4eb796b9f4 Move to Node 6.13.1.
Connects-to: #623
Change-type: minor
2018-04-09 11:54:55 +01:00
resin-io-versionbot[bot]
0f6f8e5fad v7.2.0 2018-04-04 14:07:30 +00:00
Cameron Diver
f625a1bcb0
Run test suite on CI
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-04-04 14:47:04 +01:00
Lucian Buzzo
9bca2557ea Add mocha to enable unit testing
Implements a simple test for `parseMemoryNumber`

change-type: minor
2018-04-04 13:22:17 +01:00
resin-io-versionbot[bot]
7f4e40b280 v7.1.24 2018-03-29 12:28:53 +00:00
resin-io-versionbot[bot]
b94a19f791 v7.1.23 2018-03-29 11:40:46 +00:00
resin-io-versionbot[bot]
d6d81b7cec v7.1.22 2018-03-29 09:36:03 +00:00
resin-io-versionbot[bot]
fd4ae18468 v7.1.21 2018-03-27 09:30:24 +00:00
resin-io-versionbot[bot]
d1519099f6 v7.1.20 2018-03-22 16:20:29 +00:00
Pablo Carranza Velez
348ff66cee
Replace the gosuper component with a node module that handles communication with systemd, and stop using an init system in the supervisor container
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-03-22 15:55:15 +00:00
resin-io-versionbot[bot]
822ea1e185 v7.1.19 2018-03-22 14:36:50 +00:00
resin-io-versionbot[bot]
c89174418e v7.1.18 2018-03-19 20:54:55 +00:00
resin-io-versionbot[bot]
11aa504add v7.1.17 2018-03-19 19:55:32 +00:00
resin-io-versionbot[bot]
a5421bd6b4 v7.1.16 2018-03-16 19:02:56 +00:00
resin-io-versionbot[bot]
84e5dbc27d v7.1.15 2018-03-15 17:37:40 +00:00
resin-io-versionbot[bot]
dd15ab5fcc v7.1.14 2018-03-15 02:05:48 +00:00
resin-io-versionbot[bot]
2daadd9544 v7.1.13 2018-03-15 01:24:04 +00:00
resin-io-versionbot[bot]
a6f1d939a8 v7.1.12 2018-03-15 00:25:40 +00:00
resin-io-versionbot[bot]
32880653c1 v7.1.11 2018-03-14 11:54:22 +00:00
resin-io-versionbot[bot]
c01accd208 v7.1.10 2018-03-14 07:28:29 +00:00
resin-io-versionbot[bot]
310cff05a5 v7.1.9 2018-03-13 21:20:41 +00:00
resin-io-versionbot[bot]
a2579a1c9a v7.1.8 2018-03-13 13:59:53 +00:00
resin-io-versionbot[bot]
0f7c9f66dc v7.1.7 2018-03-09 17:41:40 +00:00
resin-io-versionbot[bot]
affdcb1bc8 v7.1.6 2018-03-09 15:19:23 +00:00
resin-io-versionbot[bot]
bda308306d v7.1.5 2018-03-09 14:33:32 +00:00
resin-io-versionbot[bot]
ae2a1acb14 v7.1.4 2018-03-09 08:13:11 +00:00
resin-io-versionbot[bot]
feec2c0267 v7.1.3 2018-03-08 23:05:38 +00:00
resin-io-versionbot[bot]
3c20663979 v7.1.2 2018-03-08 22:23:38 +00:00
resin-io-versionbot[bot]
f12882b3fd v7.1.1 2018-03-08 16:04:16 +00:00
resin-io-versionbot[bot]
1520f7f702 v7.1.0 2018-03-07 15:54:35 +00:00
resin-io-versionbot[bot]
80f06adb0f v7.0.0 2018-03-07 13:23:36 +00:00
Pablo Carranza Velez
8548222a00 Several bugfixes:
* Ensure commit is only reported when update has finished

* Change default delay between actions to 100ms

* Fix envArrayToObject for cases where the env var has an equal sign

* Use shell-quote to properly parse string command and entrypoint

* Fix preloading with a legacy apps.json

Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-03-06 10:32:28 -08:00
Pablo Carranza Velez
25695aade5 Add support for init, mem_reservation, shm_size, read_only and sysctls.
Also several bugfixes:

* Fix VPN control, logging in deviceConfig, and action executors in proxyvisor

* Fix bug in calculation of dependencies due to fields still using snake_case

* Fix snake_case in a migration, and remove unused lib/migration.coffee

* In healthcheck, count deviceState as healthy when a fetch is in progress (as in the non-multicontainer supervisor)

* Set always as default restart policy

* Fix healthcheck, stop_grace_period and mem_limit

* Lint and reduce some cyclomatic complexities

* Namespace volumes and networks by appId, switch default network name to 'default', fix dependencies in networks and volumes, fix duplicated kill steps, fix fat arrow on provisioning

* Check that supervisor network is okay every time we're applying target state

Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-03-06 10:32:28 -08:00
Pablo Carranza Velez
b003f48d7b Switch to using knex migrations to set up the database, and change the database format to use integers for ids instead of strings.
Also includes various improvements and bugfixes to services and the migration from legacy /data to volumes.

The switch ti migrations involves a dirty hack for webpack to properly resolve the paths to the migrations js files - it uses an expression
that webpack can't resolve, so we hardcode it to a value and use the ContextReplacementPlugin to make that value resolve to the migrations folder.

The downsides to this approach are:
- a change in knex code would break this
- the migration code is added twice to the supervisor image: once in the migrations folder (because knex needs to loop through the directory to find the files),
and once inside app.js (because I can't make webpack treat them as external)

Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-03-06 10:32:28 -08:00
Pablo Carranza Velez
5f651c71f7 app.coffee: Switch to the multicontainer supervisor, add missing dependencies, and remove all files that are not used anymore
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-03-06 10:32:28 -08:00
resin-io-versionbot[bot]
b0f2335b41 v6.6.9 2018-03-05 19:16:34 +00:00
resin-io-versionbot[bot]
b6fc45b671 v6.6.8 2018-02-27 18:27:22 +00:00
resin-io-versionbot[bot]
590c67333e v6.6.7 2018-02-27 17:11:11 +00:00
resin-io-versionbot[bot]
7b9a87c347 v6.6.6 2018-02-27 01:11:47 +00:00
Akis Kesoglou
76ac7da1d6 Update docker-delta to 2.0.4
This brings in a fix for an edge case where rsync would exit before we had a chance to register event listeners.

Change-Type: patch
2018-02-23 11:26:32 +02:00
resin-io-versionbot[bot]
9bbeea8a72 v6.6.5 2018-02-21 20:54:46 +00:00
resin-io-versionbot[bot]
2361137a98 v6.6.4 2018-02-20 02:20:57 +00:00
resin-io-versionbot[bot]
50e2110ba8 v6.6.3 2018-02-06 00:12:34 +00:00
Akis Kesoglou
dc69917b5a Update resumable-request to v2.0
Turned out that disk I/O can be the bottleneck when applying deltas on some devices. When the disk can’t keep up and consume the downloaded delta, there’s memory bloat due to buffering.

The updated version provides far better reliability when the device is under load and pretty much constant memory consumption with any number of concurrent deltas.

Change-Type: patch
2018-02-05 10:59:56 +02:00
resin-io-versionbot[bot]
bb422b1464 v6.6.2 2018-01-24 19:30:24 +00:00
resin-io-versionbot[bot]
191bc733f9 v6.6.1 2018-01-19 14:47:16 +00:00
resin-io-versionbot[bot]
4b28c11a67 v6.6.0 2018-01-18 22:13:23 +00:00
Pablo Carranza Velez
cff789ebfa Implement an API for proxy and hostname configuration, and centralize management of config.json
Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-17 14:05:40 -03:00
resin-io-versionbot[bot]
c11cae4777 v6.5.9 2018-01-12 15:43:08 +00:00
resin-io-versionbot[bot]
2a02938fa4 v6.5.8 2018-01-10 17:51:59 +00:00
Pablo Carranza Velez
a81cf94660 Update docker-toolbelt to v3.2.1 to fix a bug in deltas
The problem was caused by the build picking up 3.2.0 which had a bug, causing an `TypeError: l is not a function`.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-10 13:59:50 -03:00
resin-io-versionbot[bot]
2fb86421ab v6.5.7 2018-01-05 15:39:11 +00:00
resin-io-versionbot[bot]
eaaed9a770 v6.5.6 2017-12-15 19:43:58 +00:00
resin-io-versionbot[bot]
688ff1d280 v6.5.5 2017-12-14 21:07:53 +00:00
Pablo Carranza Velez
b2346c61fc Update resin-sync to allow syncing to devices that use balena
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-14 05:18:23 -08:00
resin-io-versionbot[bot]
e80c9af3c7 v6.5.4 2017-12-14 11:18:40 +00:00
resin-io-versionbot[bot]
6d74408470 v6.5.3 2017-12-12 10:13:04 +00:00
resin-io-versionbot[bot]
3016ed569e v6.5.2 2017-12-12 08:05:31 +00:00
resin-io-versionbot[bot]
1685eec390 v6.5.1 2017-12-11 20:00:12 +00:00
resin-io-versionbot[bot]
d01fb0514b v6.5.0 2017-12-11 09:07:17 +00:00
resin-io-versionbot[bot]
3d3fdb1792 v6.4.9 2017-12-11 06:17:44 +00:00
resin-io-versionbot[bot]
eef8ee0c33 v6.4.8 2017-12-01 20:35:58 +00:00
resin-io-versionbot[bot]
83b56ab49a v6.4.7 2017-11-20 15:52:03 +00:00
resin-io-versionbot[bot]
2db6437c3a v6.4.6 2017-11-10 17:16:16 +00:00
resin-io-versionbot[bot]
2882b97bcd v6.4.5 2017-11-09 04:13:42 +00:00
Pablo Carranza Velez
88291f08a8 Use uglifyjs-webpack-plugin ^1.0.1 to optimize the supervisor code
We've been using UglifyJS 0.4.6 (the webpack default) so far, but this doesn't support ES6 and some dependency
updates are starting to cause builds to break (e.g. https://github.com/request/request/issues/2772, which also happens to break
my builds in the multicontainer branch).

Here we switch to the latest uglifyjs-webpack-plugin which is designed for ES2015 support.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-11-08 19:03:19 -08:00
resin-io-versionbot[bot]
701a2b7d13 v6.4.4 2017-11-08 17:58:59 +00:00
resin-io-versionbot[bot]
8a2852eda6 v6.4.3 2017-11-03 20:57:09 +00:00
resin-io-versionbot[bot]
a3b5b0370b v6.4.2 2017-11-03 02:31:04 +00:00
resin-io-versionbot[bot]
219dc2874b v6.4.1 2017-11-02 21:44:14 +00:00
resin-io-versionbot[bot]
81fac24c99 v6.4.0 2017-11-01 21:08:51 +00:00
resin-io-versionbot[bot]
087e335467 v6.3.11 2017-11-01 09:33:20 +00:00
Pablo Carranza Velez
20d95ff024 Add whitelist-based filtering to mixpanel events
When sending events to mixpanel, we now use an explicit whitelist for the properties sent with the event, to avoid accidental leakage of any sensitive information.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-10-31 23:22:38 -07:00
resin-io-versionbot[bot]
75034ab1b5 v6.3.10 2017-10-31 21:23:03 +00:00
resin-io-versionbot[bot]
eb6c4fb7c4 v6.3.9 2017-10-30 23:23:50 +00:00
resin-io-versionbot[bot]
be6d44a09b v6.3.8 2017-10-30 21:43:55 +00:00
resin-io-versionbot[bot]
dd485b06f7 v6.3.7 2017-10-25 03:11:32 +00:00
resin-io-versionbot[bot]
a5ee786cde v6.3.6 2017-10-24 05:07:25 +00:00
resin-io-versionbot[bot]
964d0ae737 v6.3.5 2017-10-19 12:03:34 +00:00
Akis Kesoglou
95bd3f1276 Update docker-toolbelt to fix applying deltas on overlay2 with huge images
See https://github.com/resin-io-modules/docker-toolbelt/pull/21 for issue details

Change-Type: patch
2017-10-19 09:11:32 +03:00
resin-io-versionbot[bot]
a8261d12bd v6.3.4 2017-10-17 09:10:49 +00:00
Akis Kesoglou
78f74d757d Delta improvements
- Updates resumable-request to 1.0.1
- Updates docker-progress to 2.0.3
- Removes `DEFAULT_DELTA_APPLY_TIMEOUT`; it’s not needed anymore, docker-delta reliably tracks rsync.
- Properly end the update when applying the delta results in an error.

Change-Type: patch
2017-10-17 10:43:12 +03:00
resin-io-versionbot[bot]
fc3bbce03b v6.3.3 2017-10-17 07:05:14 +00:00
Akis Kesoglou
4b5a1443fe Update docker-progress to improve identification of Balena
Change-Type: patch
2017-10-16 17:46:34 +03:00
resin-io-versionbot[bot]
06b2d09529 v6.3.2 2017-10-11 18:02:42 +00:00
resin-io-versionbot[bot]
ed0a06f974 v6.3.1 2017-10-04 19:25:31 +00:00
Akis Kesoglou
7846a17616 Update docker-progress
The updated version adds more accurate progress reporting when the underlying engine is resin-os/docker (AKA Balaena)

Change-Type: patch
2017-10-04 18:53:44 +03:00
resin-io-versionbot[bot]
79cccb1fe1 v6.3.0 2017-10-03 11:29:17 +00:00
Akis Kesoglou
4744a8957c Update docker-progress
The updated version adds compatibility with resin-os/docker for reporting progress when pulling images.

Change-Type: minor
2017-10-03 12:27:39 +03:00
resin-io-versionbot[bot]
62140b1a38 v6.2.9 2017-09-15 19:50:10 +00:00
resin-io-versionbot[bot]
a2bdfdbed3 v6.2.8 2017-09-12 01:34:50 +00:00
resin-io-versionbot[bot]
2924a05be3 v6.2.7 2017-09-01 23:57:38 +00:00
resin-io-versionbot[bot]
507506920a v6.2.6 2017-08-29 19:56:51 +00:00
Pablo Carranza Velez
9cc2e47e70 Add a sync.js script to allow syncing a running supervisor container on a local device
This handy tool uses the resin-sync module to rsync javascript changes into the running container
on a device in the local network. It allows rapid iterations when testing the supervisor on a real device.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-08-29 08:24:46 -07:00
resin-io-versionbot[bot]
3ed7687bf2 v6.2.5 2017-08-28 22:02:50 +00:00
resin-io-versionbot[bot]
3211d170ca v6.2.4 2017-08-28 20:04:36 +00:00
Pablo Carranza Velez
5a369170c6 Update docker-progress to v2.6.3
2.6.2 has a serious bug which causes the js file to not be included in the published package.
Webpack gave us an unexpected workaround because it will add the .coffee file anyways, but we should
still update to the fixed version.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-08-28 10:02:50 -07:00
resin-io-versionbot[bot]
8fe016362d v6.2.3 2017-08-26 08:04:47 +00:00
resin-io-versionbot[bot]
282a9e38e6 v6.2.2 2017-08-25 18:42:28 +00:00
resin-io-versionbot[bot]
12e9253de6 v6.2.1 2017-08-18 21:52:43 +00:00
resin-io-versionbot[bot]
4875c79703 v6.2.0 2017-08-16 08:48:18 +00:00
Akis Kesoglou
1412785886 Try to resume the download of a delta if it fails due to flaky network
Applying a delta update consists of two parts:

1. The request to the delta server for the delta payload (an rsync batch file, plus some prepended Docker metadata). The response is a redirect to a URL that contains the delta (currently S3).
2. The request for the actual download of the delta. The response is streamed directly to rsync, which applies it onto the mounted root filesystem of the final image.

The first step may take a while as it may trigger the generation of the delta if the request is the first one for this combination of src/dest image and the images are large. If the request times out, either because of the delta server taking too long to respond or bad network, the Supervisor automatically schedules a retry to be performed after a while.

Currently, similar behaviour applies to the second step as well -- if the request fails, we immediately bail out and the Supervisor schedules a retry of the whole process (i.e. from step 1). But in this case it means we might have downloaded and applied some or most of the delta when a socket timeout occurs causing us to start all over again, wasting time and bandwidth.

This commit splits the process into the two discreet steps and improves the behaviour on the second step. Specifically:

- makes the Supervisor try to resume the delta download request several times before it bails out and starts the process all over again.
- removes arbitrary timeout which applied over the whole process and meant some deltas would never manage to be applied (because of large delta size and low network bandwidth).
- makes sure any launched rsync processes always exit and any opened streams consumed and closed.

Most of the improvements are in the two dependencies linked below -- `resumable-request` and `node-docker-delta` -- and this commit merely combines the updated versions of these modules.

Change-Type: minor
Connects-To: #140
Depends-On: https://github.com/resin-io/node-docker-delta/pull/19
Depends-On: https://github.com/resin-io-modules/resumable-request/pull/2
2017-08-09 11:55:22 +03:00
resin-io-versionbot[bot]
24a23dece2 v6.1.4 2017-08-07 22:32:59 +00:00
resin-io-versionbot[bot]
4d2c381e23 v6.1.3 2017-08-03 20:45:06 +00:00
resin-io-versionbot[bot]
fdc7d49e18 v6.1.2 2017-07-27 23:59:50 +00:00
resin-io-versionbot[bot]
902e31f1c0 v6.1.1 2017-07-27 18:07:56 +00:00
resin-io-versionbot[bot]
0f491c1a98 v6.1.0 2017-07-27 14:45:11 +00:00
Pablo Carranza Velez
7aedd7062d Update docker-delta to 1.1.1, docker-toolbelt to 3.0.1, docker-progress to 2.6.0 to add support for deltas and overlay2
This makes the Async suffix for docker functions unnecessary. It also allows us to remove dockerode as an
explicit dependency.

Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-27 01:48:35 -03:00
resin-io-versionbot[bot]
6978465ca8 v6.0.5 2017-07-27 04:06:14 +00:00
Pablo Carranza Velez
f5f8ca6df2 Allow building the supervisor source without optimizations for easier debugging with dindctl
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-26 20:30:51 -03:00
resin-io-versionbot[bot]
097262878d v6.0.4 2017-07-26 18:47:54 +00:00
resin-io-versionbot[bot]
b6742851f2 v6.0.3 2017-07-25 20:09:26 +00:00
resin-io-versionbot[bot]
7ee2d48706 v6.0.2 2017-07-24 20:03:30 +00:00
resin-io-versionbot[bot]
2594ffee08 v6.0.1 2017-07-12 03:06:42 +00:00
Pablo Carranza Velez
1790939046 Use webpack to join all modules
This saves around 13MB in the resulting uncompressed docker image.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-11 14:01:16 -07:00
resin-io-versionbot[bot]
9b72451b4c v6.0.0 2017-07-07 18:03:13 +00:00
resin-io-versionbot[bot]
933515db79 v5.1.1 2017-07-04 18:33:42 +00:00
resin-io-versionbot[bot]
14e31857e3 v5.1.0 2017-07-01 08:47:33 +00:00
resin-io-versionbot[bot]
bff29c2f72 v5.0.2 2017-07-01 05:59:48 +00:00
resin-io-versionbot[bot]
28f1d29d64 v5.0.1 2017-07-01 03:01:26 +00:00
resin-io-versionbot[bot]
2097c5cc85 v5.0.0 2017-06-26 22:26:16 +00:00
Pablo Carranza Velez
597a2c6b65 Remove the undocumented and unused sideload and compose APIs
This allows us to also remove a few npm dependencies and the docker compose binary.

Change-Type: major
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-26 13:08:52 -07:00
resin-io-versionbot[bot]
e487ca4d51 v4.5.0 2017-06-26 17:20:31 +00:00
Pablo Carranza Velez
536ef458c9 Update docker-delta to 1.0.3 to support docker 17
Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-26 07:54:43 -07:00
resin-io-versionbot[bot]
0829260c17 v4.4.2 2017-06-26 14:05:37 +00:00
resin-io-versionbot[bot]
bd997b4ea6 v4.4.1 2017-06-24 01:24:14 +00:00
resin-io-versionbot[bot]
a5d6df6284 v4.4.0 2017-06-15 05:05:06 +00:00
resin-io-versionbot[bot]
d6d51678a3 v4.3.2 2017-06-14 09:09:14 +00:00
resin-io-versionbot[bot]
efa9c41917 v4.3.1 2017-06-13 16:26:13 +00:00
resin-io-versionbot[bot]
085793b4d3 v4.3.0 2017-06-05 23:48:38 +00:00
resin-io-versionbot[bot]
e26bf361d3 v4.2.4 2017-05-12 22:26:44 +00:00
resin-io-versionbot[bot]
cefd18c4b8 v4.2.3 2017-05-11 19:18:00 +00:00
Pablo Carranza Velez
0799fc1173 4.2.2
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-04-27 21:19:36 -07:00
Pablo Carranza Velez
c251de1cd3 Only delete the provisioning key if the supervisor is running on an OS that supports using the deviceApiKey
This avoids problems when updating the supervisor on an older OS, where the VPN and other
host services still require config.json to have an apiKey field to authenticate.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-04-27 13:31:25 -07:00
Pagan Gazzard
8a1d17a697 4.2.1 2017-04-26 15:14:39 -07:00
Pagan Gazzard
6a7ff91180 4.2.0 2017-04-24 12:59:38 -07:00
Pagan Gazzard
477184d72d Add handling for duplicate UUIDs and key exchanging for old user-api-keys
Change-Type: minor
2017-04-20 21:37:27 -07:00
Pagan Gazzard
03ec97ab8d Change to the new device registration method to exchange our provisioning key with a dedicated api key for the device.
Change-Type: minor
2017-04-20 21:37:27 -07:00
Pablo Carranza Velez
d2c5ca4fdb 4.1.2
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-04-10 14:23:56 -07:00
Pablo Carranza Velez
dbd4c62f29 4.1.1
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-03-30 14:14:32 -03:00
Pablo Carranza Velez
d9b421a574 4.1.0
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-03-29 12:43:53 -03:00
Andreas Fitzek
ff01d27b7a Authentication credentials for registry and delta server
Hand over authentication credentials to the docker engine
Fetch an access token from the API if possible and hand it over to the delta server

Change-Type: minor
Signed-off-by: Andreas Fitzek <andreas@resin.io>
2017-03-29 01:11:16 +02:00
Pablo Carranza Velez
4c2d2b8256 4.0.0
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-03-09 20:21:01 -03:00
Pablo Carranza Velez
3b5906a307 3.0.1 2017-02-15 17:52:15 -08:00
Pablo Carranza Velez
1e2d3d1af7 3.0.0
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-01-18 14:27:44 -03:00
Pablo Carranza Velez
6a94782a1d Update versionist to v2.8.0
Also remove versionist.conf.js as it's no longer necessary (versionist now
defaults to its internal versionist.conf).

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-01-16 22:41:28 -03:00
Pablo Carranza Vélez
6ab2b45104 Merge pull request #370 from resin-io/359-kmod-only-in-resinos1
[Breaking] Do not bind mount kmod if the host is not Resin OS 1.X
2017-01-16 12:51:08 -03:00
Pablo Carranza Velez
c2544afe47 Update docker-progress to v2.3.3
Closes #374

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-01-12 15:51:37 -03:00
Pablo Carranza Velez
458add1759 Do not bind mount kmod if the host is not Resin OS 1.X
Resin OS 2.X removes the use of compressed modules, which was the initial
motivation for us to bind mount kmod into user containers (as Debian distros
don't include support for compressed modules).

This is a breaking change, but we still keep bind mounting on devices that are
on 1.X to ensure we don't break apps currently relying on the feature.

Implementation note: some functions in device.coffee have been refactored to
extract (DRY) a memoization procedure for Promise-returning functions.
`device.getOSVersion()` now also memoizes its result.

Change-Type: major
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-01-04 18:48:45 -03:00
Pablo Carranza Velez
e419ea32d2 2.9.0
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2016-12-20 21:09:20 -03:00
Pablo Carranza Velez
dd708ac3f9 Bump docker-delta to v1.0.1 to fix deltas on aufs when there's many layers
Fixes #355
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2016-12-20 17:48:38 -03:00
Pablo Carranza Velez
68e89fbded 2.8.5
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2016-12-20 15:10:19 -03:00
Pablo Carranza Velez
5ca6c30d4d 2.8.4
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2016-12-16 19:00:11 -03:00
Pablo Carranza Velez
50b865737b Start using versionist for versioning and changelog
We use the default versionist configuration.
Changelog has been edited to match the versionist format as much as possible.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2016-12-15 19:14:07 -03:00
Pablo Carranza Velez
40675b6f10 2.8.3 2016-12-01 11:20:13 -03:00
Pablo Carranza Velez
2b4c674a1a 2.8.2 2016-11-07 03:27:45 -03:00
Pablo Carranza Velez
58fb5c0a06 2.8.1 2016-10-31 03:50:09 +00:00
Pablo Carranza Velez
3a86d8ec48 2.8.0 2016-10-30 21:51:25 -03:00
Pablo Carranza Velez
6077f1add4 Update request-progress to v2.0.1 2016-10-25 16:29:53 -03:00
Pablo Carranza Velez
ad1a78cdf4 2.7.1 2016-10-24 16:27:31 -03:00
Pablo Carranza Velez
ec875004d6 Add some missing details to package.json 2016-10-23 21:04:40 -03:00
Pablo Carranza Velez
5f74ce6fec 2.7.0 2016-10-23 20:17:29 -03:00
Pablo Carranza Velez
22747fe9d9 Upgrade docker-progress to v2.3.1 2016-10-22 11:27:38 -03:00
Pablo Carranza Velez
d6aead1bad AUFS support and dependent app assets improvement:
* Use appId in dependent app assets tar path, and only create the tar if it doesn't exist
* Support AUFS by upgrading node-docker-delta to 1.0.0 and docker-toolbelt to 1.3.0
2016-10-21 16:37:57 -03:00
Pablo Carranza Velez
95d060757f 2.6.3 2016-10-13 18:08:59 -03:00
Pablo Carranza Velez
d011e545c5 2.6.2 2016-10-11 17:06:02 -03:00
Pagan Gazzard
158ce2810c Update knex to ~0.12.3 2016-10-11 12:04:28 -07:00
Pablo Carranza Velez
6349c692f0 2.6.1 2016-10-11 13:05:20 -03:00
Pablo Carranza Velez
c79aa28a82 2.6.0 2016-10-10 22:01:00 +00:00
Pagan Gazzard
969d714baf Update to bluebird 3 2016-10-10 12:49:54 -07:00
Petros Angelatos
1c1746fc9a 2.5.2
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-10-07 16:52:12 -07:00
Pagan Gazzard
b2ec2d2a85 Update to pinejs-client 2 2016-10-06 15:03:15 -07:00
Pablo Carranza Velez
8f52a8c7c2 2.5.1 2016-10-06 11:57:06 +00:00
Pagan Gazzard
5c10644df7 Update to lodash 4 2016-10-05 23:03:12 +00:00
Pagan Gazzard
108ed9927d Update to coffeescript 1.11 2016-10-05 15:46:20 -07:00
Pablo Carranza Velez
ddaa9f12db Use getRegistryAndName from docker-toolbelt 1.2.0 2016-10-04 14:43:45 -03:00
Pablo Carranza Velez
8ff8d0a7c0 2.5.0 2016-10-01 00:29:57 -03:00
Pablo Carranza Velez
2968e84135 2.4.0 2016-09-30 19:23:55 -03:00
Pablo Carranza Velez
a97342bf9c 2.3.0 2016-09-26 20:32:57 +00:00
Kostas Lekkas
b5fc0df066 Bump node-docker-delta to 0.0.12 2016-09-26 12:00:08 -03:00
Pablo Carranza Velez
b368ccfd3a 2.2.1 2016-09-26 11:59:36 -03:00
Kostas Lekkas
c2f332fc62 2.2.0 2016-09-23 17:38:08 +03:00
Petros Angelatos
fd44a92782 don't install coffeescript in runtime image
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-14 01:38:37 +00:00
Petros Angelatos
eee400f39f integrate with busybox init system
busybox's init uses /etc/inittab for configuration just like sysvinit,
however it doesn't use any runlevels.

the tty part of inittab is appended to "/dev/", and it becomes connected
to the stdout of the spawned process

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-14 01:38:35 +00:00
Petros Angelatos
488ca41621 build: implement multi-Dockerfile build process
This build strategy lends itself to how Rockerfiles work. In the build
Dockerfile all the build utilities (e.g gcc, python) are installed and
run the build process to produce some build artifacts. There are two
build Dockerfiles, one for the nodejs part and one for the golang part.
The build artifacts of these are combined into the runtime Dockerfile.
For all this to work there is some minimal glue implemented in the
Makefile.

Part of this commit is a switch of the base image the runtime is based
on to the minimal OpenEmbedded one produced by #198

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-14 01:38:35 +00:00
Pablo Carranza Velez
f20947c2d2 2.1.1 2016-09-09 09:24:04 -03:00
Pagan Gazzard
ebec23d0d8 Update to coffee-script ~1.10.0 2016-09-08 11:58:12 -07:00
Pablo Carranza Velez
99bd85e938 2.1.0 2016-09-05 17:59:44 +00:00
Pablo Carranza Velez
de1f6a8f67 2.0.0 2016-08-31 18:16:49 +00:00
Pablo Carranza Velez
6de51543a5 1.14.0 2016-08-16 21:02:30 +00:00
Pablo Carranza Velez
211560472a 1.13.2 2016-08-09 15:23:27 -03:00
Petros Angelatos
d6a7608374 1.13.1 2016-07-28 17:45:43 -07:00
Petros Angelatos
92d7ffbf04 1.13.0 2016-07-27 02:55:18 -07:00
Petros Angelatos
f39ab4b0c8 add missing rimraf package
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-07-26 21:27:36 -07:00
Pablo Carranza Velez
54288f036a Improve the docker compose API
- Validate the options in the YAML file
- Define bind mounts for each service as in Resin apps
- Keep the modified compose file inside the supervisor's /data folder
- Fix error reporting in the first stage of "up"
2016-07-22 23:17:25 -03:00
Pablo Carranza Velez
102eb460db Use log-timestamp to add timestamps to logs 2016-07-18 14:01:16 +00:00
Pablo Carranza Velez
427a19f2ca 1.12.2 2016-07-15 23:56:09 +00:00
Pablo Carranza Velez
5f926faa70 Bind mount kmod if the container is debian or raspbian
Use docker-toolbelt module.
The bind mount is read-only.
2016-07-15 20:46:09 +00:00
Pablo Carranza Velez
819428850f 1.12.1 2016-07-08 14:02:06 -03:00
Pablo Carranza Velez
9d97aaf30c 1.12.0 2016-06-28 17:50:12 +00:00
Pablo Carranza Velez
4278b6baf1 Add endpoints for docker-compose up and down 2016-06-24 21:08:46 +00:00
Pagan Gazzard
548c9ff12b 1.11.6 2016-06-23 16:16:45 -07:00
Petros Angelatos
f745d2cdb4 update docker-delta to fix deltas on old docker daemons
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-06-23 16:09:48 -07:00
Pagan Gazzard
9c64a6e917 1.11.5 2016-06-23 13:21:06 -07:00
Pablo Carranza Velez
ac9e027b22 1.11.4 2016-06-17 18:24:21 +00:00
Kostas Lekkas
c53f96edcc Merge pull request #171 from resin-io/170-linting
Linting
2016-06-17 17:56:19 +03:00
Kostas Lekkas
a456a7b1ff Add resin-lint and "lint" npm script 2016-06-16 18:10:20 +03:00
Petros Angelatos
ff97ecb756 bump node-docker-delta version to 0.0.10
this version fixes the issue where failed attempts to apply the delta
result in a lot of docker images on the disk, which could also
potentially lead to out of space issues

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-06-16 08:42:36 +00:00
Pablo Carranza Velez
d88e7d7d36 1.11.3 2016-06-11 12:22:51 -03:00
Pablo Carranza Velez
a8677a4401 Add listener for container events and reattach on restart 2016-06-11 11:55:22 -03:00
Pablo Carranza Velez
f69e635196 1.11.2 2016-06-10 16:45:13 -03:00
Petros Angelatos
573cf31514 fix delta error handling by listening for the 'error' event
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-06-10 19:19:23 +00:00
Pablo Carranza Velez
1b7c91a791 1.11.1 2016-06-09 11:17:07 -03:00
Pablo Carranza Vélez
d069ce35e6 Merge pull request #161 from resin-io/fix-alpine-postinstall-sh
Use sh for postinstall as alpine has no bash
2016-06-09 11:11:32 -03:00
Petros Angelatos
d906786d58 update docker-delta to latest version
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-06-09 06:58:40 +00:00
Pablo Carranza Velez
1a1e1b5e8b Use sh for postinstall as alpine has no bash
Remove pipefail from postinstall.sh and use POSIX comparison
2016-06-07 15:44:28 -03:00
Pablo Carranza Velez
30457c0e0f 1.11.0 2016-06-07 13:01:38 -03:00
Pablo Carranza Velez
a6466b93aa 1.10.1 2016-06-07 11:30:44 -03:00
Petros Angelatos
20419bee3b Switch to docker-delta library to use deltas v2
This npm library implements the new delta format and also works with
docker 1.10.

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-06-04 01:04:34 +00:00
Alexios Theodoros Brezas
932af53913 1.10.0 2016-05-26 17:49:40 +03:00
Alexios Theodoros Brezas
cba5f1c651 update docker progress to fix progress bars in docker v1.10 2016-05-26 17:46:37 +03:00
Pablo Carranza Velez
fa33cd72e1 1.9.0 2016-05-24 00:06:36 -03:00
Pablo Carranza Velez
ed7b936fee Use buffer-equal-constant-time to evaluate apikey 2016-05-23 23:59:45 -03:00
Trong Nghia Nguyen
7ff638585c Add alpine supervisor build info 2016-05-17 11:59:39 +07:00
Kostas Lekkas
efa7d7b93c 1.8.0 2016-04-25 16:39:42 +03:00
Pagan Gazzard
135365cf37 Remove the old terminal code, since it has been replaced by v2 which does not require supervisor support. 2016-04-15 23:36:28 +01:00
Alexios Theodoros Brezas
1b76b8ae45 1.7.0 2016-03-28 10:30:30 +01:00
Pablo Carranza Velez
eb301cc4c7 1.6.1 2016-03-08 15:31:48 +00:00
Pablo Carranza Velez
1f89f01a23 1.6.0 2016-02-22 14:38:15 -03:00
Pablo Carranza Velez
9965bfeca1 1.5.0 2016-02-09 10:28:11 -03:00
Pablo Carranza Velez
27e8e3c027 Update docker-progress and drop default port from repo tag 2016-01-28 11:08:42 -03:00
Pablo Carranza Velez
78f0df281b Replace dockersync.sh with node and dockerode stuff. Don't install docker. Add Dockerfile changes for armel. 2016-01-28 11:08:42 -03:00
Petros Angelatos
cbde944565 Implement rsync diff fetching method 2016-01-28 11:08:42 -03:00
Pablo Carranza Velez
0472ba1401 1.4.0 2016-01-28 11:04:36 -03:00
Pagan Gazzard
2bbea08938 Update pinejs-client 2016-01-14 16:30:02 +00:00
Pablo Carranza Velez
50b28b1102 1.3.2 2015-12-17 11:44:11 -08:00
Pablo Carranza Velez
3c8dce9bf4 1.3.1 2015-12-07 10:13:58 -08:00
Pablo Carranza Velez
b54087aec2 1.3.0 2015-12-01 10:10:40 -08:00
Pagan Gazzard
16a9cfa365 Switch to docker-progress for pull progress. 2015-11-10 17:29:22 +00:00
Pablo Carranza Vélez
2827719d9a 1.2.1 2015-11-04 13:28:06 -03:00
Pablo Carranza Vélez
605d72cbdc 1.2.0 2015-10-16 15:37:49 +00:00
Lorenzo Stoakes
91b6c1b808 1.1.1 2015-10-15 19:40:55 +01:00
Pablo Carranza Vélez
c1703ce97a 1.1.0 2015-10-13 13:45:08 -03:00
Pablo Carranza Vélez
98c9ee2c21 1.0.2 2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
3d82ea8249 1.0.1 2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
858d1097fe 1.0.0 2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
933af97faf 0.0.18 2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
6062658933 0.0.17 2015-10-13 13:45:06 -03:00
Pablo Carranza Vélez
8de173f6c3 Use crypto.randomBytes for API secret 2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
909e193cea Update resin-register-device to 2.0.0 2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
0bfd329ebc change the bootstrap process 2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
6f42fc2036 Try to do systemd calls in gosuper 2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
3da4dae190 Add systemd interface and reboot/shutdown endpoints 2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
c52c2c0bd9 First attempt at locking updates with files 2015-10-13 13:45:03 -03:00
Pagan Gazzard
fdf4f50691 0.0.16 2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
a57c723e8a Remove inotify and lint changes 2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
8642371094 Pause TCP Pings on VPN connection 2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
03299d77f5 API to pause TCP checks 2015-10-13 13:43:37 -03:00
Pablo Carranza Vélez
6d54e6663e Lock app restart, cleanup and better testing 2015-10-13 13:43:36 -03:00
Pagan Gazzard
397fd6872b 0.0.15 2015-10-13 13:43:35 -03:00
Pagan Gazzard
4fa84b1108 Update pubnub (latest version doesn't seem to have the heartbeat unnecessarily) 2015-10-13 13:43:35 -03:00
Pagan Gazzard
3ad47adce4 Fix an issue where an image would not be cleaned up if it was tagged in multiple repos. 2015-10-13 13:43:35 -03:00
Pagan Gazzard
d65f329cd5 Update pinejs-client so that valid ssl certificates are enforced by default. 2015-10-13 13:43:34 -03:00
Juan Cruz Viotti
aead4c7531 Make use of resin-register-device 2015-10-13 13:42:25 -03:00
Pagan Gazzard
f03df0b4ad 0.0.14 2015-10-13 13:39:39 -03:00
Pagan Gazzard
1ee3072c75 Force a newer bluebird so that we can rely on error properties also being available on the root error. 2015-10-13 13:39:39 -03:00
Pagan Gazzard
12542bf7d4 Update knexjs to 0.8.3 2015-10-13 13:39:39 -03:00
Pagan Gazzard
7bc0a7d869 0.0.13 2015-10-13 13:39:38 -03:00
Pagan Gazzard
c03658528c 0.0.12 2015-10-13 13:39:38 -03:00
Pagan Gazzard
099c13446a Switch to using the dockerode pull progress mechanism. 2015-10-13 13:39:38 -03:00
Pagan Gazzard
75e5a8302b 0.0.11 2015-10-13 13:39:38 -03:00
Pagan Gazzard
1787aa2a0f Update network-checker for a bugfix. 2015-10-13 13:39:38 -03:00
Pagan Gazzard
1400dae1e8 0.0.10 2015-10-13 13:39:38 -03:00
Pagan Gazzard
e0b8b4f05f Update to the latest tty.js 2015-10-13 13:39:37 -03:00
Pagan Gazzard
d0b48b7043 0.0.9 2015-10-13 13:39:37 -03:00
Pagan Gazzard
473337da63 0.0.8 2015-10-13 13:39:37 -03:00
Pagan Gazzard
d02883c013 Fix tty.js version, an updated version was released (with improvements), but then one of it's dependencies (by the same author) deleted from npm - so it can no longer be installed.. 2015-10-13 13:39:37 -03:00
Petros Angelatos
169df24ebf Bump version 2015-10-13 13:39:37 -03:00
Pagan Gazzard
c29e0720c6 Switch to monitoring if the host is reachable via tcp, rather than a using a full http request. 2015-10-13 13:39:09 -03:00
Pagan Gazzard
a97cd40b44 Close the tty.js server as well as the ngrok listener. 2015-10-13 13:39:08 -03:00
Pagan Gazzard
c8df0b2f9e Make use of the new cache feature of the request backend for pinejs-client 1.2.0 to make use of an ETags based cache for requests to the api. 2015-10-13 13:39:08 -03:00
Pagan Gazzard
6144ea3aeb Update to express ^4.0.0 2015-10-13 13:39:08 -03:00
Pagan Gazzard
e7335104f1 Remove unused dependency. 2015-10-13 13:39:08 -03:00
Petros Angelatos
7e81016b6f Bump version 2015-10-13 13:37:56 -03:00
Pagan Gazzard
62016866bc Update coffee-script to ~1.9.1 2015-10-13 13:37:56 -03:00
Pagan Gazzard
f20770d435 Update lodash to use ^ 2015-10-13 13:37:56 -03:00
Pagan Gazzard
a0495a2e20 Update JSONStream and event-stream. 2015-10-13 13:37:56 -03:00
Pagan Gazzard
73c7f29c65 Update pinejs-client to ^1.0.0 2015-10-13 13:37:53 -03:00
Pagan Gazzard
d31febee41 Fix dep name 2015-10-13 13:37:10 -03:00
Pagan Gazzard
8ca8f96f46 Switch to npm deps for blinking and network-checker 2015-10-13 13:37:08 -03:00
Pagan Gazzard
0d0ca4deda Switch to using resin/rpi-node and node images, making use of package.json caching. 2015-10-13 13:36:13 -03:00
Petros Angelatos
798b146f44 Bump version 2015-10-13 13:36:12 -03:00
Pagan Gazzard
1784c75c57 Add secret/apikey based authentication to the supervisor. 2015-10-13 13:36:12 -03:00
Pagan Gazzard
03f7b11c8b Update lodash to v3.0.0 2015-10-13 13:36:12 -03:00
Aleksis Brezas
f17402753f version 0.0.4 2015-10-13 13:36:12 -03:00
Pagan Gazzard
ac07a030e9 0.0.3 2015-10-13 13:29:42 -03:00
Pagan Gazzard
8ae6946fa1 Update to the latest knex and sqlite3. 2015-10-13 13:29:42 -03:00
Pagan Gazzard
ab44c79f62 Switch to using a separate module for network checking. 2015-10-13 13:29:42 -03:00
Pagan Gazzard
f0682b162a Switch to using a separate module for blinking. 2015-10-13 13:29:42 -03:00
Pagan Gazzard
6c81066796 Use ^ dependencies for request and bluebird. 2015-10-13 13:29:42 -03:00
Pagan Gazzard
f552afd7b8 Update coffeescript 2015-10-13 13:29:42 -03:00
Pagan Gazzard
0bd92fd5a5 Remove an unused dependency. 2015-10-13 13:29:42 -03:00
Pagan Gazzard
9c8eecfab8 0.0.2 2015-10-13 13:29:42 -03:00
Pagan Gazzard
df536f672f Update to pinejs-client-js v0.3.1 2015-10-13 13:28:00 -03:00
Pagan Gazzard
0b93c1ce2c Use typed-error for the disconnected error. 2015-10-13 13:27:59 -03:00
Pagan Gazzard
7f5052f274 Update resin-platform-api to v0.2.7
* now correctly returns rejected promises for non-2xx responses
* now defaults compression to on
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
0630d8051b Only try to copy the enter.sh if there is a /data directory. 2015-10-13 13:10:12 -03:00
Pagan Gazzard
1b0e364322 Enable spawning a tty.js tunnel. 2015-10-13 13:10:12 -03:00
Praneeth Bodduluri
e7216618ad Make Blinkable LED configurable + Move blink to utils + Check connectivity before bootstrap + Blink LED on loss of connection 2015-10-13 13:10:11 -03:00
Pagan Gazzard
ba5e186ebc Order the packages according to npm install --save 2015-10-13 13:08:23 -03:00
Pagan Gazzard
bf8922e2d9 Update bluebird to v2.2.2 2015-10-13 13:08:23 -03:00
Praneeth Bodduluri
be5a32187a User local accelerator if available 2015-10-13 13:06:43 -03:00
Praneeth Bodduluri
d5c9735525 club all removes into one line 2015-10-13 13:06:43 -03:00
Praneeth Bodduluri
f8e8acfe35 Properly remove the deployment key 2015-10-13 13:06:43 -03:00
Praneeth Bodduluri
53f3303abc Use the buildstep pushed to staging & Remove deploy_key 2015-10-13 13:06:42 -03:00
Petros Angelatos
1501cf3122 Integrate mixpanel 2015-10-13 13:06:42 -03:00
Page
a0f9219cb3 Initial version of self-updates, adds an "/v1/update-supervisor" endpoint that can be posted to in order to trigger a supervisor update, which it then fetches as the resin/rpi-supervisor repo of the registry endpoint. 2015-10-13 13:06:41 -03:00
Petros Angelatos
5caace400f Send logs through pubnub 2015-10-13 13:04:25 -03:00
Petros Angelatos
9325b258ae Combine scripts 2015-10-13 13:03:16 -03:00
Petros Angelatos
272daea89c Make supervisor deployable with resin 2015-10-13 13:03:16 -03:00
Page
1c209fa827 Compile all the coffee-script files once after installing, rather than on each run. 2015-10-13 13:01:25 -03:00
Page
bc0d981610 Use an app object throughout, rather than relying upon just the imageId, this is very useful for adding extra properties to the app when starting/etc (eg env vars/ports/etc) 2015-10-13 12:58:58 -03:00
Page
a5aaee107d Use the resin-platform-api to access the platform. 2015-10-13 12:58:57 -03:00
Page
2d6f0a7e6d Update bluebird and use the delay helper. 2015-10-13 12:58:57 -03:00
Page
e8e6490dd2 Update to coffee-script 1.7.1 2015-10-13 12:58:57 -03:00
Petros Aggelatos
ace3e45371 Use package.json to install native dependencies 2015-10-13 12:58:57 -03:00
Petros Aggelatos
e4de1453ce Correct engine syntax in package.json 2015-10-13 12:58:57 -03:00
Petros Aggelatos
cfe52ba7ec Use latest arm prebuilt node binary 2015-10-13 12:58:57 -03:00
Petros Aggelatos
0d50132702 Missing dependency 2015-10-13 12:58:56 -03:00
Petros Aggelatos
12b3e194b5 Run application when supervisor starts 2015-10-13 12:58:56 -03:00
Petros Aggelatos
de342a9209 Revamp/rewrite of supervisor as a docker application 2015-10-13 12:58:55 -03:00
Petros Aggelatos
5a071b35c9 Change the name to resin-supervisor 2015-10-13 12:58:55 -03:00
Petros Angelatos
6df6feb5ef Application now emits events on status changes 2013-07-21 15:33:46 +01:00
Petros Angelatos
999a0361a1 added the express server listening for blink requests 2013-07-20 03:57:51 +01:00
Spyros Ligouras
a3517c3516 now using node-posix 2013-07-19 03:45:02 +03:00
Spyros Ligouras
6ef6a77036 added getuid to dependencies 2013-07-19 02:28:48 +03:00
Petros Aggelatos
c7245f392d Add request to package.json 2013-07-18 14:34:45 +03:00
Petros Aggelatos
1cfb90a122 Add async to package.json 2013-07-18 14:31:40 +03:00
Petros Aggelatos
6e006a8915 Change the name to Haki 2013-07-16 22:56:43 +03:00
ligouras
ebe036e02a Reinit commit 2013-06-01 19:57:36 +01:00
Spyros Ligouras
e1622813aa Initial commit 2013-06-01 21:34:38 +03:00