Commit Graph

776 Commits

Author SHA1 Message Date
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
72d0401403 Do not use parsed JSON to compare dep. device state 2016-10-11 12:13:14 -03:00
Pablo Carranza Velez
c79aa28a82 2.6.0 2016-10-10 22:01:00 +00:00
Pablo Carranza Velez
6feba39948 Fix docker utils getImageEnv by correctly parsing the returned array 2016-10-10 21:58:20 +00:00
Pablo Carranza Velez
2413f5cff1 Avoid installing npm dependencies twice 2016-10-10 21:55:56 +00:00
Pagan Gazzard
969d714baf Update to bluebird 3 2016-10-10 12:49:54 -07:00
Pablo Carranza Velez
feb97539ef Improvements in proxyvisor:
* Better parameter handling in PUT /v1/devices/:uuid
* An update hook response of 200 will cause the proxyvisor to stop pinging the hook
* Allow deleting dependent apps and devices
* Implement delete dependent device hook
* Omit some fields when responding with a device object
2016-10-10 18:16:16 +00:00
Pablo Carranza Velez
ceb5016fc3 Add validation to dependent device provisioning 2016-10-08 20:42:50 +00: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
Pablo Carranza Velez
c4e5d7afca Improvements on config and dependent device handling:
* Store config vars when there's nothing else to update
* Do not mark an update as failed if the hook failed
* When hitting the dependent devices hook, send appId as int
2016-10-05 23:21:29 +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
4785437ba8 Fixes in app restart behavior:
* Compare config vars to trigger an app restart
* In delete-then-download, only delete when a download is needed
2016-10-05 19:45:18 +00:00
Pablo Carranza Velez
3cbe56c978 Fix disabling logs to display on newer OS with different service name 2016-10-05 19:04:47 +00:00
Pablo Carranza Velez
503e043c4c In cleanup, normalize all image tags for comparison 2016-10-04 17:48:11 -03: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
a38e2e3a4a Changelog for the several dependent devices changes 2016-09-30 23:40:03 -03:00
Pablo Carranza Velez
2968e84135 2.4.0 2016-09-30 19:23:55 -03:00
Pablo Carranza Velez
e7acff0bcf On cleanup, force removal for images and containers, and remove container volumes 2016-09-29 19:34:19 -03:00
Pablo Carranza Velez
f385fe6bcc Add system logs for Shutdown, Reboot and Purge 2016-09-28 03:32:38 +00:00
Pablo Carranza Velez
a97342bf9c 2.3.0 2016-09-26 20:32:57 +00:00
Pablo Carranza Velez
4a99fd8803 Implement delete-then-download update strategy 2016-09-26 18:16:01 +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
Petros Angelatos
e12f289d9d build: fix multiple env var definition syntax
When an ENV command has multiple environment variables defined they
key/value should be separated by an equals sign, not by a space.

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-23 15:55:28 -07:00
Kostas Lekkas
c2f332fc62 2.2.0 2016-09-23 17:38:08 +03:00
Praneeth Bodduluri
81cb27a876 Add resin-vpn interface IP filtering to gosupervisor 2016-09-23 18:46:28 +05:30
Petros Angelatos
762ff2b498 add changelog entries
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-14 22:33:26 +00:00
Pablo Carranza Velez
16e2ec286e DRY up calls to gosuper API, and use empty Host header 2016-09-13 16:52:25 -03:00
Pablo Carranza Velez
f20947c2d2 2.1.1 2016-09-09 09:24:04 -03:00
Praneeth Bodduluri
2cc4b0fb46 Add iptables rules to allow resin-vpn named interface to be used by VPN 2016-09-09 17:41:35 +05:30
Pagan Gazzard
ebec23d0d8 Update to coffee-script ~1.10.0 2016-09-08 11:58:12 -07:00
Alexios Theodoros Brezas
12a4560518 Catch exec format error and provide friendlier message 2016-09-05 18:22:20 +00:00
Pablo Carranza Velez
99bd85e938 2.1.0 2016-09-05 17:59:44 +00:00
Theodor Gherzan
4d2fe03793 CHANGELOG.md: Sign
Signed-off-by: Theodor Gherzan <theodor@gherzan.ro>
2016-09-05 17:20:24 +00:00
Pablo Carranza Velez
de1f6a8f67 2.0.0 2016-08-31 18:16:49 +00:00
Pablo Carranza Velez
a8dd29cd82 Change the logger to send at a specific interval and with a different message format
Log messages to PubNub are now an array instead of an object.
Each element of the array is an object with m (message), t (timestamp) and s (isSystem, optional) attributes.
Logs are sent at a specific interval (110ms, fit with some margin to PubNub's approximated 10 messages/s limit), and truncated to PubNub's 32KB limit.
2016-08-29 19:03:06 -03:00
Pablo Carranza Velez
6de51543a5 1.14.0 2016-08-16 21:02:30 +00:00
Pablo Carranza Velez
1eb63366ee Allow using an HTTP header for auth 2016-08-16 20:39:55 +00:00
Pablo Carranza Velez
72369ca0be Changelog for iptables rules 2016-08-16 20:35:04 +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
5ee15e664e utils: allow specifying links in compose files
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-07-28 17:45:16 -07:00
Petros Angelatos
92d7ffbf04 1.13.0 2016-07-27 02:55:18 -07:00
Pablo Carranza Velez
98d9aca92d Allow the supervisor to work in offline mode
A supervisorOfflineMode true-ish attribute in config.json will cause that:
* If unprovisioned, the supervisor won't try to provision on Resin
* The update cycle will not start as the device won't consider itself provisioned
* Logs will not be sent to pubnub
* Mixpanel events won't be tracked
* The device state won't be updated to the Resin API

This change will also make the Supervisor API work with an unprovisioned device.
2016-07-23 14:04:24 +00:00
Kostas Lekkas
761a0cbd82 Fix double-printed logs after container restart 2016-07-21 22:39:19 +03:00
Pablo Carranza Velez
0609619863 Do not bind mount /run/dbus to /run/dbus 2016-07-19 02:13:34 +00:00
Pablo Carranza Velez
f5b0a4e7e7 Default to not bind mounting kmod if container distro can't be found 2016-07-18 16:49:45 +00: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 Vélez
08d74b578b Fix preloaded apps by passing appId to extendEnvVars 2016-07-06 17:56:51 -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
Pagan Gazzard
07fdc55546 Fix entry.sh when DOCKER_ROOT isn't set 2016-06-23 11:37:59 -07:00
Pablo Carranza Velez
ac9e027b22 1.11.4 2016-06-17 18:24:21 +00: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
164d565283 Make the data path configurable 2016-06-14 13:50:50 -03: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
6e39128f3a fix deltas by not using the supervisor as source 2016-06-10 17:22:52 -03:00
Pablo Carranza Velez
f69e635196 1.11.2 2016-06-10 16:45:13 -03:00
Pablo Carranza Velez
1b7c91a791 1.11.1 2016-06-09 11:17:07 -03:00
Pablo Carranza Velez
30457c0e0f 1.11.0 2016-06-07 13:01:38 -03:00
Pablo Carranza Velez
3c38e6aa03 Changelog for restart policies 2016-06-07 12:50:25 -03:00
Pablo Carranza Velez
a6466b93aa 1.10.1 2016-06-07 11:30:44 -03:00
Pablo Carranza Velez
7104806ad1 Correctly compare container image name on cleanup
Docker 1.10 sends containerInfo.Image without the ":latest", so
the image name doesn't match the app's imageId.
This fix first splits the image name into repo and tag and then rebuilds
it to include ":latest" when appropriate. Should avoid removing containers
when using resin-sync.
2016-06-02 14:55:12 -03:00
Kostas Lekkas
6193ebe1df Log useful supervisor info to stdout/stderr 2016-05-30 16:51:27 +03:00
Alexios Theodoros Brezas
932af53913 1.10.0 2016-05-26 17:49:40 +03:00
Pablo Carranza Velez
fa33cd72e1 1.9.0 2016-05-24 00:06:36 -03:00
Pablo Carranza Velez
25be1176d2 Add changelog for alpine super and fix version reporting 2016-05-19 16:25:49 +00:00
Pablo Carranza Velez
534035e7ae Changelog and docs for /v1/images/load 2016-05-19 13:27:59 +00:00
Pablo Carranza Velez
55870b16b1 Changelog and docs for image and container endpoints 2016-05-16 09:52:48 -03:00
Pablo Carranza Velez
67a7271995 Add RESIN_APP_ID variable 2016-05-09 19:35:35 -03:00
Pablo Carranza Velez
7039b23ad9 Increase delta request timeout to 15 minutes 2016-05-02 17:33:21 -03:00
Pagan Gazzard
4e5fe8cbab Update changelog 2016-04-27 11:50:40 -07:00
Kostas Lekkas
efa7d7b93c 1.8.0 2016-04-25 16:39:42 +03:00
Pablo Carranza Velez
1c69f14e82 Refactor into /apps/:appId endpoint namespace, and add endpoint to GET the app 2016-04-16 13:52:38 -03:00
Pablo Carranza Velez
7161564123 Add /v1/stop and /v1/start endpoints 2016-04-08 16:51:39 -03:00
Alexios Theodoros Brezas
1b76b8ae45 1.7.0 2016-03-28 10:30:30 +01:00
Pablo Carranza Velez
9ae6b07b74 Changelog for config vars improvements 2016-03-23 12:23:19 -03:00
Alexios Theodoros Brezas
84d42ca6de Bind mount /var/lib/connman to application containers.
This allows application containers to interface with host connman.

Host /var/lib/connman is bind mounted to /host_var/lib/connman to avoid
collisions with connman installations inside the container.
2016-03-23 04:15:01 +00:00
Pablo Carranza Velez
f29bab0b9d Add RESIN_SUPERVISOR_DELTA to special list so that app is not restarted when it changes 2016-03-09 10:53:48 -03:00
Pablo Carranza Velez
eb301cc4c7 1.6.1 2016-03-08 15:31:48 +00:00
Kostas Lekkas
fcaafd9033 Reduce noise in logs 2016-03-07 13:16:38 +02:00
Pablo Carranza Velez
1f89f01a23 1.6.0 2016-02-22 14:38:15 -03:00
Pablo Carranza Velez
670f318c39 Add endpoint to get device state 2016-02-18 16:53:15 +00:00
Pablo Carranza Velez
b088612ddd Check for valid strings or ints in all config values 2016-02-18 12:52:00 -03:00
Pablo Carranza Velez
71bd742dfe Remove quotes in OS version 2016-02-15 19:03:06 +00:00
Pablo Carranza Velez
9965bfeca1 1.5.0 2016-02-09 10:28:11 -03:00
Pablo Carranza Velez
6dcee245fd Changelog entry for deltas 2016-01-28 11:10:15 -03:00
Pablo Carranza Velez
0472ba1401 1.4.0 2016-01-28 11:04:36 -03:00
Pablo Carranza Velez
8a4514ac00 Report Host OS version to the API 2016-01-26 10:20:04 -03:00
Pablo Carranza Velez
0f20251a8b Use _.defaults instead of _.extend to ensure internal env vars are not overwritten 2016-01-22 12:40:41 -03:00
Pablo Carranza Velez
11b5e0abc9 Expose resin API key to apps 2016-01-21 17:50:47 -03:00
Pablo Carranza Velez
5961be6ffb Set status to Idle when download is over 2016-01-21 10:52:36 -03:00
Pablo Carranza Velez
b17bd5bc27 Set GOARM separately for each architecture. Add changelog entries. 2016-01-20 00:45:05 -03:00
Praneeth Bodduluri
8acf819251 Add missing CHANGELOG for previous merge 2016-01-12 18:06:25 +05:30
Pablo Carranza Vélez
17deb53c7c Revert "Make config.json writes atomic" 2016-01-07 21:01:12 -03:00
Pablo Carranza Velez
c29f54b08c Make config.json writes atomic 2015-12-19 02:14:07 +00:00
Pablo Carranza Velez
50b28b1102 1.3.2 2015-12-17 11:44:11 -08:00
Praneeth Bodduluri
1bab2c6a83 Do not report the tun addresses to API 2015-12-10 22:21:40 +05:30
Pablo Carranza Velez
3c8dce9bf4 1.3.1 2015-12-07 10:13:58 -08:00
Pablo Carranza Velez
f0afdb9b2a Only save the app if starting the container was successful 2015-12-02 11:37:47 -08:00
Pablo Carranza Velez
b54087aec2 1.3.0 2015-12-01 10:10:40 -08:00
Pablo Carranza Velez
10350c3d4a Remove volumes when removing a container 2015-11-25 15:00:45 -08:00
Pablo Carranza Vélez
1d6811a423 Implement waitToKill, keep RESIN_OVERRIDE_LOCK, and changelog for update strategies 2015-11-16 19:03:37 +00:00
Praneeth Bodduluri
51ee79b7a2 Fix the error that comes up when no ip addresses are returned by gosuper 2015-11-12 20:33:18 +05:30
Pagan Gazzard
16a9cfa365 Switch to docker-progress for pull progress. 2015-11-10 17:29:22 +00:00
Praneeth Bodduluri
a5dbbc3cdd Add missed Changelog 2015-11-10 17:32:24 +05:30
Pablo Carranza Vélez
2827719d9a 1.2.1 2015-11-04 13:28:06 -03:00
Pablo Carranza Vélez
b08a028d69 Use random secret for logs channel 2015-10-28 20:02:00 -03:00
Pablo Carranza Vélez
605d72cbdc 1.2.0 2015-10-16 15:37:49 +00:00
Pablo Carranza Vélez
811e929955 Don't bind mount docker.sock. It doesn't exist on devices that use rce 2015-10-16 13:56:06 +00:00
Pablo Carranza Vélez
ee273f1ec7 Expose a RESIN_SUPERVISOR_VERSION env var to app 2015-10-15 23:08:21 +00:00
Lorenzo Stoakes
91b6c1b808 1.1.1 2015-10-15 19:40:55 +01:00
Pablo Carranza Vélez
4bcba5adf6 Refactor to use a different name for the env vars (otherwise resin-vars overrides it with a null value) 2015-10-14 18:50:26 -03:00
Pablo Carranza Vélez
33d402c3c0 Default PubNub and Mixpanel keys are now passed at build time 2015-10-14 16:53:33 -03:00
Pablo Carranza Vélez
c1703ce97a 1.1.0 2015-10-13 13:45:08 -03:00
Pablo Carranza Vélez
25198409b1 Switch back to using arch-based node images 2015-10-13 13:45:08 -03:00
Pablo Carranza Vélez
7eb17bd79b Don't let the bootstrap delete apiSecret from DB 2015-10-13 13:45:08 -03:00
Pablo Carranza Vélez
b57dd10e81 Add API endpoint to expire and create new API key 2015-10-13 13:45:08 -03:00
Praneeth Bodduluri
4130df7771 Add Changelog and switch to using RESIN variables 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
3d7f5f3ced Fix getting API key from DB by returning its .value 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
e975f0f69f Do auth for localhost too 2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
3f3a26965e Use raspberrypi2 base image for armv7hf 2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
6ed2fddd37 Wrap all update errors as Errors 2015-10-13 13:45:07 -03:00
Petros Angelatos
2d891262a7 wait 5s after sending SIGTERM and before sending SIGKILL
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
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
0fd03054e8 Expose supervisor API to app by allowing all requests from 127.0.0.1 and passing address and port as env vars 2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
7f7a550363 Only apply boot config or special actions when env vars have changed and within lock, and persist the new env to the DB 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
8da8092104 Use a function in utils to extend env vars 2015-10-13 13:45:06 -03:00
Pablo Carranza Vélez
6062658933 0.0.17 2015-10-13 13:45:06 -03:00
Pablo Carranza Vélez
c136793cdd Blacklist certain config.txt entries, Update node to 0.10.40 everywhere
Use board-specific images until we have new arch based ones
2015-10-13 13:45:06 -03:00
Pablo Carranza Vélez
9895cdccf2 Changelog for config.txt changes 2015-10-13 13:45:06 -03:00
Praneeth Bodduluri
c62db0867e Add changelog 2015-10-13 13:45:06 -03:00
Praneeth Bodduluri
66a4bf4ab3 Remove unused config.supervisorContainer in config.coffee 2015-10-13 13:45:06 -03:00
Pablo Carranza Vélez
bd889e06a1 Bind mount /boot in RPi 2015-10-13 13:45:06 -03:00
Praneeth Bodduluri
f86f5881d9 Implement and use golang endpoint for getting ipaddress' of the device 2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
198975fcb1 Changelog for preloaded images 2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
81e0fb8a3c Changelog for reboot/shutdown endpoints 2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
77ae12f0fb Changelog for container restart 2015-10-13 13:45:04 -03:00
Praneeth Bodduluri
b78fe94d0b Update CHANGELOG 2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
752c43f628 Changelog for update locking 2015-10-13 13:45:04 -03:00
Pagan Gazzard
fdf4f50691 0.0.16 2015-10-13 13:43:37 -03:00
Pagan Gazzard
0703759782 Try to populate the docker cache before building. 2015-10-13 13:43:35 -03:00
Pagan Gazzard
397fd6872b 0.0.15 2015-10-13 13:43:35 -03:00
Praneeth Bodduluri
418d838dec Make resolv.conf writable from a User container 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
7d78d0dad8 Use JOBS=MAX for npm install 2015-10-13 13:43:34 -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
Pagan Gazzard
4003bd4828 Write the registered_at time to config.json as well, in case there is a failure between writing to config.json and writing to knex [Page] 2015-10-13 13:39:39 -03:00
Pagan Gazzard
f03df0b4ad 0.0.14 2015-10-13 13:39:39 -03:00
Pagan Gazzard
2387402c35 Clean up tmp files left behind by npm. 2015-10-13 13:39:39 -03:00
Pagan Gazzard
52d4cfb9d9 Fix an error where mixpanel events would have the wrong uuid set on first provision. 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
ab26c6a401 Don't cache config.json 2015-10-13 13:39:38 -03:00
Pagan Gazzard
7bc0a7d869 0.0.13 2015-10-13 13:39:38 -03:00
Praneeth Bodduluri
cb24f338af Add /etc/resolv.conf bind mounts 2015-10-13 13:39:38 -03:00
Pagan Gazzard
c03658528c 0.0.12 2015-10-13 13:39:38 -03:00
Pagan Gazzard
e56d9b678e Stop displaying an error message when trying to start a container that is already started. 2015-10-13 13:39:38 -03:00
Pagan Gazzard
a959660f90 Improve error messages reported to the user in the case of finding an empty string. 2015-10-13 13:39:38 -03:00
Pagan Gazzard
e38796e92a Fix trying to delete supervisor container when it reports an alternate tag instead of the primary tag. 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