Commit Graph

1259 Commits

Author SHA1 Message Date
resin-io-versionbot[bot]
f16c5d5e92 Auto-merge for PR #453 via VersionBot
When apiEndpoint is not defined, work in offline mode (plus fix mixpanel init)
2017-06-15 05:32:59 +00:00
resin-io-versionbot[bot]
a5d6df6284 v4.4.0 2017-06-15 05:05:06 +00:00
Pablo Carranza Velez
00b53bd03e When apiEndpoint is not defined, work in offline mode
The supervisor uses an `API_ENDPOINT` environment variable to define what API to register to. Up to now this has been defaulted to `https://api.resin.io`.
(In Resin OS devices this environment variable ultimately comes from config.json).
This commit changes the behavior so that an empty value of that environment variable causes the supervisor to work in "offline mode", i.e. not connected to a remote server.
Basically only preloaded apps and the supervisor API work in this mode.

The config.json `supervisorOfflineMode` field still works for backwards compatibility, but we'll treat it as deprecated and it should be removed eventually.

Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-14 12:57:47 -07:00
Pablo Carranza Velez
1e7bdad7a9 Fix mixpanel initialization when not in offline mode
The logic to disable mixpanel initialization in offline mode was inverted :S causing mixpanel
to *only* be initialized when in offline mode.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-14 12:48:29 -07:00
resin-io-versionbot[bot]
169c28fc03 Auto-merge for PR #445 via VersionBot
Update dependent device DB
2017-06-14 09:42:14 +00:00
resin-io-versionbot[bot]
d6d51678a3 v4.3.2 2017-06-14 09:09:14 +00:00
Joe Roberts
d4e3e45e52
Dependent device DB migrations 2017-06-14 09:27:47 +01:00
Joe Roberts
786874dbb6
Update dependent device DB
Change-type: patch
2017-06-14 09:27:47 +01:00
resin-io-versionbot[bot]
8da7bbb783 Auto-merge for PR #452 via VersionBot
Enable SSL when connecting to pubnub
2017-06-13 17:30:14 +00:00
resin-io-versionbot[bot]
efa9c41917 v4.3.1 2017-06-13 16:26:13 +00:00
Petros Angelatos
171460041f
enable SSL when connecting to pubnub
Fixes #451

Connected-to: pubnub/javascript#89
Change-Type: patch
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2017-06-13 19:13:09 +03:00
resin-io-versionbot[bot]
2b699851d4 Auto-merge for PR #447 via VersionBot
Switch to generating the BASE_IMAGE_VERSION in the makefile, so that the makefile targets can use an accurate version by default
2017-06-06 17:52:41 +00:00
resin-io-versionbot[bot]
085793b4d3 v4.3.0 2017-06-05 23:48:38 +00:00
Pagan Gazzard
a3649fa6ec Switch to generating the BASE_IMAGE_VERSION in the makefile, so that the makefile targets can use an accurate version by default
Fixes #422

Change-type: minor
2017-06-05 16:03:50 -07:00
resin-io-versionbot[bot]
17e51f9153 Auto-merge for PR #434 via VersionBot
Fix typo in how hostOSVersionPath was camel-cased
2017-05-12 22:58:10 +00:00
resin-io-versionbot[bot]
e26bf361d3 v4.2.4 2017-05-12 22:26:44 +00:00
Pablo Carranza Velez
08c5413413 Fix typo in how hostOSVersionPath was camel-cased
This was properly done in the recently added changes in bootstrap.coffee,
but all other references where using "Os" instead of "OS.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-05-11 13:06:38 -07:00
resin-io-versionbot[bot]
f04ace4ae1 Auto-merge for PR 433 via VersionBot
Properly handle errors when requesting deltas
2017-05-11 19:40:15 +00:00
resin-io-versionbot[bot]
cefd18c4b8 v4.2.3 2017-05-11 19:18:00 +00:00
Pablo Carranza Velez
cb0152c5ea Properly handle errors when requesting deltas
When requesting a delta, a `Promise.join` promise chain was producing unhandled
errors since it consisted in a separate promise chain from the parent function which,
was created with `new Promise`. This commit fixes this by creating the new Promise only
when it's needed, avoiding the creation of a separate promise chain.

Closes #432
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-05-08 15:05:42 -07:00
Page-
82dce6186d Merge pull request #428 from resin-io/dind-aufs-tools
Add aufs-tools to the dind supervisor for use when running on aufs
2017-04-28 00:35:59 -07:00
Pagan Gazzard
67b022e434 Add aufs-tools to the dind supervisor for use when running on aufs
Change-Type: patch
2017-04-27 23:43:46 -07: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 Vélez
ac2531368c Merge pull request #427 from resin-io/dont-update-deviceconfig-if-unchanged
Avoid writing target device config to DB if it hasn't changed
2017-04-27 21:18:38 -07:00
Pablo Carranza Vélez
00dc9e8654 Merge pull request #431 from resin-io/only-delete-apikey-if-os-supports-it
Only delete the provisioning key if the supervisor is running on an OS that supports using the deviceApiKey
2017-04-27 21:17:53 -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
Pablo Carranza Velez
e36fa601ad Avoid writing target device config to DB if it hasn't changed
This helps avoid unnecessary writes to the DB which may cause disk wearout.

