Commit Graph

88 Commits

Author SHA1 Message Date
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
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
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
Pablo Carranza Vélez
300067febe Correctly integrate Go unit tests with Jenkins 2015-10-13 13:43:36 -03:00
Pablo Carranza Vélez
30ce6f77c4 Gosuper Integration into supervisor image and Jenkins 2015-10-13 13:43:36 -03:00
Pablo Carranza Vélez
ed8adcdda9 Initial structure with Godeps and build Dockerfile 2015-10-13 13:43:36 -03:00
Pablo Carranza Vélez
f87c4915da Better volume handling 2015-10-13 13:43:35 -03:00
Pablo Carranza Vélez
aaa9885e50 Comment on the loopback devs issue 2015-10-13 13:43:35 -03:00
Pablo Carranza Vélez
b54871bc03 Pull super from DEPLOY_REGISTRY. Add make stop-supervisor 2015-10-13 13:43:35 -03:00
Jon Grisky
fe93b61adb Rename Dockerfile.x86_64 to Dockerfile.amd64
For consistency with the container spec architecture, we will use amd64 naming
for x86 64 bits machines.

Signed-off-by: Jon Grisky <jon@resin.io>
2015-10-13 13:43:34 -03:00
Pagan Gazzard
6c2467cca8 Allow running the supervisor in the devenv using docker in docker. 2015-10-13 13:42:23 -03:00