Commit Graph

1687 Commits

Author SHA1 Message Date
resin-io-versionbot[bot]
191bc733f9 v6.6.1 2018-01-19 14:47:16 +00:00
Pablo Carranza Velez
556114659e README.md: Capitalization and other fixes
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-19 11:18:41 -03:00
Pablo Carranza Velez
45b2fcef1b Improve caching in dindctl build and update README
The change in dindctl build uses automation/build.sh to pull intermediate images to improve caching. Sometimes it works to avoid
a full base image build...

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-19 11:18:41 -03:00
resin-io-versionbot[bot]
7e04b4aec0
Auto-merge for PR #547 via VersionBot
Implement an API for proxy and hostname configuration, and centralize…
2018-01-18 22:28:24 +00:00
resin-io-versionbot[bot]
4b28c11a67 v6.6.0 2018-01-18 22:13:23 +00:00
Pablo Carranza Velez
0e7bb77c41 docs: clarify that open connections will not be closed when configuring a proxy, and change all proxy API examples to use uuid
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-18 19:07:00 -03:00
Pablo Carranza Velez
0960d947ed Add documentation for the /v1/device/host-config endpoint
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-18 18:28:05 -03: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]
122b55fbe5
Auto-merge for PR #544 via VersionBot
Fix saving deviceApiKey to the DB (to fix the RESIN_API_KEY env var)
2018-01-12 15:59:32 +00:00
resin-io-versionbot[bot]
c11cae4777 v6.5.9 2018-01-12 15:43:08 +00:00
Pablo Carranza Velez
968d3ce1e3 Fix saving deviceApiKey to the DB (to fix the RESIN_API_KEY env var) when updating from some older supervisors
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-12 11:53:54 -03:00
resin-io-versionbot[bot]
17017936ce
Auto-merge for PR #543 via VersionBot
Update docker-toolbelt to v3.2.1 to fix a bug in deltas
2018-01-10 18:06:53 +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]
e62da15859
Auto-merge for PR #541 via VersionBot
Avoid problems with null app names or invalid container names when migrating from old supervisors
2018-01-05 15:54:07 +00:00
resin-io-versionbot[bot]
2fb86421ab v6.5.7 2018-01-05 15:39:11 +00:00
Pablo Carranza Velez
8fac5c0e32 Avoid problems with null app names or invalid container names when migrating from old supervisors
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-01-05 11:10:41 -03:00
resin-io-versionbot[bot]
91b6a1fd48
Auto-merge for PR #528 via VersionBot
update-locking: updating the documentation with extra  information and tools
2017-12-15 19:57:48 +00:00
resin-io-versionbot[bot]
eaaed9a770 v6.5.6 2017-12-15 19:43:58 +00:00
Gergely Imreh
343aaa7a09
update-locking: updating the documentation with extra information and tools
Change-type: patch
2017-12-15 13:29:20 +00:00
resin-io-versionbot[bot]
54bd8d63f7
Auto-merge for PR #533 via VersionBot
Update resin-sync to allow syncing to devices that use balena
2017-12-14 21:21: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]
92adc09633
Auto-merge for PR #539 via VersionBot
Do the webpack build in an amd64 image to improve build times
2017-12-14 11:41:37 +00:00
resin-io-versionbot[bot]
e80c9af3c7 v6.5.4 2017-12-14 11:18:40 +00:00
Pablo Carranza Velez
64372e9cc9 Do the webpack build in an amd64 image to improve build times
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-14 03:06:19 -08:00
resin-io-versionbot[bot]
f965db86b5
Auto-merge for PR #536 via VersionBot
gosuper: When getting IP addresses, ignore balena and the resin-dns bridge
2017-12-12 10:47:12 +00:00
resin-io-versionbot[bot]
6d74408470 v6.5.3 2017-12-12 10:13:04 +00:00
Pablo Carranza Velez
c34454bbe1 gosuper: When getting IP addresses, ignore balena and the resin-dns bridge
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-12 00:36:27 -08:00
resin-io-versionbot[bot]
07a2b63f63
Auto-merge for PR #535 via VersionBot
Dockerfile: improve caching by installing devDependencies before copy…
2017-12-12 08:35:26 +00:00
resin-io-versionbot[bot]
3016ed569e v6.5.2 2017-12-12 08:05:31 +00:00
Pablo Carranza Velez
12ab5c16ea Dockerfile: improve caching by installing devDependencies before copying the code
This should help avoid having to run the npm install for devDependencies (which are actually most of the modules)
every time there's a change in the code.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-11 12:44:08 -08:00
resin-io-versionbot[bot]
b000c0c9ee
Auto-merge for PR #534 via VersionBot
Avoid marking the supervisor as unhealthy if update is not happening …
2017-12-11 20:38:32 +00:00
resin-io-versionbot[bot]
1685eec390 v6.5.1 2017-12-11 20:00:12 +00:00
Pablo Carranza Velez
4b96ccbcc2 Avoid marking the supervisor as unhealthy if update is not happening because it's in offline mode
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-11 11:03:04 -08:00
resin-io-versionbot[bot]
03da927b08
Auto-merge for PR #530 via VersionBot
Add a /v1/healthy endpoint that fails if the supervisor is unhealthy,…
2017-12-11 09:41:02 +00:00
resin-io-versionbot[bot]
d01fb0514b v6.5.0 2017-12-11 09:07:17 +00:00
Pablo Carranza Velez
54264e1b60 Measure time spent pulling images and substract it when considering the time between update cycles in the healthcheck
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-11 00:11:56 -08:00
Pablo Carranza Velez
9b4f912c7c Use the correct interface to compare times using process.hrtime to calculate time since last update cycle
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-11 00:11:56 -08:00
Pablo Carranza Velez
8484949a28 Fix config value for appUpdatePollInterval, and allow marking gosuper as healthy again after a failure
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-11 00:11:56 -08:00
Pablo Carranza Velez
a118609256 Add interval and options for the healthcheck
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-11 00:11:56 -08:00
Pablo Carranza Velez
95bbe6ea49 Add a /v1/healthy endpoint that fails if the supervisor is unhealthy, and a HEALTHCHECK command to the Dockerfile that uses it
We add an endpoint to the supervisor API that checks the following conditions to determine whether the supervisor is healthy:
* That the update cycle has run fully, in a time that's less than twice the poll interval. Unless we're downloading an image, in which case
we assume it's healthy (otherwise we'd get into the issue of determining a reasonable timeout for the image download, which is already done in a configurable way with delta options and the like).
* That the current state report to the Resin API hasn't failed more than 3 times. Unless the device has no connectivity, or the connectivity check is disabled, in which case we don't know
if the report failed simply because there's no network.
* That the gosuper component is working (since we periodically hit its API to get the IP addresses, we mark it as not working if this API call fails).

