Commit Graph

99 Commits

Author SHA1 Message Date
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
Pablo Carranza Velez
6ac6f0c308 Allow specifying a config.json filename in dindctl
This is necessary to run several supervisors as they can't share a config

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-10-10 10:21:21 -07:00
Pablo Carranza Velez
5d88961b34 Allow specifying a container name for the docker-in-docker development supervisor
This would allow developers to run several supervisors on the same host, by choosing different container names for each.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-10-10 10:01:31 -07: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
012b23f012 Refactor the makefile to make it easier to use and make use of the multi-stage build
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
ffce794987 Add support for aarch64
Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:16 -07:00
Pagan Gazzard
a3649fa6ec Switch to generating the BASE_IMAGE_VERSION in the makefile, so that the makefile targets can use an accurate version by default
Fixes #422

Change-type: minor
2017-06-05 16:03:50 -07:00
Pablo Carranza Velez
9e327bf7a6 Build the base image together with the supervisor
This commit changes the automation scripts so that the base image
is built together with the rest of the supervisor. We use a hash of
the contents of the base-image folder as tag for the base image so
that unnecessary rebuilds are avoided.

The build scripts are also modified to always clean up the resulting base image
and the image used to build it. We use docker pull and push to enable caching.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2016-12-16 16:25:49 -03:00
Yossi Eliaz
345b1d87f1 Makefile: removed the deprecated force flag
Since docker 1.10 the -f option of docker tag
is obsolete. In docker 1.12 it is completely
removed.

https://docs.docker.com/engine/deprecated/#/f-flag-on-docker-tag

Signed-off-by: Yossi Eliaz <yossi@resin.io>
2016-10-18 20:47:32 -05:00
Pablo Carranza Velez
7da47d5449 Always pull the node and go image when building nodesuper and gosuper 2016-10-06 21:19:51 +00: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
4d448030a7 dind: bind-mount /bin/kmod:/bin/kmod 2016-09-20 11:35:28 +03:00
Petros Angelatos
e70ee292a6 minimise ENV commands to have less image layers
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-14 01:38:36 +00:00
Petros Angelatos
488ca41621 build: implement multi-Dockerfile build process
This build strategy lends itself to how Rockerfiles work. In the build
Dockerfile all the build utilities (e.g gcc, python) are installed and
run the build process to produce some build artifacts. There are two
build Dockerfiles, one for the nodejs part and one for the golang part.
The build artifacts of these are combined into the runtime Dockerfile.
For all this to work there is some minimal glue implemented in the
Makefile.

Part of this commit is a switch of the base image the runtime is based
on to the minimal OpenEmbedded one produced by #198

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-14 01:38:35 +00:00
Petros Angelatos
276c89e7c5 churn: pretty format Makfile targets
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2016-09-14 01:38:02 +00:00
Pablo Carranza Velez
a20084d906 Fix proxies assignment in Makefile 2016-08-23 10:23:18 -03:00
Page-
d652e13005 Merge pull request #203 from axbannaz/202_fix_prox_and_propagate_proxy_to_dind
202 fix prox and propagate proxy to dind
2016-07-22 14:42:57 -07:00
Pagan Gazzard
8715534d84 Run the linting automatically as part of the jenkins build. 2016-07-19 14:37:46 -07:00
Arash Bannazadeh-Mahani
2ecc0fb715 Propagate the runtime proxy info down to the dind docker. 2016-07-08 14:58:50 -07:00
Arash Bannazadeh-Mahani
a190c48f2f Fix: Did not properly propagate no_proxy var 2016-07-08 14:57:36 -07:00
Kostas Lekkas
991795de96 dind: bind mount /sys/fs/cgroup only if host is Linux 2016-07-08 20:00:22 +03: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
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
572b43a696 Carry in the no_proxy env var in as well. critical to exclude internal
servers which do not need proxy server to access.
2016-06-30 10:47:01 -07:00
Arash Bannazadeh-Mahani
e5513c0635 Adding a flag, use_proxy_at_runtime, to use the same build proxy for
runtime. otherwise variables rt_http_proxy and rt_https_proxy are need
to be set prior calling make, if there is a need to proxy for runtime.
2016-06-30 10:37:52 -07:00
Arash Bannazadeh-Mahani
a5d112c061 Remove go build run containers 2016-06-28 11:42:52 -07:00
Arash Bannazadeh-Mahani
87e043510c Integrating http_proxy https_proxy environment variables into docker build and final docker image 2016-06-28 11:22:24 -07:00
Kostas Lekkas
e45e7cf9b2 dind: add dropbear and prevent passwordless login by default 2016-06-25 15:04:23 +03:00
Pablo Carranza Vélez
ebf2c04a08 Merge pull request #134 from resin-io/alpine
Add alpine supervisor build info
2016-05-18 11:59:32 -03:00
Trong Nghia Nguyen
7ff638585c Add alpine supervisor build info 2016-05-17 11:59:39 +07:00
Pagan Gazzard
42a960df47 Switch to using resin-base for the dind supervisor. 2016-04-29 09:50:08 -07:00
Pablo Carranza Velez
b17bd5bc27 Set GOARM separately for each architecture. Add changelog entries. 2016-01-20 00:45:05 -03:00
James
0125e86a6b Add build info for armv5 2016-01-19 09:59:26 +07:00
Pablo Carranza Velez
f31bbd10b4 Fake timestamp for 01_nodoc to avoid cache invalidation 2015-11-23 10:02:20 -08: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
2ea336dec9 Don't duplicate 01_nodoc, and fix grammar in README 2015-10-13 13:45:08 -03:00
Pablo Carranza Vélez
c67f2be88f Refactor README for open source, and make Makefile use DockerHub by default 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
Pablo Carranza Vélez
84daa12404 Pass dbus socket to integration tests 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
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
346e36f52b Add a script to retry docker push when deploying 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
2f09413096 gosuper for other GOARCH should never get to the supervisor image 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