Commit Graph

48 Commits

Author SHA1 Message Date
Pablo Carranza Velez
3771fd53ea Fix preloading and parsing of arguments in the dind supervisor
We now remove the quotes from the image name in the ExecStartPre of the supervisor dind service,
so that the images are properly pulled.

We also fix the parsing of arguments in dindctl so that it correctly parses all of the arguments (the last one was being missed if it didn't have a parameter).

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-26 20:30:51 -03:00
Pablo Carranza Velez
8dfc559126 Move dindctl to the base of the repository
This makes it easier to use, as it's meant to be used constantly when developing. No need to change PATH
or type `./tools/dev/dindctl`, just run `./dindctl` now.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
392d963348 Use a local supervisor image for the dind supervisor
We change the Makefile and dinctl so that instead of having to deploy and then pull a supervisor image, we save it from the local
docker images and load it inside the dind container.

We also fix dind so that it uses the dind hack script from the docker repo as official dind images do (this avoids breaking the
permissions of /dev/pts/ptmx in the host as in https://github.com/kubernetes/kubernetes/issues/18230).

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
da04b3065c Make dindctl an easier to use tool that takes options instead of using env vars
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
1dfa8b4448 Correct the DBUS_SYSTEM_BUS_ADDRESS variable to what godbus expects now
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:17 -07:00
Pablo Carranza Velez
0078c299b4 dind: Set DELTA_ENDPOINT, insert variant into os-release, and fix vpn apikeys
Setting DELTA_ENDPOINT as meta-resin does allows the dev dind supervisor to use the correct
delta server.

Inserting a VARIANT_ID into /etc/os-release allows treating this device as a dev build of Resin OS
(and avoids an unhandled exception).

Changing the precedence for device/provisioning apikeys in the vpn-init script allows the device
to connect to the VPN when a key exchange is still pending (as meta-resin does - though this is getting
replaced by watching config.json for changes).

This at least makes the development supervisor functional for now, but I'll work on improving the dind setup soon.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 22:59:02 -07:00
Pagan Gazzard
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
Pagan Gazzard
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
Pablo Carranza Velez
58af4f7094 Switch to aufs for the docker-in-docker development supervisor
Also update a few details about the dind on the README.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-01-06 15:45:41 -03:00
Pablo Carranza Velez
9e3612fb18 Mount the docker socket in the default path for dind 2016-10-26 09:12:28 -03:00
Pagan Gazzard
887a4714b8 Update dindctl logs to use journalctl now that we send logs there 2016-09-29 14:33:17 -07:00
Pablo Carranza Velez
bc8f0de95f dindctl: fix path for source with OE image 2016-09-26 18:17:12 +00:00
Kostas Lekkas
21003ba467 dind: add logs action, move all container management code into Makefile 2016-07-07 00:20:12 +03:00
Kostas Lekkas
1aca595eb2 dind: make supervisor image configurable 2016-07-06 11:47:25 +03:00
Kostas Lekkas
6aba97dce0 dind: bind-mount tool: deploy image to the correct registry 2016-07-06 02:18:30 +03:00
Kostas Lekkas
39af247233 dind: add helper scripts to speed-up development with bind mounts 2016-07-06 01:48:11 +03:00
Kostas Lekkas
aff199f42f dind: use --parse-arg to change dropbear config during build-time 2016-07-05 12:57:37 +03:00
Arash Bannazadeh-Mahani
324d187dc3 adding support to include internal CA Certs used by (an example) proxy servers 2016-06-28 12:46:27 -07:00
Kostas Lekkas
e45e7cf9b2 dind: add dropbear and prevent passwordless login by default 2016-06-25 15:04:23 +03:00
Kostas Lekkas
ab1ed3e681 dind: add docker 1.10.3 2016-06-25 15:04:23 +03:00
Kostas Lekkas
87be94f2d4 dind: add rsync 2016-06-25 15:04:23 +03:00
Kostas Lekkas
858e127ed0 dind: add DOCKER_ROOT env var 2016-06-25 15:04:23 +03:00
Pagan Gazzard
fc0a5ec85a Fix bash check for preloaded images, -eq is for integers. 2016-05-01 11:01:23 -07:00
Pagan Gazzard
42a960df47 Switch to using resin-base for the dind supervisor. 2016-04-29 09:50:08 -07:00
Pagan Gazzard
f910ec11a8 Remove even more old terminal related stuff. 2016-04-18 18:13:23 +01:00
Kostas Lekkas
b55a2c5539 Add resin-supervisor-host-socket.service for webterminal 2016-02-26 19:36:12 +02:00
Pablo Carranza Vélez
6495b4f436 Use apps.json to determine the preloaded image to pull to dind 2015-10-13 13:45:09 -03:00
Pablo Carranza Vélez
2ea336dec9 Don't duplicate 01_nodoc, and fix grammar in README 2015-10-13 13:45:08 -03:00
Pablo Carranza Vélez
0a893aaa36 Make dind use debian instead of resin-base 2015-10-13 13:45:08 -03:00
Praneeth Bodduluri
fd012c35b4 Match resin-supervisor-dind dbus export to the one used on real devices 2015-10-13 13:45:08 -03:00
Praneeth Bodduluri
f7c81f987f Mount resin-supervisor src into the emulated device + add socat to help test gosuper 2015-10-13 13:45:07 -03:00
Praneeth Bodduluri
d6154b802d Adapt VPN service to mimic that of our devices + mount systemd in the supervisor 2015-10-13 13:45:07 -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
Praneeth Bodduluri
54d25f5202 Fix Makefile and env to handle changes in resin-vars 2015-10-13 13:45:04 -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
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
8642371094 Pause TCP Pings on VPN connection 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
6d54e6663e Lock app restart, cleanup and better testing 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
Pagan Gazzard
5ae28e9348 Use overlayfs for the supervisor dind. 2015-10-13 13:43:36 -03:00
Pagan Gazzard
7e6ef77d0f Switch to using a tagged version of resin-base. 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
Pablo Carranza Vélez
341f0e37ff Change perms for vpn-init. Update README. 2015-10-13 13:43:35 -03:00
Pagan Gazzard
a7f81d8637 Add an empty placeholder config.json to denote where it belongs. 2015-10-13 13:43:34 -03:00
Pagan Gazzard
731338b0f4 Update dind config to use resinstaging.io 2015-10-13 13:43:25 -03:00
Pagan Gazzard
6c2467cca8 Allow running the supervisor in the devenv using docker in docker. 2015-10-13 13:42:23 -03:00