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
909e193cea
Update resin-register-device to 2.0.0
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
94d8703eef
Sleep before shutting down
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
8585ad718f
Use go-systemd/login1 for Reboot/Shutdown
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
6f42fc2036
Try to do systemd calls in gosuper
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
82f87527c8
Add godbus package
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
3da4dae190
Add systemd interface and reboot/shutdown endpoints
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
27786ebe65
Quick fix: use quotes in bash comparison
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
346e36f52b
Add a script to retry docker push when deploying
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
77ae12f0fb
Changelog for container restart
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
53ed41a4e2
Allow lockfile force to be specified in the request body
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
d5ddad914e
Add /v1/restart API endpoint
2015-10-13 13:45:04 -03:00
Praneeth Bodduluri
a15c9e636e
Add additional mount for the host's docker.sock
2015-10-13 13:45:04 -03:00
Praneeth Bodduluri
b78fe94d0b
Update CHANGELOG
2015-10-13 13:45:04 -03:00
Praneeth Bodduluri
efc272533c
Also mount the host dbus on host_run/dbus
2015-10-13 13:45:04 -03:00
Praneeth Bodduluri
27a8ee2b19
Use golang 1.5.1 for compiling
2015-10-13 13:45:04 -03:00
Praneeth Bodduluri
54d25f5202
Fix Makefile and env to handle changes in resin-vars
2015-10-13 13:45:04 -03:00
Pablo Carranza Vélez
6e62366541
Always unlock the lockfile when killing the app.
...
Otherwise, we have a deadlock whenever the lock is forced: the app
will be restarted, and will find the lockfile is already there so it won't be
able to lock/unlock it. The supervisor will have the same problem.
So the solution is that, whenever we kill the app, that is the lock owner, we also unlock the file.
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
Pablo Carranza Vélez
233004d130
Download/update/remove/install all apps in a map
2015-10-13 13:45:03 -03:00
Pablo Carranza Vélez
4aea117330
Purge handles strings and numbers, and is tested with a table
2015-10-13 13:45:03 -03:00
Pablo Carranza Vélez
3da961d4fd
Use env var for force, and don't touch lockfile on force
...
Also:
* Force lock when purging
* Use updateStatus object to keep update state
2015-10-13 13:45:03 -03:00
Pablo Carranza Vélez
c7c4aed746
Use rwlock together with lockfile
...
Select app to kill from DB within lock (otherwise, if some other part kills and restarts the app, the
containerId will have changed and the real container will not be removed).
2015-10-13 13:45:03 -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
1eb31ce5f6
Apply coffeelint everywhere
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
Pagan Gazzard
9bbb0be536
Update resin-base for supervisor-dind to include ifupdown for the vpn.
2015-10-13 13:45:03 -03:00
Pagan Gazzard
7b02c067ac
Use the endpoint settings from config.json
2015-10-13 13:45:01 -03:00
Pagan Gazzard
fdf4f50691
0.0.16
2015-10-13 13:43:37 -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
7b8ca9fd73
Start the fs watch after the VPN directory has been created - Use finally and not then
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
ac545ccc52
Change the EEXIST to a function
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
a57c723e8a
Remove inotify and lint changes
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
a4966a798a
Change the fs functions to promise
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
0213916b90
Style changes
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
8642371094
Pause TCP Pings on VPN connection
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
d6b6d2d73b
Distinguish betweek - permanent TCP check disable and pausing tcp check
2015-10-13 13:43:37 -03:00
Praneeth Bodduluri
03299d77f5
API to pause TCP checks
2015-10-13 13:43:37 -03:00
Pagan Gazzard
177e9ddd7c
Specify vpn endpoint in the config file
2015-10-13 13:43:37 -03:00
Pablo Carranza Vélez
c250ff483c
Fix double app start (app.id = null after kill)
2015-10-13 13:43:37 -03:00
Pablo Carranza Vélez
2f09413096
gosuper for other GOARCH should never get to the supervisor image
2015-10-13 13:43:37 -03:00
Pablo Carranza Vélez
c2496d30c2
Use Promise Disposer for lock, + cleanup
2015-10-13 13:43:36 -03:00
Pablo Carranza Vélez
685af77007
Reorganize files, and purge sends 404 when there's no directory.
...
* 404 when no directory
* fix go-supervisor.conf location
* Use /var/run/resin for gosuper socket
* Remove potential spurious gosuper binaries
2015-10-13 13:43:36 -03:00
Pablo Carranza Vélez
6d54e6663e
Lock app restart, cleanup and better testing
2015-10-13 13:43:36 -03:00
Pablo Carranza Vélez
9bc2f6212d
Handle App not found in purge, + cleanup
...
* gosuper in dockerignored folder
* correctly handle app not found in purge
* test formatting in test-gosuper
* Fix test-gosuper
* DRY up test-integration
2015-10-13 13:43:36 -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