We also change the error message in this section to show that the error might have happened
when fetching the device config as much as when setting it.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-04-27 09:42:41 -07:00
Pagan Gazzard
8a1d17a697 4.2.1 2017-04-26 15:14:39 -07:00
Page-
111d32f94f Merge pull request #430 from resin-io/device-key-fixes
Device key fixes
2017-04-26 15:10:41 -07:00
Pagan Gazzard
42cd3a6b01 Fix an infinite loop that could happen when trying to bootstrap if the key exchange fails
Change-Type: patch
2017-04-26 13:54:15 -07:00
Pagan Gazzard
89ccb6480d Fix the case of being registered with a version of the cli/sdk that does not support device api keys.
Change-Type: patch
2017-04-26 13:52:43 -07:00
Pagan Gazzard
6a7ff91180 4.2.0 2017-04-24 12:59:38 -07:00
Page-
26fb0b4f64 Merge pull request #424 from resin-io/improve-key-exchange
Improve key exchange by first checking if an existing device api key is valid.
2017-04-24 12:42:51 -07:00
Pagan Gazzard
d31ee452d0 Deduplicate the device fetching logic 2017-04-24 12:09:50 -07:00
Pagan Gazzard
1002629a5e Improve key exchange by first checking if an existing device api key is valid. 2017-04-22 15:17:00 -07:00
Page-
fdcb5f3dff Merge pull request #224 from resin-io/new-device-registering
Use the new device registration endpoint
2017-04-22 14:58:19 -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 Vélez
2710a05d18 Merge pull request #417 from horia-delicoti/master
docs/API.md: Fix documentation command sent via the API proxy for POST /v1/update
2017-04-13 18:05:21 -07:00
Horia Delicoti
ff632e811c docs/API.md: Fix documentation command sent via the API proxy for POST /v1/update.
Change-Type: patch
Signed-off-by: Horia Delicoti <horia.delicoti@gmail.com>
2017-04-11 08:09:27 +02: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 Vélez
1dda2a5810 Merge pull request #421 from resin-io/420-memoize-then
Issue #420: Avoid supervisor crash without connection by properly memoizing promise-returning functions
2017-04-10 16:17:25 +02:00
Pablo Carranza Velez
4d322c72a0 Issue #420: Avoid supervisor crash without connection by properly memoizing promise-returning functions
device.getID caused a fatal error when connection was down, as the memoization with `promise: true` throws
synchronously. Changing memoizee to use `promise: 'then'` makes the memoization work as expected.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-04-05 14:51:26 -07:00
Pablo Carranza Vélez
962c5c138b Merge pull request #418 from resin-io/variant-report
Report the OS variant as a separate field and not as part of the OS version
2017-04-05 23:50:52 +02:00
Pablo Carranza Velez
0e288d75ab Report the OS variant as a separate field and not as part of the OS version
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-04-03 09:32:28 -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 Vélez
583344dc1d Merge pull request #415 from resin-io/413-fix-bw-control
Issue #413: Fix an error applying the connectivity check config var
2017-03-30 14:13:26 -03:00
Pablo Carranza Velez
99c9b96ed3 Issue #413: Fix an error applying the connectivity check config var
There was a ReferenceError from a leftover variable, introduced in #398.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-03-30 12:04:38 -03:00
Pablo Carranza Vélez
d139f9d21c Merge pull request #411 from resin-io/410-cleanup-when-locked
Issue #410: Cleanup images when the update lock is set
2017-03-30 12:03:54 -03:00
Pablo Carranza Velez
5412e766da Issue #410: Cleanup images before running an update, preserving the ones that will be used in the target state
We add an extra image/container cleanup before applying updates, allowing any unwanted images to be deleted.
When doing this, we take care not to delete images that will be used when the target state is applied.

This prevents the problem of stale images being stored while the update lock is set, potentially
leaving the device out of space.

Running the cleanup *before* applying the update ensures that only one target image is downloaded: if a stale one
had been downloaded previously, it will be deleted before starting the update for the new one. This can have a slight
impact on delta performance, since the delta is potentially done from an older (and more different) version of the app,
but can have a big impact on storage usage, as not doing this would duplicate the required free storage space when
the update lock is set.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-03-29 16:50:12 -03:00