We need this endpoint to be unauthenticated for the docker daemon to be able to hit it (though, as the rest of the API, it is protected with iptables rules).

Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-11 00:11:56 -08:00
resin-io-versionbot[bot]
29616a6c29
Auto-merge for PR #532 via VersionBot
Avoid stopping the VPN until a remote target state has been fetched, …
2017-12-11 08:11:23 +00:00
resin-io-versionbot[bot]
3d3fdb1792 v6.4.9 2017-12-11 06:17:44 +00:00
Pablo Carranza Velez
f65822ba94 Use for own instead of _.forEach
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-10 21:52:03 -08:00
Pablo Carranza Velez
5a0042c33d Apply config.txt changes when the new config is empty, to fix deleting config.txt values
I realized we're not deleting config.txt entries because the function checked for the values to apply
not to be empty, instead of just checking if the *changes* are empty.

So this closes #450

(Still not a complete solution to config.txt issues, which will come with the multicontainer PR, but at least it's a step forward)

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-10 19:09:10 -08:00
Pablo Carranza Velez
e0d1d89419 Filter deviceConfig values that will be stored as current values to only include relevant keys
Otherwise, devices where we update from legacy supervisors might have other keys, like RESIN_SUPERVISOR_DELTA, stored in deviceConfig.values,
causing `_.isEqual(values, targetValues)` to always return false.

Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-10 18:54:08 -08:00
Pablo Carranza Velez
c05474b1a9 Always execute special actions if the value stored in memory doesn't match the target. And when storing target values, only store relevant ones
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-10 18:48:30 -08:00
Pablo Carranza Velez
8fc1a0935b Avoid stopping the VPN until a remote target state has been fetched, and retry applying config variables when they fail
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-12-08 00:16:34 -08:00
resin-io-versionbot[bot]
481888fc8b
Auto-merge for PR #529 via VersionBot
When listenPort is not specified, use 48484 as default
2017-12-01 21:05:26 +00:00