Commit Graph

657 Commits

Author SHA1 Message Date
Tim Perry
430d4aeaa7 Be explicit about how much initial history log tailing includes
Change-Type: patch
2018-07-20 16:32:31 +02:00
resin-io-versionbot[bot]
1fa7141b58 v7.8.0 2018-07-20 10:40:22 +00:00
Akis Kesoglou
5cbe1c410f Add join/leave commands to promote and move devices between platforms
Both commands work with local devices by remotely invoking the `os-config` executable via SSH. This requires an as of yet unreleased resinOS (that will most likely be v2.14) and the commands ascertain compatibility merely by looking for the `os-config` executable in the device, and bail out if it’s not present.

`join` and `leave` accept a couple of optional arguments and implement a wizard-style interface if these are not given. They allow to interactively select the device and the application to promote to. If the user has no apps, `join` will offer the user to create one. `join` will also offer the user to login or create an account if they’re not logged in already without exiting the wizard.

`resin-sync` (that's used internally to discover local devices) requires admin privileges. If no device has been specified as an argument, the commands will launch the device scanning process in a privileged subprocess via two new internal commands: `internal sudo` and `internal scanDevices`. This avoids having the user to invoke the commands with sudo and only request escalation if truly needed. This commit also removes the dependency to “president”, implementing “sudo” functionality within the CLI.

Change-Type: minor
2018-07-19 22:18:02 +03:00
resin-io-versionbot[bot]
25b853c535 v7.7.4 2018-07-17 15:35:26 +00:00
Tim Perry
a93141343f Update TypeScript to 2.8.1
Change-Type: patch
2018-07-17 16:48:14 +02:00
Tim Perry
9a467c5ecd Pin all type modules 2018-07-17 15:59:31 +02:00
Tim Perry
0bf6fb1739 Add --version options to os configure & config generate
This is used to ensure the correct type of API key is used in all
configuration.

Change-Type: patch
2018-07-13 19:34:59 +02:00
resin-io-versionbot[bot]
dea5a60b2d v7.7.3 2018-07-13 17:05:32 +00:00
resin-io-versionbot[bot]
e04c4a8ee3 v7.7.2 2018-07-13 11:33:13 +00:00
Tim Perry
9d0c3f7535 Pin ext2fs to 1.0.7 to avoid temporary deployment issues
Change-Type: patch
2018-07-13 13:20:53 +02:00
resin-io-versionbot[bot]
8296dcf946 v7.7.1 2018-07-12 13:52:10 +00:00
Tim Perry
dc9ee09838 Update CLI to SDK v10 (include new API logs)
Change-Type: patch
2018-07-12 01:03:16 +02:00
resin-io-versionbot[bot]
ce3e04bfe8 v7.7.0 2018-07-11 04:21:42 +00:00
resin-io-versionbot[bot]
9017b8ec11 v7.6.2 2018-06-28 12:55:34 +00:00
resin-io-versionbot[bot]
fba4afb7d2 v7.6.1 2018-06-26 17:15:20 +00:00
resin-io-versionbot[bot]
7d1b00877e v7.6.0 2018-06-20 16:50:01 +00:00
Cameron Diver
1a48fed1f7
Support pinned release preloading
Change-type: minor
Closes: #886
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-06-13 12:29:30 +01:00
resin-io-versionbot[bot]
f6822f1502 v7.5.2 2018-06-12 18:26:12 +00:00
Tim Perry
398c34d842 Includes new prettier changes, and pin prettier to stop more appearing 2018-06-12 17:43:15 +02:00
resin-io-versionbot[bot]
0ce7878042 v7.5.1 2018-06-01 10:49:15 +00:00
resin-io-versionbot[bot]
78aa898b37 v7.5.0 2018-05-31 16:07:38 +00:00
Ariel Flesler
b7f94a222d Update resin-compose-parse dependency version to 1.10.2
Change-type: minor
2018-05-30 11:57:04 -03:00
resin-io-versionbot[bot]
7c178b8095 v7.4.1 2018-05-24 14:03:02 +00:00
resin-io-versionbot[bot]
c88dd2257a v7.4.0 2018-05-10 12:28:32 +00:00
Cameron Diver
439d8d396f
Add push command which starts a build on remote resin servers
Change-type: minor
Connects-to: #843
2018-05-10 11:43:45 +01:00
resin-io-versionbot[bot]
e85f252f29 v7.3.8 2018-05-03 17:49:06 +00:00
Tim Perry
e7a8deed05 Inline the entire resin-cli-errors module
It's awkward that error handling requires you to go to a different
package, it makes things more complicated, and there's nowhere else that
really should be reusing this logic. Let's inline it, so we can
deprecate the module entirely.

Change-Type: patch
2018-05-03 15:15:03 +02:00
resin-io-versionbot[bot]
7d7074e6b7 v7.3.7 2018-04-30 15:18:31 +00:00
Cameron Diver
35ca34d07d
Pin node types to v9.0.0 to avoid build errors with transient dependencies
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-04-30 16:09:12 +01:00
resin-io-versionbot[bot]
904b4e96d9 v7.3.6 2018-04-30 09:34:40 +00:00
Tim Perry
2c46c59a79 Update resin-image-fs to stop non-config commands failing in node 10
This doesn't fix actual usage of image fs, just makes it possible to
stop commands that don't use it from failing entirely.

Connects-To: #869
Change-Type: patch
2018-04-30 11:14:39 +02:00
resin-io-versionbot[bot]
a154401424 v7.3.5 2018-04-18 19:00:21 +00:00
resin-io-versionbot[bot]
167f38e342 v7.3.4 2018-04-18 16:27:52 +00:00
Tim Perry
919b3c3435 Include resin compose schemas in the standalone build
Fixes #844
Change-Type: patch
2018-04-18 13:34:35 +02:00
resin-io-versionbot[bot]
0a23563d7e v7.3.3 2018-04-17 14:01:51 +00:00
Tim Perry
a16ac37625 Include Sentry breadcrumbs for context in error reports
Change-Type: patch
2018-04-17 15:18:06 +02:00
Tim Perry
cf4c7826b2 Update to Sentry 2.x
Change-Type: patch
2018-04-17 15:18:06 +02:00
resin-io-versionbot[bot]
a921139a12 v7.3.2 2018-04-16 15:21:33 +00:00
Tim Perry
36da7b66c8 Update Dockerode to fix local push issue in standalone builds
Connects-To: #824
Change-Type: patch
2018-04-16 16:43:17 +02:00
resin-io-versionbot[bot]
6121fa505e v7.3.1 2018-04-13 19:38:01 +00:00
Pablo Carranza Velez
a5ba5befd1 Update resin-compose-parse to v1.8.1 to fix a problem parsing ports
Connects-to: https://github.com/resin-io/resin-supervisor/issues/618

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2018-04-13 11:17:18 -07:00
resin-io-versionbot[bot]
d7616e941a v7.3.0 2018-04-12 10:06:09 +00:00
Tim Perry
834a2f1e4d Warn user that api keys will not be shown again in future 2018-04-11 19:31:03 +02:00
Tim Perry
0e5f2fe748 Remove now-unused stream-to-promise dependency 2018-04-11 19:30:29 +02:00
Tim Perry
59d4890eae Add 'api-key generate' command
Change-Type: minor
2018-04-10 19:21:37 +02:00
resin-io-versionbot[bot]
2655aef28b v7.2.4 2018-04-10 13:49:09 +00:00
Tim Perry
45d3a7a124 Explicitly depend on tar-stream
Change-Type: patch
2018-04-10 13:10:25 +02:00
resin-io-versionbot[bot]
0a924b2dcb v7.2.3 2018-04-06 16:27:32 +00:00
Cameron Diver
89f62683ce
Add a fast build script to package.json
This doesn't run a linter or any documentation generation, aiding in
quick development time.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2018-04-06 15:40:08 +01:00
resin-io-versionbot[bot]
d166a65422 v7.2.2 2018-04-04 18:56:26 +00:00
resin-io-versionbot[bot]
81e653d31b v7.2.1 2018-03-29 13:52:06 +00:00
Tim Perry
875ec8b8bd Update docker-qemu-transpose to avoid the broken 0.4.1 release
Change-Type: patch
2018-03-29 15:28:56 +02:00
resin-io-versionbot[bot]
0829d3c176 v7.2.0 2018-03-29 10:09:08 +00:00
Tim Perry
d3a0bfc5f6 Fix auth utils tests to work with new SDK 2018-03-29 11:11:25 +02:00
resin-io-versionbot[bot]
a2d867c860 v7.1.6 2018-03-29 08:56:07 +00:00
Tim Perry
05b1c37379 Fix build emulation for multi-stage builds
Fixes #814
Change-Type: patch
2018-03-29 10:18:31 +02:00
resin-io-versionbot[bot]
3c8054faa7 v7.1.5 2018-03-27 17:51:36 +00:00
resin-io-versionbot[bot]
9cce4001af v7.1.4 2018-03-26 16:09:22 +00:00
Tim Perry
2e944cf2f4 Upgrade resin-sync to pull in the fix for #824
Change-Type: patch
2018-03-26 17:39:47 +02:00
resin-io-versionbot[bot]
49fec7d8f2 v7.1.3 2018-03-23 15:49:16 +00:00
resin-io-versionbot[bot]
69ce2c0473 v7.1.2 2018-03-23 13:49:24 +00:00
Alexis Svinartchouk
a3b446dbe7 Update resin-preload to 6.2.0 and resin-sdk to 9.0.0-beta16
Change-Type: patch
2018-03-23 13:41:16 +00:00
resin-io-versionbot[bot]
12e8a50abc v7.1.1 2018-03-22 17:06:07 +00:00
resin-io-versionbot[bot]
e011502b7e v7.1.0 2018-03-22 11:36:41 +00:00
Akis Kesoglou
62f006b89a Add legacy deploy method back
This mostly reverts the removal of the legacy deploy code that pushed image tars via the builder. It’s needed for users to avoid having to switch between CLI versions in order to push to legacy apps as well.

Note: this pins resin-sdk to 9.0.0-beta14 as I couldn’t get it to install otherwise — npm would always install 9.0.0-beta9 instead.

Change-Type: minor
2018-03-22 13:26:47 +02:00
resin-io-versionbot[bot]
bb102c1918 v7.0.7 2018-03-20 15:44:13 +00:00
Alexis Svinartchouk
24ebe2946c Update resin-preload to 6.1.2
Connects-To: #820

Change-Type: patch
2018-03-20 15:22:59 +00:00
resin-io-versionbot[bot]
e3b145e7b7 v7.0.6 2018-03-20 10:33:01 +00:00
Akis Kesoglou
1833f6ff0a Improve handling of build log output
This makes sure build logs don’t leak escape sequences and new lines and they don’t break the output. Also improved “inline” logs by normalising the stream before passing it to “transpose build stream”.

Fixes: #808
Change-Type: patch
2018-03-19 20:52:51 +02:00
resin-io-versionbot[bot]
13f76dc020 v7.0.5 2018-03-15 18:51:46 +00:00
resin-io-versionbot[bot]
a03680311d v7.0.4 2018-03-15 12:01:05 +00:00
resin-io-versionbot[bot]
b912419839 v7.0.3 2018-03-15 08:47:28 +00:00
resin-io-versionbot[bot]
b6e044345f v7.0.2 2018-03-13 10:47:55 +00:00
resin-io-versionbot[bot]
3a3178bcb9 v7.0.1 2018-03-12 15:36:10 +00:00
Tim Perry
c42bc74f1f Remove unnecessary resin-cli-auth dependency
Change-Type: patch
2018-03-12 11:41:58 +01:00
Tim Perry
35fd79f577 Remove (duplicated) runtime ts-node dependency 2018-03-12 11:41:14 +01:00
resin-io-versionbot[bot]
d0b7047189 v7.0.0 2018-03-09 22:04:51 +00:00
Alexis Svinartchouk
ae3f936b66 Update resin-preload to v6.0.0 2018-03-09 21:53:34 +00:00
Alexis Svinartchouk
1ef492809b Update resin-preload to v6.0.0-beta11 2018-03-09 20:40:13 +00:00
Alexis Svinartchouk
5bf9dd3a9d Update resin-preload to v6.0.0-beta10 2018-03-09 17:50:20 +00:00
Alexis Svinartchouk
b18a66f66b Update resin-preload to v6.0.0-beta9 2018-03-09 17:02:44 +00:00
Akis Kesoglou
14a3f51b73
Add docker-compose-aware builds and deployments
Legacy behaviour is mostly retained. The most notable change in behaviour is that invoking `resin deploy` without options is now allowed (see help string how it behaves).

In this commit there are also the following notable changes:

- Deploy/Build are promoted to primary commands
- Extracts QEMU-related code to a new file
- Adds a utility file to retrieve the CLI version and its parts
- Adds a helper that can be used to manipulate display on capable clients
- Declares several new dependencies. Most are already indirectly installed via some dependency

Change-Type: minor
2018-03-07 14:48:05 +00:00
Akis Kesoglou
7fd31b6a64
Update YAML parser
New version is 3.10.0
2018-03-07 14:47:16 +00:00
Akis Kesoglou
299bc0db13
Update docker-toolbelt
New version is 3.1.0.

The updated version is not backwards compatible as it removes all *Async methods that are in wide use in the CLI. The workaround for now is to manually promisify the client and replace all `new Docker()` calls with a shared function that returns a promisified client.
2018-03-07 14:47:15 +00:00
Akis Kesoglou
4b9ccae442
Update bundle-resolve and docker-build to latest
This brings in maintainance improvements.

New versions are:

- resin-bundle-resolve: 0.5.1
- resin-docker-build: 0.6.2
2018-03-07 14:46:35 +00:00
Tim Perry
079ce552e3
*BREAKING*: Remove support for plugins entirely
There are very few plugins in real-world use, we're not actively working
on this at all, and the current approach won't work once we move to
standalone node-less binary installation anyway.

Change-Type: major
2018-03-07 14:46:35 +00:00
Alexis Svinartchouk
f698f561c9
Multicontainer preload: Update resin-preload to 6.0.0-beta4
Change-Type: minor
2018-03-07 14:46:35 +00:00
Alexis Svinartchouk
76a5cdc977
Require multicontainer SDK
* require('resin-sdk') => multicontainer SDK
 * require('resin-sdk-preconfigured') => 6.15.0 SDK
 * all 'resin-sdk' requires replaced with 'resin-sdk-preconfigured'
 * resin-sdk-preconfigured TS typings are copy pasted from the current resin-sdk master

The idea is to progressively replace all 'resin-sdk-preconfigured'
requires with 'resin-sdk' (multicontainer sdk) and eventually remove
resin-sdk-preconfigured from package.json.

Change-Type: patch
2018-03-07 14:46:31 +00:00
resin-io-versionbot[bot]
ac7d51ad80 v6.13.5 2018-03-07 14:38:49 +00:00
resin-io-versionbot[bot]
a83d9a070c v6.13.4 2018-02-22 18:23:29 +00:00
Gergely Imreh
7637377471
Fix issue where emulated builds broke Docker ENV commands
Connects-to: #795
Change-type: patch
2018-02-22 18:12:17 +00:00
resin-io-versionbot[bot]
92534b9c82 v6.13.3 2018-02-20 21:30:39 +00:00
Tim Perry
c12360daa8 Tweak TS & add missing deps that may cause build failures in some envs
Connects-To: #765
Change-Type: patch
2018-02-20 20:26:18 +01:00
resin-io-versionbot[bot]
04adfde064 v6.13.2 2018-02-20 17:12:45 +00:00
resin-io-versionbot[bot]
55f8876bcc v6.13.1 2018-02-07 11:59:58 +00:00
Tim Perry
9fb66186f0 Move to the correct coffeescript (no hyphen) dependency
Change-Type: patch
2018-02-07 11:20:49 +01:00
resin-io-versionbot[bot]
5131f722a7 v6.13.0 2018-02-06 11:34:29 +00:00
resin-io-versionbot[bot]
5c0ba5d06c v6.12.9 2018-02-05 19:00:36 +00:00
Alexis Svinartchouk
d9532b6fa0 Switch back to upstream global-tunnel-ng
Connects-To: #780

Change-Type: patch
2018-02-05 15:55:26 +00:00
resin-io-versionbot[bot]
0e9b8e4140 v6.12.8 2018-02-03 15:50:09 +00:00
resin-io-versionbot[bot]
64c95e3811 v6.12.7 2018-01-30 17:29:59 +00:00
MoranF
33fd70291a Add 'or mounted resinOS image'
Connects-To: #764

Change-Type: patch
2018-01-30 17:30:18 +01:00
resin-io-versionbot[bot]
3761ab9610 v6.12.6 2018-01-29 14:44:44 +00:00
resin-io-versionbot[bot]
77529ef3b1 v6.12.5 2018-01-11 10:16:56 +00:00
resin-io-versionbot[bot]
c94f7b10bd v6.12.4 2018-01-10 09:48:26 +00:00
Tim Perry
83a76f7d6f Start using Prettier
Change-Type: patch
2018-01-10 09:23:00 +01:00
Tim Perry
6c988241eb Move capitanodoc into the automation folder 2018-01-10 08:41:19 +01:00
resin-io-versionbot[bot]
4b74e8ec70 v6.12.3 2018-01-09 21:00:55 +00:00
Tim Perry
6daed83d88 Lint TypeScript and CoffeeScript with resin-lint
Change-Type: patch
2018-01-09 17:14:49 +01:00
Tim Perry
f25442c036 Move documentation generation to TypeScript
Change-Type: patch
2018-01-09 17:14:49 +01:00
Tim Perry
ffffd447f2 Convert most of utils to TypeScript
Change-Type: patch
2018-01-09 17:14:48 +01:00
resin-io-versionbot[bot]
107a90395c v6.12.2 2018-01-09 14:03:45 +00:00
resin-io-versionbot[bot]
eb945b3315 v6.12.1 2018-01-02 10:49:06 +00:00
resin-io-versionbot[bot]
15b877f005 v6.12.0 2017-12-19 08:37:19 +00:00
Andreas Fitzek
1b4dabd37c
Add ssh option for direct host OS access
Use the `--host` (short `-H`) option in the ssh command to access
the host OS of the device.
Direct host OS is enabled for devices with Resin OS >= 2.7.5.

Change-Type: minor
Connects-To: #736
Signed-off-by: Andreas Fitzek <andreas@resin.io>
2017-12-18 17:03:16 +01:00
resin-io-versionbot[bot]
1a15fdd2f0 v6.11.0 2017-12-18 14:48:09 +00:00
Tim Perry
2c66280b3f Build standalone zips into a separate folder 2017-12-18 15:03:17 +01:00
Tim Perry
778c39d947 Ensure MDNS service definitions are included in standalone binaries 2017-12-18 14:55:07 +01:00
Tim Perry
afbb9474b7 Use proper strict settings for automation TS 2017-12-18 14:55:07 +01:00
Tim Perry
0acb4f8cb1 Fix docs generation when building on windows
Change-Type: patch
2017-12-18 14:55:07 +01:00
Tim Perry
2c9b80c177 Add manual script to deploy built CLI binaries to GitHub 2017-12-18 14:55:07 +01:00
Tim Perry
e8c19df8c9 Set up a script to automate builds, and support native extensions 2017-12-18 14:55:07 +01:00
Tim Perry
7681003512 Package the CLI into a standalone runnable binary
This has no native modules yet, which means it works on Linux,
but ignoring any ext4 image data. Drivelist will fail for
some windows operations, but most other things should work.

This is only building a folder with a runnable binary, this needs
packaging before it can be distributable.

Change-Type: minor
2017-12-18 14:55:07 +01:00
Tim Perry
dba8db19cb Move from open to opn
Change-Type: patch
2017-12-18 14:55:07 +01:00
resin-io-versionbot[bot]
f2840c5ca4 v6.10.3 2017-12-15 17:48:25 +00:00
resin-io-versionbot[bot]
e4432d1a90 v6.10.2 2017-11-27 17:25:41 +00:00
Tim Perry
bd6cb04a2b Replace underscore.string usage with lodash 2017-11-27 12:03:04 +02:00
Tim Perry
001c8f9601 Inline the entire resin-cli-auth module
This is part of a general push to demodularize any code that isn't
realistically reusable outside resin-cli, to make the codebase easier to
manage and understand. Once this is done, we'll deprecate the original
module itself.

Change-Type: patch
2017-11-27 12:02:57 +02:00
resin-io-versionbot[bot]
6fbe602b77 v6.10.1 2017-11-27 09:32:58 +00:00
Tim Perry
dc549a665b Update to latest latest typescript 2017-11-27 11:25:20 +02:00
Tim Perry
46ca62db3e Include lib/ in published package too, to enable sourcemaps 2017-11-23 19:29:07 +02:00
Tim Perry
eb68bb1a1a Set up TypeScript compilation, and make a small start on converting the CLI
Change-Type: patch
2017-11-23 19:28:15 +02:00
Tim Perry
93d1e3a4a1 Rename gulp build step to coffee 2017-11-23 19:24:03 +02:00
Tim Perry
ff2ee59dae Don't commit raw JS build output
This lets us avoid lots of potential conflicts, issues, and confusion,
and keeps reviews simpler and cleaner.

Change-Type: patch
2017-11-23 19:23:59 +02:00
resin-io-versionbot[bot]
67fcc6791c v6.10.0 2017-11-17 10:43:54 +00:00
resin-io-versionbot[bot]
656656bec1 v6.9.0 2017-11-16 14:09:40 +00:00
resin-io-versionbot[bot]
2db6cdd063 v6.8.3 2017-11-16 13:55:44 +00:00
resin-io-versionbot[bot]
3763bf0712 v6.8.2 2017-11-14 10:27:31 +00:00
resin-io-versionbot[bot]
727a245715 v6.8.1 2017-11-09 15:16:17 +00:00
resin-io-versionbot[bot]
ebd1d7e370 v6.8.0 2017-10-27 14:32:34 +00:00
Alexis Svinartchouk
eef192ff68 Allow preloading jetson-tx2 images, improve flasher images detection and remove the --dont-detect-flasher-type-images option.
* update resin-preload to 5.0.0

Connects-To: #705

Change-Type: minor
2017-10-27 12:14:27 +02:00
resin-io-versionbot[bot]
68e31468cc v6.7.4 2017-10-25 11:52:10 +00:00
resin-io-versionbot[bot]
737e961979 v6.7.3 2017-10-25 10:17:42 +00:00
Alexis Svinartchouk
3bca36c277 Allow specifying --commit=latest for resin preload
Connects-To: #700

Depends-On: https://github.com/resin-io/resin-preload/pull/137

Change-Type: patch
2017-10-25 12:09:08 +02:00
resin-io-versionbot[bot]
266870018a v6.7.2 2017-10-24 17:57:39 +00:00
Tim Perry
80bc044415 Make update-notifier more resilient and ensure it obeys NO_UPDATE_NOTIFIER, by updating it
Connects-To: #698
Change-Type: patch
2017-10-24 19:31:16 +02:00
resin-io-versionbot[bot]
385e2c7f7a v6.7.1 2017-10-24 14:56:48 +00:00
resin-io-versionbot[bot]
3f692ecbb0 v6.7.0 2017-10-18 18:18:01 +00:00
Tim Perry
a8f1d16b26 Make resin os configure safe with device keys for all ResinOS versions 2017-10-18 13:43:16 +02:00
Pagan Gazzard
3fd4f328ab Added a device api key parameter to the os configure command.
Change-Type: minor
2017-10-18 13:43:16 +02:00