Pablo Carranza Velez
102eb460db
Use log-timestamp to add timestamps to logs
2016-07-18 14:01:16 +00:00
Pablo Carranza Velez
d58517f32d
Use rwlock to block when images are being pulled
2016-05-19 13:24:23 +00:00
Pablo Carranza Velez
8a4514ac00
Report Host OS version to the API
2016-01-26 10:20:04 -03: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
Pablo Carranza Vélez
0605a9f4ee
Use generic config.forceSecret[name] and allow forcing logsChannel
2015-11-03 13:49:24 -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
b57dd10e81
Add API endpoint to expire and create new API key
2015-10-13 13:45:08 -03:00
Pablo Carranza Vélez
ec6fd6eb03
Pass api key to app, and keep it saved in the DB (do not regenerate on startup)
2015-10-13 13:45:07 -03:00
Pablo Carranza Vélez
8b4d1e9f75
Ensure special env vars are persistent and add placeholder for device.setBootConfig
2015-10-13 13:45:06 -03:00
Praneeth Bodduluri
391a141843
Change ipAddress to IPAddresses and add error message on unknown ip addr type
2015-10-13 13:45:05 -03:00
Praneeth Bodduluri
ea0b058721
Change APIResponse to a struct with a Data Interface
2015-10-13 13:45:05 -03:00
Praneeth Bodduluri
e1957def25
Address style fixes in app.coffee
2015-10-13 13:45:05 -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
8de173f6c3
Use crypto.randomBytes for API secret
2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
0373607c56
Refactor bootstrapper. Run preloaded supervisor dind. Change dind configs to be ignored and document how to populate them.
2015-10-13 13:45:05 -03:00
Pablo Carranza Vélez
9d2c142c36
Put preloaded apps in DB, and use promise for when boostrap is done
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
d1b317399e
Updates by appId and use Promise.using for lock
...
Change the update cycle to go by appId instead of imageId.
Use Promise.using for lockFile locks and unlocks.
Now updates shouldn't stop if one of the apps fails to update
(it's a step towards better supporting multiple apps).
Forcing the lock now works.
Remove unnecessary require fs
Nicer assignment for s in joinErrorMessages
2015-10-13 13:45:03 -03:00
Pablo Carranza Vélez
c52c2c0bd9
First attempt at locking updates with files
2015-10-13 13:45:03 -03:00
Praneeth Bodduluri
a8e1d476e3
Change to use 204 for API, Remove extra space in upscript.sh and Make fswatch start only on EEXIST error
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
0213916b90
Style changes
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
53668647c8
Integration test is now working.
...
* More work on the integration test
* Correctly get supervisor IP
* Use Fatal for test errors
* test-integration working separate from run-supervisor
* Use jenkins' JOB_NAME to identify and remove containers with their volumes
* Document testing procedure
* Document the assume-unchanged tip
* Use /mnt/root for data path
* Nicer secret assignment
2015-10-13 13:43:36 -03:00
Pablo Carranza Vélez
513cc24d1c
Purge restarts app, and first attempt at integration testing
...
* Restart app when purging
* Use log.Fatal to exit with status 1
* Quotes in entry.sh
* Use JSON for request body
* Handle errors for parseJsonBody
* Better error printing in main
* First attempt at testing nodesuper from Go
* Cleaner build
* Use ARCH to differentiate concurrent tests/builds
* Use --rm to autoremove containers
2015-10-13 13:43:36 -03:00
Pagan Gazzard
b8ecdb3ce2
Rename state module to device and use sensible function names for the new module name.
2015-10-13 13:43:35 -03:00
Pagan Gazzard
0917a46a2d
Separate the device state updating into its own module.
2015-10-13 13:43:35 -03:00
Pagan Gazzard
0063eaf7e7
Reset download progress to null when starting up the supervisor.
2015-10-13 13:39:38 -03:00
Pagan Gazzard
48c21e9275
Keep track of target and actual device state, and make sure we keep updating the api with any differences until the two match.
2015-10-13 13:39:08 -03:00
Aleksis Brezas
af89179886
reset provisioning progress to null when supervisor starts
2015-10-13 13:36:12 -03:00
Pagan Gazzard
2d5dca2171
Make sure the supervisor version update is also retried until succeeding.
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
fafef6cc6f
Post the supervisor api port to the resin api.
2015-10-13 13:36:12 -03:00
Pagan Gazzard
c8023e0780
Add a config var to determine what port for the api to listen on.
2015-10-13 13:36:12 -03:00
Pagan Gazzard
3f94b353f5
Remove VPN from the supervisor
2015-10-13 13:36:12 -03:00
Aleksis Brezas
c667b55025
move uncaught exception to the top of app.coffee
2015-10-13 13:36:12 -03:00
Aleksis Brezas
0665054a79
no updates
2015-10-13 13:34:23 -03:00
Pagan Gazzard
b1d16da9fa
Separate out the pubnub logging functionality.
2015-10-13 13:29:40 -03:00
Pagan Gazzard
9673ae40d9
Remove some unneeded dependencies.
2015-10-13 13:28:00 -03:00
Pagan Gazzard
c5506d4566
Separate vpn connecting.
2015-10-13 13:28:00 -03:00
Pagan Gazzard
a7f5689873
Separate vpn bootstrapping.
2015-10-13 13:28:00 -03:00
Pagan Gazzard
5e380fb66a
Turn the connectivity check into a singleton, so we only have one running.
2015-10-13 13:27:59 -03:00
Pagan Gazzard
2557ebcfc2
Move the connectivity check into utils.
2015-10-13 13:27:59 -03:00
Pagan Gazzard
53196208b0
Start the connectivity check straight away, rather than waiting for bootstrapping to succeed.
2015-10-13 13:27:59 -03:00
Pagan Gazzard
b9675de9e0
Change IP address update interval from 5m to 30s
2015-10-13 13:27:58 -03:00
Aleksis Brezas
cdca01eed1
Use require to parse package.json for supervisor version
2015-10-13 13:27:58 -03:00
Aleksis Brezas
523a8b5637
update device supervisor_version
2015-10-13 13:27:58 -03:00
Pagan Gazzard
c8a7c49cd5
Move the application update poll interval to an env var and reduce to 60s.
2015-10-13 13:27:57 -03:00
Aleksis Brezas
c4f9fd853d
require config is needed to retry bootstrap
2015-10-13 13:27:56 -03:00
Pagan Gazzard
7f38248cfa
Let the new supervisor handle tagging itself as a working supervisor, this means that the check that a supervisor update is a working update will not be nullified by a reboot.
2015-10-13 13:19:45 -03:00
Pagan Gazzard
5efcde7922
Start the supervisor update check ASAP, it allows us to push (and automatically update to) new supervisor images that fix issues in earlier stages.
2015-10-13 13:19:44 -03:00