Eugene Mirotin
8bdacbb11e
dedupe the shared options
2017-06-15 16:43:12 +03:00
Eugene Mirotin
d2a9aee685
improve available drives listing
...
make the config a path to the file and not the stringified JSON
2017-06-15 16:43:02 +03:00
Eugene Mirotin
77a4c6fdc2
move available-drives command to util
2017-06-15 16:43:02 +03:00
Eugene Mirotin
97480d3aa4
Improve the supported device types listing
2017-06-15 16:39:55 +03:00
Eugene Mirotin
2e7e033bb9
allow prebuilding the device config and reusing it
2017-06-15 16:39:55 +03:00
Eugene Mirotin
ad940824a6
list detected drives with resin os available-drives
2017-06-15 16:39:55 +03:00
Eugene Mirotin
ed83514a2f
allow passing --drive to resin device init
2017-06-15 16:39:55 +03:00
Eugene Mirotin
8d91a5732a
tolerate the --yes param to device init
2017-06-15 16:39:55 +03:00
Eugene Mirotin
1cfe64e4a7
choose version during device init, and list versions with resin os versions
2017-06-15 16:39:55 +03:00
Eugene Mirotin
24388811ad
remove the user requirement for the supported devices list
2017-06-15 16:38:55 +03:00
Tim Perry
c8d51d92e7
Show a clear message immediately as the deploy starts, if we're deploying an image.
...
Change-Type: patch
2017-06-15 12:36:40 +02:00
Tim Perry
5a28d4c92f
Make cleanup reliable if a local build fails
2017-06-15 12:36:40 +02:00
Tim Perry
66a4faeea5
Small improvement to resin deploy docs
...
Change-Type: patch
2017-06-15 12:36:40 +02:00
Tim Perry
cf7bf2cb7d
Fix the gzip level for image uploads to a good perf/size balance
2017-06-15 12:01:22 +02:00
Tim Perry
df3c5ca07f
Gzip while streaming, rather than gzipping the buffer up front
...
Connects-To: #549
2017-06-15 12:01:22 +02:00
Tim Perry
e584dc43f7
Gzip images when uploading in resin deploy
...
Change-Type: minor
Connects-To: #549
2017-06-15 12:01:22 +02:00
Tim Perry
90a5b15dbc
Refactor docker stream buffering before start gzipping
2017-06-15 12:01:22 +02:00
Gergely Imreh
974be5cc13
resin build: fix mismatch in command line argument signature
...
The command line arg was taking `devicetype`, but the rest of the code
uses `deviceType`. Thus it was impossible to specify a device type
in practice to build a `Dockerfile.template`.
Change-type: patch
Signed-off-by: Gergely Imreh <imrehg@gmail.com>
2017-05-30 10:34:32 +01:00
Tim Perry
78ab47b584
Fix breaking bug in resin local ssh
2017-05-22 20:49:34 +02:00
Eugene Mirotin
4b5240d8cd
check for proxytunnel presence
2017-05-19 02:10:14 +03:00
Eugene Mirotin
6ae59654a0
fix
2017-05-19 01:44:30 +03:00
Eugene Mirotin
b88f7a993c
escape params
2017-05-19 01:25:01 +03:00
Eugene Mirotin
880fb43fd9
some fixes
2017-05-18 15:12:52 +03:00
Eugene Mirotin
bc79832e1d
resin ssh proxy support
2017-05-12 18:09:43 +03:00
Tim Perry
6e5e4bd8a6
Get docs and the code generating them back in sync (from #515 , #508 )
2017-05-12 12:01:37 +02:00
Akis Kesoglou
fc5640c79d
Draw a progress bar for upload progress
...
Change-Type: patch
2017-05-10 22:28:51 +03:00
Kostas Lekkas
c12b59b978
Show device dashboard url in 'resin device' output
...
change-type: minor
2017-05-08 13:51:06 +03:00
Cameron Diver
3ff5880ae3
Allow resin-cli deploy to also upload build logs if present
...
If build is ran through `resin deploy`, then logs will be stored and
uploaded to the database, where the dashboard can display them
Change-type: minor
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-05-04 13:11:50 +01:00
Eugene Mirotin
3df30c8b5a
fix ssh proxy URL retrieval
2017-04-27 16:20:32 +03:00
Cameron Diver
39b171fd2a
Add documentation for new resin build and resin deploy commands
...
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-04-26 13:38:35 +01:00
Cameron Diver
f50ae65560
Add cloud-builder builder output parity to build and deploy
...
Change-type: minor
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-04-25 13:13:11 +01:00
Cameron Diver
4fa1a9c1c6
Share nocache and tag build options between build and deploy
...
`resin build` had access to the `--nocache` and `--tag` options for
building with docker, but `resin deploy` did not. This commit adds the
options to the shared dockerUtils.appendOptions function.
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-04-24 20:05:18 +01:00
Cameron Diver
9050cb1975
Respect source parameter in resin build
...
Upon changing the name of the source parameter from `context`, some
places weren't changed, this commit fixes that.
Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-04-24 16:41:15 +01:00
Cameron Diver
d3772386bf
Add ability to build and deploy image locally using resin-cli
...
Using `resin build` a user can now build an image on their own docker
daemon. The daemon can be accessed via a local socket, a remote host and
a remote host over a TLS socket. Project type resolution is supported.
Nocache and tagging of images is also supported.
Using `resin deploy` a user can now deploy an image to their fleet. The
image can either be built by `resin-cli`, plain Docker, or from a remote
source.
Change-type: minor
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-04-23 14:31:45 +01:00
Eugene Mirotin
225d3acf9e
log unhandled exceptions
2017-04-21 13:10:30 +03:00
Eugene Mirotin
380a94f0f8
update to modules that have native node v4 support
2017-04-14 14:48:19 +03:00
Eugene Mirotin
77b30409bb
update resin-device-init to pull in etcher-image-write
2017-03-28 14:37:13 +03:00
Eugene Mirotin
137473353c
remove username request from the signup process
2017-03-28 14:37:11 +03:00
Eugene Mirotin
08b3db717e
use individual methods promisification instead of promisifyAll
2017-03-27 12:14:55 +03:00
Eugene Mirotin
6cf32e445a
isolate the sudo-runnable command
2017-03-27 11:43:35 +03:00
Eugene Mirotin
cba105a41b
suppress warning during the device init OS download
2017-03-23 15:27:54 +03:00
Eugene Mirotin
b629c3601e
implement the version menu
2017-03-22 15:45:05 +03:00
Eugene Mirotin
3619b2f117
allow specifying the version
2017-03-22 13:28:46 +03:00
Eugene Mirotin
4231f50c4c
download the non-preview version by default
2017-03-22 12:55:55 +03:00
Eugene Mirotin
95fff4b7c4
build bare modules
2017-03-22 12:46:06 +03:00
Eugene Mirotin
b3aa3d35f7
fix resin local push help message and lint errors
2017-03-21 12:06:05 +03:00
Kostas Lekkas
73dd625ede
Require superuser for scan commands, also introduce docker timeout
2017-03-10 17:59:54 +00:00
Kostas Lekkas
08db3ace03
Bump resin-sync@7.0.0: use experimental rds which requires superuser permissions
2017-03-10 17:59:54 +00:00
Kostas Lekkas
7ad468dc54
Implement 'resin local stop'
2017-03-09 23:49:56 +00:00
Kostas Lekkas
7aee4d6d7f
Filter our devices that do not expose docker socket
2017-03-09 20:54:11 +00:00
Kostas Lekkas
53bf314820
Remove app create from primary commands
2017-03-08 23:41:35 +00:00
Kostas Lekkas
1ae1a15259
Implement 'resin local'
2017-03-08 23:41:35 +00:00
Kostas Lekkas
20ed8c9169
Implement 'resin local push'
2017-03-08 23:41:32 +00:00
Kostas Lekkas
977e3fb0ff
Implement 'resin local ssh'
2017-03-08 23:41:29 +00:00
Kostas Lekkas
c5df32f952
Implement 'resin local scan'
2017-03-08 22:43:23 +00:00
Kostas Lekkas
f5cd3375f2
Implement 'resin local promote'
2017-03-08 22:43:23 +00:00
Kostas Lekkas
3b4c8f2a01
Implement 'resin local logs'
2017-03-08 22:43:23 +00:00
Kostas Lekkas
356042557e
Implement 'resin local flash'
2017-03-08 22:43:21 +00:00
Kostas Lekkas
00753a5776
Implement 'resin local configure'
2017-03-08 18:43:34 +00:00
Kostas Lekkas
fb06249b08
resin ssh: handle undefined uuid parameter
...
change-type: patch
2017-03-03 17:25:51 +02:00
Kostas Lekkas
2fde6241c2
Support resin sync for remote resin.io AUFS devices
...
change-type: minor
2017-02-01 15:52:17 +02:00
Tim Perry
b629ee6164
Move to preconfigured resin sdk
2017-01-25 19:33:43 +01:00
Eugene Mirotin
7a0e8beb07
update for the new resin.models.device.generateUniqueKey
2017-01-25 19:25:12 +01:00
Eugene Mirotin
f17cbb1205
use the new SDK factory
2017-01-25 19:25:12 +01:00
Kostas Lekkas
d473509675
Docs: fix requirements for resin ssh and resin sync
...
change-type: patch
2017-01-18 18:04:37 +02:00
Juan Cruz Viotti
01cad3c048
Fix Boolean options can't have parameters
error
...
This error was introduced as part of
`9cf42462c029e038e09efc961736946be8bfcb9b`, since the `forceUpdateLock`
option being used in the `reboot` command contains a `parameter`
property despite being declared a boolean.
Signed-off-by: Juan Cruz Viotti <jviotti@openmailbox.org>
2016-10-28 12:11:57 -04:00
Pablo Carranza Velez
9cf42462c0
Add a device shutdown command, and allow forcing reboot and shutdown
2016-10-27 18:39:31 -03:00
Juan Cruz Viotti
c6e669fa6b
Bring back devices supported
command
...
Fixes: https://github.com/resin-io/resin-cli/issues/394
Signed-off-by: Juan Cruz Viotti <jviotti@openmailbox.org>
2016-09-25 19:49:06 -04:00
Kostas Lekkas
16a1741374
resin sync: always display device selection dialog when uuid is not passed as an argument
...
Closes #375
2016-09-15 13:09:25 +03:00
Kostas Lekkas
7bd8a683b2
resin sync: remove quotes from --source/--destination help as it implies they're required
...
Closes #372
2016-09-15 13:09:25 +03:00
Kostas Lekkas
6b00bbc73a
resin sync: add --after option
2016-09-15 13:09:25 +03:00
Kostas Lekkas
42d0b52df7
resin ssh: disable ControlMaster ssh option
...
This change was necessary because our ssh gateway does not
support ControlMaster mode.
Closes #366
2016-09-15 13:09:25 +03:00
Kostas Lekkas
97c768edcd
resin sync: add --skip-gitignore option. Improve help section wording
2016-09-15 13:09:25 +03:00
Kostas Lekkas
10a0924cd7
resin sync: load uuid from .resin-sync.yml if possible
2016-09-15 13:09:25 +03:00
Kostas Lekkas
fdb8bf6967
resin sync: add --destination option and require --source if .resin-sync.yml is missing
...
Closes #359
2016-09-15 13:09:25 +03:00
Kostas Lekkas
af8d20ea3f
resin sync/ssh: only accept uuid as destination
...
Also change --port option alias to '-p' from '-t'
2016-09-15 13:09:25 +03:00
Juan Cruz Viotti
8b485b5ad5
Attempt to get device type from the image first partition
...
New images will ship a `device-type.json` file in the first partition,
which we can use instead of querying the API for certain configuration
and initialisation commands.
If the file is not found, or is malformed, we still fallback to the API.
Signed-off-by: Juan Cruz Viotti <jviotti@openmailbox.org>
2016-09-14 11:06:17 -07:00
Praneeth Bodduluri
cb386d15aa
Add OS version to devices,device commands and Supervisor Version to devices command
2016-08-10 18:42:34 +05:30
Praneeth Bodduluri
7b0415a270
Switch to more human-like command name and follow convention from dashboard
2016-08-09 22:44:40 +05:30
Praneeth Bodduluri
3adb8f19bd
Implement device enableDeviceUrl/disableDeviceUrl/hasDeviceUrl/getDeviceUrl
2016-08-09 18:45:24 +05:30
Kostas Lekkas
81a6843c93
resin ssh: Implement device inference and autoselect if there is a single one
2016-07-07 21:51:53 +03:00
Kostas Lekkas
b672ff1fa1
resin sync: change argument/help to a more meaningful 'resin sync [destination]'
2016-07-07 20:37:11 +03:00
Kostas Lekkas
6d1d4dc173
Support verbose flag for resin sync
2016-06-22 17:59:14 +03:00
Kostas Lekkas
12854db923
Support --verbose/-v flag in resin ssh
...
Closes https://github.com/resin-io/resin-cli/issues/353
2016-06-22 14:57:43 +03:00
Kostas Lekkas
29c20e32f6
Reword config help instructions
...
Closes #351
2016-06-14 19:08:25 +03:00
Juan Cruz Viotti
995194fe2c
Merge pull request #346 from resin-io/misc/ssh-sync-cmd-exe-warning
...
Clarify that sync and ssh only support cmd.exe on Windows
2016-05-19 10:17:28 -04:00
Juan Cruz Viotti
a90d568d5c
Clarify that sync and ssh only support cmd.exe on Windows
...
Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
2016-05-19 10:10:45 -04:00
Kostas Lekkas
a265063fa1
Change resin ssh loglevel from QUIET to ERROR
2016-05-19 16:52:23 +03:00
Juan Cruz Viotti
b061644b19
Make resin ssh work in Windows cmd.exe
...
Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
2016-05-06 13:12:55 -04:00
Juan Cruz Viotti
9a515ef4e3
Return control to capitano at the end of the ssh command
...
Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
2016-04-26 12:37:39 -04:00
Kostas Lekkas
42bfb3b0cc
Implement resin ssh <uuid> command
2016-04-26 16:00:54 +03:00
Juan Cruz Viotti
4a05ce3f53
Attempt to infer the device uuid in resin sync
...
This PR adds functionality to `resin sync` to try to infer what the
device uuid is as follows:
- If the argument to `resin sync` is an app, get all the devices from
that application. If there is only one, auto-select it, otherwise show
an interactive drive selection widget.
- If the argument to `resin sync` is a uuid, use it directly, without
trying to infer anything.
- If no argument is passed to `resin sync`, display an interactive
selection widget showing all your devices from all your applications.
Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
2016-04-25 08:57:19 -04:00
Kostas Lekkas
b5ec49dda1
Remove resin sync 'exec after rsync' feature as it's not supported by
...
ssh gateway
2016-04-25 14:47:05 +03:00
Juan Cruz Viotti
e9b8c38eeb
Integrate sync plugin in the Resin CLI
2016-03-28 09:21:25 -04:00
Juan Cruz Viotti
2d8cf7c479
Allow generating a config.json from an application with config generate
...
Currently, `config generate` requires a device uuid. The command now
accepts either a uuid or an application name, and generates a
config.json accordingly.
2016-03-21 15:42:54 -04:00
Juan Cruz Viotti
3a839c947e
Upgrade resin-device-config to v3.0.0
2016-03-21 15:01:59 -04:00
Juan Cruz Viotti
03d7520de2
Implement config inject command
...
This command allows to user to inject a whole `config.json` file to a
provisioned device.
2016-03-17 16:07:19 -04:00
Juan Cruz Viotti
6405c6bb6f
Implement device reboot command
...
Fixes: https://github.com/resin-io/resin-cli/issues/319
2016-03-04 09:38:11 -04:00
Juan Cruz Viotti
84ed20d3ec
Implement config generate command
...
This command allows the user to generate a config.json file and either
print it to stdout or save it to a file.
2016-02-26 22:37:15 -04:00
Juan Cruz Viotti
db3de2137b
Remove hardcoded readdir path
...
This was probably used for debugging at some point and got commited
accidentally.
2016-02-19 08:35:10 -04:00
Juan Cruz Viotti
356d2ef6b2
Inject analytics in Capitano
2016-02-12 14:34:16 -04:00
Juan Cruz Viotti
d72750de65
Show if a device is online in devices command
...
Fixes: https://github.com/resin-io/resin-cli/issues/312
2016-02-10 08:51:00 -04:00
Juan Cruz Viotti
6c677fe8cd
Refer to device uuids in command help
...
Currently the CLI asks for a device "name" on device options while it
actually needs a "uuid".
Fixes: https://github.com/resin-io/resin-cli/issues/309
2016-01-28 09:10:11 -04:00
Juan Cruz Viotti
35bba04b16
Show parsed device status in device command
2016-01-26 12:16:55 -04:00
Juan Cruz Viotti
40f015de93
Fix grammar issue: Administration -> Administrative
2016-01-25 09:00:04 -04:00
Juan Cruz Viotti
ebefd816b6
Show shorter uuids when listing devices
2016-01-21 10:26:13 -04:00
Juan Cruz Viotti
fb1ef0df63
Promote shorter uuids in all examples
2016-01-21 10:23:40 -04:00
Juan Cruz Viotti
add30b33a1
Remove registered device resource in case of errors in quickstart
...
A device resource needs to be registered with the API before being able
to create the `config.json` file that goes in a device.
This means thats the device image is configured and written to an
external drive (e.g: SDCard) *after* the device resource registered.
If any of the above operations fail, there will be an unitialized orphan
device living in the selected application that the user will have to
remove himself.
2016-01-14 09:14:45 -04:00
Juan Cruz Viotti
4645ad06bc
Redirect users to signup from login if they don't have an account
2016-01-13 00:25:31 -04:00
Juan Cruz Viotti
c3a5998d5c
Reuse messages
2016-01-12 10:45:32 -04:00
Juan Cruz Viotti
78ab2af8ba
Print verbose help in resin help command
2016-01-12 10:39:29 -04:00
Juan Cruz Viotti
11354de596
Print an informative message after successful login
2016-01-12 10:30:56 -04:00
Juan Cruz Viotti
86cac606e4
Add Resin.io ASCII art in login
2016-01-12 10:23:46 -04:00
Juan Cruz Viotti
9b052c9aa5
Handle authentication in quickstart
...
If the user is not logged in, make quickstart prompt for authentication
automatically.
2016-01-12 10:12:44 -04:00
Juan Cruz Viotti
8d709aea7d
Implement purely interactive login command
...
The new login command interactively asks the user if he wants to login
using web/credentials/token.
2016-01-12 09:08:03 -04:00
Juan Cruz Viotti
11c0d2a847
Merge pull request #289 from resin-io/help/device-init-primary
...
Don't make `device init` a primary command
2016-01-12 08:08:38 -04:00
Juan Cruz Viotti
d859228aa9
Stop instructing users to run quickstart as root
...
Elevation is asked in specific steps automatically.
2016-01-11 16:01:40 -04:00
Juan Cruz Viotti
2be105d329
Don't make device init
a primary command
...
Unlikely that a user will run this directly having the more high level
`quickstart`.
2016-01-11 16:00:07 -04:00
Juan Cruz Viotti
9cfce68489
Change license to Apache 2.0
2016-01-03 23:58:51 -04:00
Juan Cruz Viotti
b71c28cec0
Add optional credential-based authentication
2015-12-12 00:11:04 -04:00
Juan Cruz Viotti
26e3cb7957
Add timestamp to logs lines
2015-12-11 20:28:29 -04:00
Juan Cruz Viotti
210680c9c9
Lazy load command actions dependencies
...
In my system (MBPr 13), printing the current version takes over 2
seconds:
```sh
$ time ./bin/resin version
2.4.0
./bin/resin version 1.37s user 0.19s system 73% cpu 2.130 total
```
The CLI takes almost all of these time to parse the dependency tree
before returning control over the actually called command.
To mitigate this problem, we only require the NPM dependencies a command
requires when executing such command, and thus prevent dependencies from
being required and parsed unnecessary.
After this improvement, printing the original example (`resin version`)
returns in less than a second (2x improvement):
```sh
$ time ./bin/resin version
2.4.0
./bin/resin version 0.88s user 0.09s system 102% cpu 0.938 total
```
2015-12-07 11:48:54 -03:00
Juan Cruz Viotti
7d0da7adc0
Merge pull request #277 from resin-io/jviotti/feat/token-login
...
Support for login in with token
2015-12-04 10:55:39 -04:00
Juan Cruz Viotti
2e247faae4
Merge pull request #276 from resin-io/jviotti/feat/quickstart-after-instructions
...
Add helpful instructions after quickstart
2015-12-03 10:24:13 -04:00
Juan Cruz Viotti
3997a61b78
Support for login in with token
...
This is useful in the scenario when the user is using the CLI in an
environment in which he/she doesn't have access to a web browser, like a
headless server or a Vagrant development environment.
2015-12-03 10:22:22 -04:00
Juan Cruz Viotti
8ef27f0525
Add helpful instructions after quickstart
2015-12-02 16:28:32 -04:00
Juan Cruz Viotti
20855be968
Merge pull request #275 from resin-io/jviotti/feat/sudo-explain
...
Explain why we need the computer password on device init
2015-12-02 15:59:27 -04:00
Juan Cruz Viotti
abc8399260
Explain why we need the computer password on device init
2015-12-02 11:15:20 -04:00
Juan Cruz Viotti
9ad2ba1131
Show id in devices command
2015-12-02 09:06:41 -04:00
Juan Cruz Viotti
9a89e3c3ca
Perform automatic token exchange with the dashboard
2015-11-25 09:25:08 -04:00
Juan Cruz Viotti
ae8621dc81
Simplify download output message
...
The message displayed the output of the download, which was mainly used
for debugging purposes when developing `device init` and `quickstart`.
2015-11-23 23:38:28 -04:00
Juan Cruz Viotti
a4642f6184
Clarify resin url on auth and whoami
...
When you change the `resinUrl` config from time to time it can be
confusing to remember where you're logging in, or in which host you're
in.
Currently I have to check the configuration files/environment variables
manually or run `resin settings`.
This PR prints the detected resin url on `resin login` and `resin
whoami` so it's always clear where you are.
2015-11-16 10:11:08 -04:00
Juan Cruz Viotti
f52dd2976f
Implement settings command
...
This command allows the user to list all detected settings.
2015-11-15 22:08:02 -04:00
Juan Cruz Viotti
43697a3476
Show uuid in devices command
...
The command to get information about a device, `resin device` requires a
`uuid` as a parameter. Given that we don't show uuids in `resin
devices`, the user has no way to know what uuid to pass to get extra
information.
We also remove some non very used information columns from `resin
devices` to make space for the uuid.
2015-11-13 14:06:55 -04:00
Juan Cruz Viotti
ba318f2939
Implement device move command
...
This command allows to user to move a device to another application he
owns.
2015-11-12 07:47:16 -04:00
Juan Cruz Viotti
f64676ab98
Implement config reconfigure command
...
This command allows the user to reconfigure an already provisioned
device.
Fixes: https://github.com/resin-io/resin-cli/issues/102
2015-11-11 10:38:45 -04:00
Juan Cruz Viotti
4fc7a4e436
Make use of resin-config-json for config commands
...
This module encapsulates the low level details of `config.json` I/O and
tests them extensively.
See: https://github.com/resin-io/resin-config-json
2015-11-11 10:04:46 -04:00
Juan Cruz Viotti
3b35aed3bf
Implement config write command
...
This command allows the user to overwrite properties of the config.json
file.
2015-11-10 14:28:18 -04:00
Juan Cruz Viotti
5509a3e9fd
Implement config read command
...
This command is used to read a config.json from a provisioned device
2015-11-10 12:53:34 -04:00
Juan Cruz Viotti
f921488e8c
Remove app associate command
2015-10-21 13:25:22 -04:00
Juan Cruz Viotti
f66cd00646
Remove project directory creation in quickstart
...
The last part of `quickstart` feels weird. By consensus, we remove the
part that attempts to create a project directory and leave that step to
the user.
2015-10-21 11:18:29 -04:00
Juan Cruz Viotti
7a4f551a47
Use rindle instead of custom waitStream
2015-10-21 10:17:10 -04:00
Juan Cruz Viotti
c1e6a28640
Refactor validation to a single place
2015-10-21 09:37:25 -04:00
Juan Cruz Viotti
ec72f93480
Merge pull request #242 from resin-io/jviotti/feature/us-pw-login
...
Implement user/password login with 2FA support
2015-10-21 09:32:17 -04:00
Juan Cruz Viotti
8913fb515b
Implement user/password login with 2FA support
2015-10-21 08:28:20 -04:00
Juan Cruz Viotti
f2507daa09
Allow advanced option in device init
...
This option is inherited to `os configure`.
2015-10-20 09:16:56 -04:00
Juan Cruz Viotti
ff81c1e514
Merge pull request #234 from resin-io/jviotti/feature/advanced-options
...
Ignore advanced configuration questions by default
2015-10-20 09:12:38 -04:00
Juan Cruz Viotti
d28ecf3230
Allow passing a custom uuid to device register
2015-10-19 14:16:47 -04:00
Juan Cruz Viotti
ec28bd9c9e
Ignore advanced configuration questions by default
...
The advanced questions can be enabled by passing `--advanced` in `os
configure`.
2015-10-19 14:02:57 -04:00
Juan Cruz Viotti
ad68dcf692
Fix --type option taking no effect in app create
2015-10-19 13:07:23 -04:00
Juan Cruz Viotti
b2425d2c0e
Take device type as an option in os initialize
2015-10-15 09:11:38 -04:00
Juan Cruz Viotti
71ee0a6cf7
Support drive option in os initialize
...
This allows the user to bypass the drive selection dialog.
This option can be used along with `--yes` to make the command
completely non-interactive. For example:
$ resin os initialize rpi.img 'raspberry-pi' --drive /dev/disk2 --yes
2015-10-15 08:14:35 -04:00
Juan Cruz Viotti
58713dc291
Add missing yes
option to os initialize
...
This option is tried to be used within the command, but is not defined
as a formal Capitano option.
2015-10-14 17:49:27 -04:00
Juan Cruz Viotti
cddf630907
Avoid _.ary in temporal path disposer
...
For some reason fails with a weird Bluebird error on Windows
2015-10-12 18:12:58 -04:00
Juan Cruz Viotti
e5e871ddcd
Upgrade SDK to v3.0.0
...
Breaking changes in this version:
- `resin.models.device.generateUUID()` is now async.
2015-10-12 08:34:22 -04:00
Juan Cruz Viotti
f8470287c1
Separate general help per topic relevance
...
Only list primary commands by default, unless a `--verbose` option is
passed to list the additional ones.
Fixes: https://github.com/resin-io/resin-cli/issues/101
2015-10-02 08:50:32 -04:00
Juan Cruz Viotti
445e37ccaf
Call os initialize as an elevated process
...
Currently, the fact that `os initialize` requires elevated permissions
forced us to require calling commands that reuse it, such as `device
init` and `quickstart` with administrator permissions as well.
This ended up causing issues like saving images in the cache that belong
to root, or initializing git repositories that requires `sudo` to
commit.
The solution is to call `os initialize` as a child process preppending
`sudo` within `device init`.
Fixes: https://github.com/resin-io/resin-cli/issues/109
2015-10-01 13:07:53 -04:00
Juan Cruz Viotti
90be01b05d
Make os initialize take a device type instead of a uuid
2015-09-30 14:31:23 -04:00
Juan Cruz Viotti
0443a35f2b
Merge pull request #207 from resin-io/jviotti/fix/promise-using
...
Fix incorrect Promise.using syntax
2015-09-30 12:06:51 -04:00
Juan Cruz Viotti
79d1892b66
Send device type correctly to getManifestBySlug
...
Currently, we we're sending the wholea device object to
`getManifestBySlug`, which ended up in an unsupported device error.
2015-09-30 11:38:34 -04:00
Juan Cruz Viotti
0e06ac464f
Fix incorrect Promise.using syntax
...
`Promise.using` takes the function that acts on the resource as the
second argument, instead of as `.then()`.
2015-09-30 11:37:27 -04:00
Juan Cruz Viotti
5ae83d8337
Merge pull request #206 from resin-io/jviotti/fix/uncompress-os-download
...
Uncompress zip packages in os download
2015-09-30 10:48:36 -04:00
Juan Cruz Viotti
8234f7675a
Uncompress zip packages in os download
...
When downloading an operating system image, if the image is a zip
package, uncompress it automatically.
2015-09-30 10:16:24 -04:00
Juan Cruz Viotti
15cb0c4889
Use rimraf for deleting os temporary files
...
We already use `rimraf` for deleting os temporary directories, however
there are a few benefits of using it for files as well:
- Simplicity. We avoid having to check if a path is a file or directory.
- `rimraf` attempts to workaround the known Windows issues of anti
viruses not closing files. Described in more detail here: https://github.com/resin-io/resin-cli/blob/master/TROUBLESHOOTING.md#i-get-ebusy-errors-after-initializing-a-device-even-as-administrator-on-windows
2015-09-30 10:06:08 -04:00
Juan Cruz Viotti
a3ebd9827f
Merge pull request #204 from resin-io/jviotti/fix/console.info
...
Use console.info in os download
2015-09-30 10:05:19 -04:00
Juan Cruz Viotti
30d84f015a
Merge pull request #199 from resin-io/jviotti/feature/197/device-init-apps
...
Prompt for select application if running device init with no arguments
2015-09-29 15:31:59 -04:00
Juan Cruz Viotti
6377618c12
Use console.info in os download
...
`console.info` calls can be quieted by the `--quiet` option.
2015-09-29 15:15:39 -04:00
Juan Cruz Viotti
f17e9c97b8
Prompt for select application if running device init with no arguments
...
Currently, if `device init` was ran without an application argument, we
attempted to get the application name from the current directory, given
it was a git repository.
This approach led to confusions from time to time, so now we prompt the
user to select one of it's own applications from a dropdown instead of
checking the current directory in this edge case.
Fixes: https://github.com/resin-io/resin-cli/issues/197
2015-09-29 15:10:59 -04:00
Juan Cruz Viotti
21fcdfaff6
Use Promise.disposer() to make sure temp files are deleted
2015-09-29 15:08:24 -04:00
Juan Cruz Viotti
d704c10197
Implement os initialize command
...
This command initialized an operating system image with a disk device.
2015-09-29 14:52:34 -04:00
Juan Cruz Viotti
7e6eb4b9e4
Implement device register command
...
This command registers a new device with the passed application,
returning the new device uuid.
2015-09-29 14:33:31 -04:00
Juan Cruz Viotti
42256384be
Implement os configure
...
This command, given a path to an image and a device uuid, perform
configuration based on the resin-device-type manifests.
2015-09-29 13:47:10 -04:00
Juan Cruz Viotti
f6d8f12ba2
Implement os download command
...
This command download an unconfigured image to both the cache and to the
specified location by the `--output` option.
2015-09-29 13:03:14 -04:00
Juan Cruz Viotti
828b4f73d1
Fix selecting existing application in quickstart
2015-09-11 18:30:30 +03:00
Juan Cruz Viotti
64c8420c9d
Implement device specs. Fix #99
...
Support for all devices. Tested in the following ones:
- Intel Edison.
- Raspberry Pi 2.
- Parallella.
2015-09-11 13:02:59 +03:00
Juan Cruz Viotti
79afa79fd9
Use settings from the SDK during login
...
This enforces all clients to use the Resin Settings Client version that
the SDK provides, reducing incompatibilities caused by different modules
requiring different Resin Settings Client versions.
2015-09-08 09:06:03 +03:00
Juan Cruz Viotti
dc257b5cab
Check token validity against the API when login
...
Consider the following case:
The SDK is configured to point to staging, but the user passes a token
from production, or viceversa. Since the token is valid in a sense that
is valid JWT and contains real data, the CLI will report as a success.
The user will then get Unauthorized errors when using the API.
2015-09-05 20:17:34 +03:00
Juan Cruz Viotti
4bdcd3d2ee
Merge pull request #180 from resin-io/issue_#103
...
Resin CLI Events integration. Fix #103
2015-09-05 20:11:52 +03:00
mike
b0650530cc
Resin CLI Events integration. Fix #103
2015-09-05 19:15:31 +03:00
mike
8c3e832cdc
Replace device name with uuid in env-variables command example
2015-09-01 00:56:01 +03:00
Juan Cruz Viotti
a090e6c21d
Refactor quickstart
...
- Use promises.
- Move some logic to `helpers`.
- Inline `device await` command.
2015-08-27 10:01:33 -04:00
Juan Cruz Viotti
354921ca92
Add Aborted
error message when not accepting a confirmation
...
This prevents a lot of duplicate code to check for confirmation status
and exit from the current action.
2015-08-20 16:16:20 -04:00
Juan Cruz Viotti
dc513a08f6
Update Resin CLI Form to v1.2.0
...
This version includes support for the `drive` input type.
2015-08-20 11:55:53 -04:00
Juan Cruz Viotti
a803d4f646
Remove plugins manipulation commands
...
Since we're now forcing users to rely on `npm` directly for updates, we
can also get rid of plugin commands that attempt to
install/update/remove using npm programatically and require users to use
`npm` directly as well.
This commit removes the following commands:
- `plugins`
- `plugin install`
- `plugin update`
- `plugin remove`
Despite plugin related commands being removed, *the functionality that
scans for plugins and registers them remains intact*.
2015-08-19 10:57:42 -04:00
mike
019e2ac357
Display msg when app/device does not have env variables. Fix #166
2015-08-18 18:12:08 +03:00
mike
0595452c3d
Add message informing the user about potential delay in system img initialization. Fix #90 .
2015-08-18 15:43:52 +03:00
Michalis Korakakis
d6305df48e
Merge pull request #163 from resin-io/issue-108
...
Reword ending message in quickstart. Fix #108
2015-08-18 15:00:38 +03:00
mike
3dd5f5858a
Reword ending message in quickstart. Fix #108
2015-08-18 14:34:15 +03:00
mike
02a06e1e7c
Reword output during download in device init. Fix #106 .
2015-08-18 13:55:04 +03:00
Juan Cruz Viotti
fd5a34a1c4
Refactor env action module to use promises
2015-08-17 10:32:22 -04:00
Juan Cruz Viotti
a698b25fda
Remove devices supported
command
...
The command is not necessary and unused.
2015-08-17 10:05:36 -04:00
Juan Cruz Viotti
89bd861d8e
Merge pull request #159 from resin-io/jviotti/refactor/device
...
Refactor device actions to use promises
2015-08-17 10:03:57 -04:00
Juan Cruz Viotti
e5b7aae4ae
Refactor device actions to use promises
2015-08-17 09:49:59 -04:00
Juan Cruz Viotti
09a5788902
Refactor keys action to use promises
2015-08-17 09:32:05 -04:00
Juan Cruz Viotti
f63391acf9
Make use of projectsDirectory
SDK setting in Quickstart
...
We were currently building this path ourselves, hardcoding the place of
the resin local per user directory instead of relying on the foundations
that `resin-settings-client` give us.
2015-08-17 09:06:27 -04:00
Juan Cruz Viotti
70c060b124
Refactor auth actions to use promises
2015-08-17 08:22:48 -04:00
Juan Cruz Viotti
7a8a3c851b
Merge pull request #138 from resin-io/refactor/help
...
Refactor help module
2015-08-17 08:02:15 -04:00
Juan Cruz Viotti
1096b2d212
Merge pull request #143 from resin-io/jviotti/refactor/app
...
Refactor app actions to use promises
2015-08-17 08:02:04 -04:00
Juan Cruz Viotti
ee286c5690
Merge pull request #144 from resin-io/jviotti/refactor/note
...
Refactor note set command to use promises
2015-08-17 08:01:47 -04:00
Juan Cruz Viotti
1da1d2e6fc
Merge pull request #152 from resin-io/jviotti/fix/151/ssh-key-list
...
Print ssh key separately from the information table
2015-08-17 08:01:32 -04:00
Juan Cruz Viotti
30f24333c0
Implement a spinner when awaiting for a device. Fix #107
...
Fixes:
- https://github.com/resin-io/resin-cli/issues/107
2015-08-14 14:35:38 -04:00
Juan Cruz Viotti
8c9a0e0ff1
Fix broken device await command
...
There were two issues that prevented this command from working
correctly:
1- `Promise.delay()` is used, but `Promise` was not imported.
2- The following line had incorrect indentation (spaces instead of
tabs):
poll().nodeify(done)
Therefore CoffeeScript interpreted that the line had to be executed at
the end of the `poll()` function, causing `poll()` to never be called.
2015-08-14 14:11:49 -04:00
Juan Cruz Viotti
e712e2f266
Print ssh key separately from the information table
...
Since the public key string is long, it might wrap to lines below,
causing the table layout to break.
A quick solutio is to print the ssh key after the table.
Fixes:
- https://github.com/resin-io/resin-cli/issues/151
2015-08-14 12:25:55 -04:00
Juan Cruz Viotti
83382cc8f7
Merge pull request #145 from resin-io/jviotti/fix/logs-help-indentation
...
Fix logs command help string indentation
2015-08-14 08:27:38 -04:00
Juan Cruz Viotti
8401aaeae2
Merge pull request #149 from resin-io/jviotti/fix/111/email-validation
...
Validate that email address is valid during signup. Fix #111
2015-08-14 07:58:40 -04:00
Juan Cruz Viotti
abf5740950
Merge pull request #148 from resin-io/jviotti/fix/14/logs-history
...
Force logs command to exit when not in --tail mode. Fix #14 .
2015-08-14 07:58:05 -04:00
Juan Cruz Viotti
e9ec6c67b2
Validate that email address is valid during signup. Fix #111
...
For this we use a third party dependency from npm called `valid-email`
to avoid hardcoding and having to mantain a regular expression.
2015-08-13 15:22:22 -04:00
Juan Cruz Viotti
69566f7fc3
Force logs command to exit when not in --tail mode. Fix #14 .
...
PubNub keeps the process alive after a history query for some reason, so
trying to print the logs history like:
$ resin logs <uuid>
Will result in the logs being printed correctly, but the process waiting
infinitely without ending.
The workaround consists in forcing `process.exit` to exit the process
with an error code zero.
Caveats:
- This workaround prevents this command to be used programatically.
Issue: https://github.com/resin-io/resin-cli/issues/14
2015-08-13 15:08:16 -04:00
Juan Cruz Viotti
6e4b299c7d
Remove preferences command
2015-08-13 15:00:51 -04:00
Juan Cruz Viotti
ef35ebf79d
Fix logs command help string indentation
...
For some reason it was indented a few times unnecesarily.
2015-08-13 14:33:19 -04:00
Juan Cruz Viotti
1bc78edf71
Refactor help module
...
Main changes:
- Use the `columnify` module to display the commands instead of using
manual parsing.
- Extract logic to create a string representation from an option
signature to Capitano, and reuse here.
See https://github.com/resin-io/capitano/pull/28
Some bugs were caught and fixes during the refactoring:
- In command help, if the command didn't exist, we reused default
Capitanos command not found function which uses `process.exit(1)`. This
was changed to pass a custom error to `done()`, so the command fails
correctly when using programatically.
- General help didn't call `done()` at all, thus causing problems if
using the command programatically someday.
2015-08-13 14:19:07 -04:00
Juan Cruz Viotti
d5204a09f7
Refactor note set command to use promises
2015-08-13 14:17:02 -04:00
Juan Cruz Viotti
4647aa70c0
Implement utils/helpers to abstract common app patterns
...
- Add helpers.confirm() to abstract the process of asking for
confirmation.
- Add helpers.selectDeviceType() to abstract the form needed to ask for
device types.
The functions on this module are reused by app actions.
2015-08-13 14:04:47 -04:00
Juan Cruz Viotti
25c6246e9f
Refactor app actions to use promises
...
Use promises instead of `async` internally inside the following
commands:
- app create.
- app remove.
- app associate.
2015-08-13 13:42:49 -04:00
Juan Cruz Viotti
50cb04b6f7
Remove unused dependencies imports from various files
2015-08-13 13:04:22 -04:00
Juan Cruz Viotti
e60c0605e5
Use Visuals drive widget in device init
...
- Replace custom `drivelist` logic in "device init" with the new `drive`
widget.
2015-08-13 11:56:16 -04:00
Juan Cruz Viotti
57319f26a6
Slim down unused functionality
2015-08-12 08:17:46 -04:00
Juan Cruz Viotti
5c96663d1e
Merge pull request #134 from resin-io/remove/drive-command
...
Remove drive command
2015-08-05 12:24:25 -04:00
Juan Cruz Viotti
ffb48c8669
Merge pull request #135 from resin-io/remove/examples-commands
...
Remove examples commands
2015-08-05 07:04:03 -04:00
Juan Cruz Viotti
dc030f4cd1
Implement Quickstart command
2015-08-04 20:16:55 +03:00
Juan Cruz Viotti
b726a2d778
Remove examples commands
2015-08-04 10:00:09 -04:00
Juan Cruz Viotti
a715ec9dc1
Remove drive command
2015-08-04 09:57:59 -04:00
Juan Cruz Viotti
d24b871964
Merge pull request #131 from resin-io/remove/selfupdate
...
Remove selfupdate functionality
2015-08-04 09:53:48 -04:00
Juan Cruz Viotti
b515e427ff
Merge pull request #129 from resin-io/issue_#73
...
Add email address to the returned information, when using whoami(). Fix #73 .
2015-08-03 16:14:47 -04:00
mike
f31eb7c2b5
Add email address to the returned information, when using whoami(). Fix #73 .
2015-08-03 21:24:22 +03:00
Juan Cruz Viotti
d423a6ea24
Remove selfupdate functionality
...
We added this because we thought that knowledge of the supported device types, along with the configuration procedures was going to be encoded in the CLI.
With device specs, this is not longer the case.
2015-08-03 12:20:42 -04:00
mike
9564b4e478
Display correctly the newly-created application id. Fix #117
2015-07-29 21:17:21 +03:00
mike
e2125b8ce9
Fix #73
2015-07-29 21:15:29 +03:00
mike
cf512cc01b
Integrate new resin-cli-visuals functionality
2015-07-29 16:34:31 +03:00
mike
0bbfbe36c7
Replace device name with uuid, found in resin envs examples in enviroment-variables
2015-07-27 22:49:11 +03:00
mike
5b5d1be52f
Integrate resin-cli-form
2015-07-27 19:50:47 +03:00
Juan Cruz Viotti
cb808869dd
Merge pull request #110 from resin-io/support_promises
...
Add promise support for Resin-SDK dependency
2015-07-24 08:02:40 -04:00
mike
64d83dccfb
Add promise support for Resin-SDK dependency
2015-07-24 00:24:17 +03:00
Juan Cruz Viotti
1d53db2854
Add registered_at UNIX epoch
2015-07-23 12:47:49 -04:00
mike
46fa4ee2a2
Upgrade Resin VCS dependencies
2015-07-11 00:03:20 +03:00
Juan Cruz Viotti
9d4ac46985
Default device.last_seen to 'Not seen'. Closes #84 .
2015-07-09 09:56:39 -04:00
Juan Cruz Viotti
381e63bfc9
Merge pull request #70 from resin-io/refactor/new-visuals
...
Upgrade Resin CLI Visuals and use it's new capabilities
2015-06-12 09:47:30 -04:00
Juan Cruz Viotti
8fa906dd48
Upgrade Resin CLI Visuals and use it's new capabilities
2015-06-11 12:46:56 -04:00
Juan Cruz Viotti
29cf4c1e89
Don't chop SSH key
2015-06-11 08:08:45 -04:00
Juan Cruz Viotti
ef33156de7
Implement config command
2015-06-10 12:34:42 -04:00
Juan Cruz Viotti
43f0288c6c
Check that the passed application exists before asking to choose device
2015-06-08 12:31:17 -04:00
Juan Cruz Viotti
47e6371e2e
Merge pull request #64 from resin-io/feature/config-inject
...
Implement config injection
2015-06-05 12:06:54 -04:00
Juan Cruz Viotti
2bfeb7f42c
Associate a device before first boot
2015-06-04 10:10:15 -04:00
Juan Cruz Viotti
37e0f12f89
Merge pull request #57 from resin-io/feature/associate-confirmation
...
Ask for confirmation on app associate command
2015-06-04 08:22:01 -04:00
Juan Cruz Viotti
fdd0e4a966
Implement config injection
2015-06-04 08:06:37 -04:00
Juan Cruz Viotti
e9efb78280
Merge pull request #56 from resin-io/feature/login-feedback
...
Display feedback message after login
2015-06-03 08:46:18 -04:00
Juan Cruz Viotti
0424d7b640
Merge pull request #60 from resin-io/fix/login-browser-session
...
Open dashboardUrl instead of remoteUrl in auth login
2015-06-03 08:45:00 -04:00
Juan Cruz Viotti
1ed9ae7d60
Open dashboardUrl instead of remoteUrl in auth login
2015-06-02 13:21:59 -04:00
Juan Cruz Viotti
329bf25dbd
Print feedback message after app create
2015-06-02 13:04:08 -04:00
Juan Cruz Viotti
ae3f0b429d
Ask for confirmacion on app associate command
2015-06-02 12:32:35 -04:00