Commit Graph

1456 Commits

Author SHA1 Message Date
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
resin-io-versionbot[bot]
0829260c17 v4.4.2 2017-06-26 14:05:37 +00:00
Pablo Carranza Velez
18ca98a2ae Fix provisioning key exchange by passing apikey in the request
Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-26 07:04:43 -07:00
resin-io-versionbot[bot]
8f6c53a175 Auto-merge for PR #456 via VersionBot
Make cleanup in jenkins build less aggressive, but remove all created tags
2017-06-24 01:58:55 +00:00
resin-io-versionbot[bot]
bd997b4ea6 v4.4.1 2017-06-24 01:24:14 +00:00
Pablo Carranza Velez
829284e83a Make cleanup in jenkins build less aggressive, but remove all created tags
We've been deleting images by id and forcing removal, which might not play
nicely with other processes using images with shared parents. Now we don't force removal
and remove by tag and not by id, which should play more nicely with others. We also ensure
all the tags we use/create are removed so that images are actually deleted if not used.

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-21 17:22:28 -07:00
resin-io-versionbot[bot]
f16c5d5e92 Auto-merge for PR #453 via VersionBot
When apiEndpoint is not defined, work in offline mode (plus fix mixpanel init)
2017-06-15 05:32:59 +00:00
resin-io-versionbot[bot]
a5d6df6284 v4.4.0 2017-06-15 05:05:06 +00:00
Pablo Carranza Velez
00b53bd03e When apiEndpoint is not defined, work in offline mode
The supervisor uses an `API_ENDPOINT` environment variable to define what API to register to. Up to now this has been defaulted to `https://api.resin.io`.
(In Resin OS devices this environment variable ultimately comes from config.json).
This commit changes the behavior so that an empty value of that environment variable causes the supervisor to work in "offline mode", i.e. not connected to a remote server.
Basically only preloaded apps and the supervisor API work in this mode.

The config.json `supervisorOfflineMode` field still works for backwards compatibility, but we'll treat it as deprecated and it should be removed eventually.

Change-Type: minor
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-14 12:57:47 -07:00