Commit Graph

1359 Commits

Author SHA1 Message Date
f16c5d5e92 Auto-merge for PR #453 via VersionBot
When apiEndpoint is not defined, work in offline mode (plus fix mixpanel init)
v4.4.0
2017-06-15 05:32:59 +00:00
a5d6df6284 v4.4.0 2017-06-15 05:05:06 +00:00
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
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
169c28fc03 Auto-merge for PR #445 via VersionBot
Update dependent device DB
v4.3.2
2017-06-14 09:42:14 +00:00
d6d51678a3 v4.3.2 2017-06-14 09:09:14 +00:00
d4e3e45e52 Dependent device DB migrations 2017-06-14 09:27:47 +01:00
786874dbb6 Update dependent device DB
Change-type: patch
2017-06-14 09:27:47 +01:00
8da7bbb783 Auto-merge for PR #452 via VersionBot
Enable SSL when connecting to pubnub
v4.3.1
2017-06-13 17:30:14 +00:00
efa9c41917 v4.3.1 2017-06-13 16:26:13 +00:00
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
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
v4.3.0
2017-06-06 17:52:41 +00:00
085793b4d3 v4.3.0 2017-06-05 23:48:38 +00:00
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
17e51f9153 Auto-merge for PR #434 via VersionBot
Fix typo in how hostOSVersionPath was camel-cased
v4.2.4
2017-05-12 22:58:10 +00:00
e26bf361d3 v4.2.4 2017-05-12 22:26:44 +00:00
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
f04ace4ae1 Auto-merge for PR 433 via VersionBot
Properly handle errors when requesting deltas
v4.2.3
2017-05-11 19:40:15 +00:00
cefd18c4b8 v4.2.3 2017-05-11 19:18:00 +00:00
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
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
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
0799fc1173 4.2.2
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
v4.2.2
2017-04-27 21:19:36 -07:00
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
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
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
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
8a1d17a697 4.2.1 v4.2.1 2017-04-26 15:14:39 -07:00
111d32f94f Merge pull request #430 from resin-io/device-key-fixes
Device key fixes
2017-04-26 15:10:41 -07:00
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
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
6a7ff91180 4.2.0 v4.2.0 2017-04-24 12:59:38 -07:00
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
d31ee452d0 Deduplicate the device fetching logic 2017-04-24 12:09:50 -07:00
1002629a5e Improve key exchange by first checking if an existing device api key is valid. 2017-04-22 15:17:00 -07:00
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
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
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
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
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
d2c5ca4fdb 4.1.2
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
v4.1.2
2017-04-10 14:23:56 -07:00
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
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
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
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
dbd4c62f29 4.1.1
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
v4.1.1
2017-03-30 14:14:32 -03:00
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
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
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
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