Commit Graph

1314 Commits

Author SHA1 Message Date
Pablo Carranza Velez
279ab60233 Fix the message shown when docker gives a 500 error when starting a container
The test for an exec format error caused a `err.json.trim` is not a function
error so the message shown didn't relate to what the problem actually was.
This makes the test for the exec format error safer.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-26 10:41:25 -03:00
resin-io-versionbot[bot]
49d149a196 Auto-merge for PR #476 via VersionBot
Use a pinned build of the debian image to build base and gosuper, to avoid unnecessary rebuilds
2017-07-25 20:46:34 +00:00
resin-io-versionbot[bot]
b6742851f2 v6.0.3 2017-07-25 20:09:26 +00:00
Pablo Carranza Velez
7746d6be99 Use a pinned build of the debian image to build base and gosuper, to avoid unnecessary rebuilds
Up to now, a new debian:jessie build would invalidate the cache for the base and gosuper images, slowing down Circle builds.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-25 10:52:40 -03:00
resin-io-versionbot[bot]
654e6ce929 Auto-merge for PR #470 via VersionBot
Refactor build process and switch to CircleCI
2017-07-25 00:45:06 +00:00
resin-io-versionbot[bot]
7ee2d48706 v6.0.2 2017-07-24 20:03:30 +00:00
Pablo Carranza Velez
b328a1e916 Make the ARCH-supervisor-base image builder smaller by not keeping the downloads, sstate and build directories
We should revisit this if we want to later copy those folders into the host and use Circle's caching system with them, or if https://github.com/moby/moby/issues/32507 gets implemented in which case we can use a bind mounted folder instead.

Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
d9605c71dd automation/build.sh: build base, nodesuper and gosuper before supervisor, and use them for cache
Otherwise the step where we build them doesn't reuse what was built when building the supervisor,
because we're explicitly setting `--cache-from` options.

We also push the images as soon as they're built.

Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
d7f7a0bf57 Disable armel builds, and make the automation build without using docker-in-docker
Changelog-Entry: Disable armel builds
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
fa8116d97c Disable pushing to registry.resinstaging.io, and use build environment to login to dockerhub
Also, avoid building the dind builder twice, and try to get a reusable docker instance.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -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
29de3ceeb2 Add a script to automate the creation of meta-resin PRs
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
60a8ab85f4 Add a deploy-to-resin.js and automatically deploy to the Resin API on master builds
Also, make all of the arch builds part of the Circle workflow.

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
5bfeccccef Add builds for all architectures, and actually push the built images
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
Pablo Carranza Velez
e28e770fd7 Replace the Jenkins build with a CircleCI build that uses the new 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
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
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
8d84facff5 Add a single Dockerfile to build the supervisor as a multi-stage build
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-20 21:22:25 -03:00
resin-io-versionbot[bot]
d0251a5cd3 Auto-merge for PR #464 via VersionBot
Use webpack to join all modules
2017-07-12 04:58:12 +00:00
resin-io-versionbot[bot]
2594ffee08 v6.0.1 2017-07-12 03:06:42 +00:00
Pablo Carranza Velez
1790939046 Use webpack to join all modules
This saves around 13MB in the resulting uncompressed docker image.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-11 14:01:16 -07:00
resin-io-versionbot[bot]
c84a269947 Auto-merge for PR #467 via VersionBot
Replace edge device type with generic-amd64
2017-07-07 18:37:25 +00:00
resin-io-versionbot[bot]
9b72451b4c v6.0.0 2017-07-07 18:03:13 +00:00
Joe Roberts
087e7c3af0
Deprecate edge device type
Change-type: major
2017-07-05 10:20:26 +01:00
resin-io-versionbot[bot]
95c78155c9 Auto-merge for PR #468 via VersionBot
Fix semver comparison for OS version when determining if the device has deviceApiKey support
2017-07-04 19:18:38 +00:00
resin-io-versionbot[bot]
933515db79 v5.1.1 2017-07-04 18:33:42 +00:00
Pablo Carranza Velez
8b2138f744 Fix semver comparison for OS version when determining if the device has deviceApiKey support
The current setup would cause the check to always fail - the consequence is not *that* bad since
the provisioning key still gets overwritten, but it's better to delete it if we can.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-04 02:56:31 -07:00
resin-io-versionbot[bot]
c9b42b83b4 Auto-merge for PR #446 via VersionBot
Add support for aarch64
2017-07-01 10:48:35 +00:00
resin-io-versionbot[bot]
14e31857e3 v5.1.0 2017-07-01 08:47:33 +00: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
848184e9a6 Update gosuper to go 1.8.3
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:17 -07:00
Pablo Carranza Velez
af41632075 Install upx 3.94 from github to support aarch64
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:17 -07:00
Pablo Carranza Velez
84062565c4 When testing gosuper formatting, don't check the vendor directory
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:17 -07:00
Pablo Carranza Velez
d21c7faf4e Update gosuper to go 1.7.6
Adapting Petros' x86 patches to the new version

Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:17 -07:00
Pablo Carranza Velez
fc4b9656cd Switch to glide for Go dependencies
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:16 -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
resin-io-versionbot[bot]
639aa0aece Auto-merge for PR #460 via VersionBot
dind: Set DELTA_ENDPOINT, insert variant into os-release, and fix vpn apikeys
2017-07-01 06:32:37 +00:00
resin-io-versionbot[bot]
bff29c2f72 v5.0.2 2017-07-01 05:59:48 +00: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
resin-io-versionbot[bot]
a6409f0e12 Auto-merge for PR #463 via VersionBot
Allow registering the deviceApiKey in a non-compatible OS by making the apiKey equal the deviceApiKey, and add an fsync to all config.json writes
2017-07-01 03:27:15 +00:00
resin-io-versionbot[bot]
28f1d29d64 v5.0.1 2017-07-01 03:01:26 +00:00
Pablo Carranza Velez
928df5b140 Allow registering the deviceApiKey in a non-compatible OS by making the apiKey equal the deviceApiKey, and add an fsync to all config.json writes
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 18:00:01 -07:00
resin-io-versionbot[bot]
c5315dafaf Auto-merge for PR #448 via VersionBot
Remove the undocumented and unused sideload and compose APIs
2017-06-26 22:56:54 +00:00
resin-io-versionbot[bot]
2097c5cc85 v5.0.0 2017-06-26 22:26:16 +00:00
Pablo Carranza Velez
597a2c6b65 Remove the undocumented and unused sideload and compose APIs
This allows us to also remove a few npm dependencies and the docker compose binary.

Change-Type: major
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-26 13:08:52 -07:00
resin-io-versionbot[bot]
4c30d0791f Auto-merge for PR #455 via VersionBot
Update docker-delta to 1.0.3 to support docker 17
2017-06-26 18:56:18 +00:00
resin-io-versionbot[bot]
e487ca4d51 v4.5.0 2017-06-26 17:20:31 +00:00
Pablo Carranza Velez
536ef458c9 Update docker-delta to 1.0.3 to support docker 17
Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-26 07:54:43 -07:00
resin-io-versionbot[bot]
a9e777727c Auto-merge for PR #458 via VersionBot
Fix provisioning key exchange by passing apikey in the request
2017-06-26 14:32:58 +00:00