Kostas Lekkas
a70e38ef12
Add global --help option
2016-07-29 15:32:12 +03:00
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
68808e760e
resin sync: filter out offline devices in interactive choosing dialog
2016-07-07 19:12:39 +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
ca40d7ca65
Log CLI events based on original command signature
...
Currently we log a CLI event with the passed command, however this might
include usr params, like a uuid, and therefore cause thousands of
different event names in Mixpanel.
2016-03-29 11:27:53 -04: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
c5692f8b13
Only throw "Invalid 2FA code" if we're sure that's the cause
...
Currently, such error will be thrown when
`resin.auth.twoFactor.challenge()` rejects, but an invalid code is not
the only thing this function can reject for.
2016-03-17 15:37:02 -04:00
Juan Cruz Viotti
30663b0301
Force update alert to be always shown
...
If `updateCheckInterval` has any meanginful value, the alert will be
shown one out of ten times, or something like that, making the user
likely to miss updates.
The underlying issue is that `update-notifier`, if it detects a cached
update notification, it deletes it, and only attempts to show it back if
`updateCheckInterval` is greater than `Date.now() - lastUpdateCheck`.
2016-03-08 09:23:03 -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
bee523828a
Improve awaitDevice success message
2016-01-25 08:59:09 -04:00
Juan Cruz Viotti
a346c3f043
Add information on how to login on user permission error
2016-01-21 23:07:08 -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
70ea8dd1a3
Redirect users to GitHub and Gitter in case of errors
...
Users will ge a better experience by knowing exactly where to go for
help if things go wrong.
2016-01-12 08:31:40 -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
359c37f259
Merge pull request #270 from resin-io/jviotti/fix/remove-debug-download-msg
...
Simplify download output message
2015-11-24 11:07:40 -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
e08c3752f9
Show device types when selecting applications
...
Some CLI commans prompt to select an existing application, presending a
dropdown with all the application names, however it's hard to remember
which application belon to which device type, which makes it easier to
select the wrong application.
2015-11-23 09:23:08 -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
c3b5a768e1
Handle Windows permissions elevation automatically
2015-11-12 13:30:48 -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
c866f6e46c
Use president to provide sudo functionality
2015-10-26 09:47:49 -04:00
Juan Cruz Viotti
de83a06db8
Clarify the need of computer password during sudo
...
Since we only prompt "Password:", it might be confusing for some users
that think they have to enter their Resin.io password instead.
Fixes: https://github.com/resin-io/resin-cli/issues/239
2015-10-26 08:49:41 -04:00
Juan Cruz Viotti
363f12f81b
Refer to the correct waiting stream function
...
We recently changed to using `rindle`, however looks like we forgot
to replace this particular instance.
2015-10-26 08:34:07 -04:00
Juan Cruz Viotti
e962371b59
Merge pull request #248 from resin-io/jviotti/remove/associate
...
Remove app associate command
2015-10-21 14:13:28 -04:00
Juan Cruz Viotti
fc5fe6cf68
Fix validation module require typo
2015-10-21 13:28:51 -04:00
Juan Cruz Viotti
f921488e8c
Remove app associate command
2015-10-21 13:25:22 -04:00
Juan Cruz Viotti
8fe08642f5
Merge pull request #245 from resin-io/jviotti/feature/simplify-quickstart
...
Remove project directory creation in quickstart
2015-10-21 13:20:35 -04:00
Juan Cruz Viotti
822632718f
Merge pull request #247 from resin-io/jvioti/refactor/os
...
Remove unused getOperatingSystem function
2015-10-21 11:43:19 -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
965fd8fc19
Remove unused getOperatingSystem function
2015-10-21 10:20:38 -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
bde5cc65da
Merge pull request #235 from resin-io/jviotti/fix/device-register-help
...
Load device info after all other device commands
2015-10-19 15:51:15 -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
8562f723c5
Load device info after all other device commands
...
This command obscures help pages for all device commands registered
afterwards since it's a common prefix for all of them.
2015-10-19 14:14:04 -04:00
Juan Cruz Viotti
f6d2043747
Merge pull request #232 from resin-io/jviotti/fix/app-create-validation
...
Require application name to have at least 4 characters
2015-10-19 14:06:43 -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
0b7e2a2c8c
Require application name to have at least 4 characters
...
We get a weird error message from pine otherwise:
ResinRequestError: Request error: It is necessary that each app name
that is of a user (Auth), has a Length (Type) that is greater than or
equal to 4.
2015-10-19 10:56:02 -04:00
Juan Cruz Viotti
b6ebd0631a
Merge pull request #229 from resin-io/jviotti/feature/os-initialize-type-option
...
Take device type as an option in os initialize
2015-10-15 09:59:44 -04:00
Juan Cruz Viotti
1cfbd4197d
Improve the way the update notifier is shown
...
Current has the following problems:
- Our custom message gets printed even if the notifier doesn't contain
an update.
- The notifier box is deferred, therefore it's printed at the end of the
command. Since our custom message is printed at the beginning, it makes
no sense at all.
2015-10-15 09:18:45 -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
4326ad4d9c
Merge pull request #227 from resin-io/jviotti/fix/os-initialise-yes
...
Add missing `yes` option to `os initialize`
2015-10-15 07:44:33 -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
adf4aef517
Clarify the need for admin privileges on update
...
Fixes: https://github.com/resin-io/resin-cli/issues/223
2015-10-14 13:45:08 -04:00