Commit Graph

1543 Commits

Author SHA1 Message Date
Tim Perry
78ab47b584
Fix breaking bug in resin local ssh 2017-05-22 20:49:34 +02:00
Eugene Mirotin
2d729a82a0 fix valid-email path 2017-05-20 00:19:31 +03: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
1d06bc1b4f Merge pull request #524 from resin-io/520-include-command-line
Include full command line arguments in Sentry errors
2017-05-12 13:27:53 +02:00
Tim Perry
88d5ec0c94 Merge pull request #525 from resin-io/508-fix-docs
Get docs and the code generating them back in sync
2017-05-12 13:27:35 +02:00
Tim Perry
a5b535753f
Include the username used in Sentry errors, to help us debug them 2017-05-12 12:02:26 +02: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
Tim Perry
6e034acf23
Include full command line arguments in Sentry errors, to help us debug them 2017-05-12 11:48:43 +02:00
Akis Kesoglou
654ec75598 Renamed build arg option to —buildArg/-B 2017-05-11 14:20:24 +03:00
Akis Kesoglou
66876a2c85 Add ability to specify built-time variables for local build
Change-Type: patch
2017-05-11 14:14:43 +03: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
404348f92e
Highlight cache usage in resin build
This commit will highlight the usage of the cache when doing a docker
build via `resin build`, which not only helps the user understand what
the build is doing, but also achieves more parity with the cloud
builder.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-05-04 14:09:23 +01:00
Cameron Diver
d249ac168a
Fix the not-enough-unicorns bug
Add successful build indicator in the form of a unicorn.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@resin.io>
2017-05-04 13:18:25 +01: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
8866f47805 proxy support 2017-05-01 14:00:50 +03: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
Tim Perry
69dff0c603 Merge pull request #450 from resin-io/420-add-sentry
Add sentry error tracking
2017-03-23 13:11:15 +01:00
Tim Perry
f05b04a6a1
Move sentry DSN to config 2017-03-23 13:10:15 +01:00
Tim Perry
88d8112402
Add sentry error tracking 2017-03-23 12:59:42 +01:00
Kostas Lekkas
f940d7428c
Point to forums instead of gitter
change-type: patch
2017-03-23 12:19:59 +02: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
Tim Perry
7a4de5357e
Fix some issues with Resin-SDK usage after initial testing 2017-01-25 19:25:12 +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
6954da4a24 Merge pull request #407 from resin-io/add-shutdown-command
Actually add the shutdown command
2016-11-01 12:42:21 -04:00
Pablo Carranza Velez
c18e8f1dbd Actually add the shutdown command 2016-11-01 12:42:29 -03: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
e0a2217b94 resin sync/ssh: always display selection dialog, even for a single online device
Closes #373
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
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
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
3149464c7a Shorten the length of await device message
If the spinner message doesn't fit in your terminal, each spinner
position will be printed in different lines.

We mitigate this by dramatically shortenning the message.
2015-10-07 11:38:59 -04:00
Juan Cruz Viotti
97d9b7816f Merge pull request #214 from resin-io/jviotti/feature/plugin-warn-red
Print plugin warnings in red as other errors
2015-10-06 19:18:33 -04:00
Juan Cruz Viotti
ec77437080 Print plugin warnings in red as other errors
For the sake of consistency.
2015-10-06 18:51:17 -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
adc0b183cd Improve device awaiting message
Current message sounds too robotic.
2015-09-11 19:13:30 +03:00
Juan Cruz Viotti
828b4f73d1 Fix selecting existing application in quickstart 2015-09-11 18:30:30 +03:00
Juan Cruz Viotti
904b9f07fb Highlight errors in red
- Move error translation logic to resin-io/resin-cli-errors.
- Force `process.exit()`.
2015-09-11 14:47:38 +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
d10d4ce185 Merge pull request #174 from resin-io/jviotti/feature/confirm-abortion
Add `Aborted` error message when not accepting a confirmation
2015-08-24 08:47:29 -04:00
Juan Cruz Viotti
5de0f66d7a Don't check for available updates when running as root
`update-notifier` persist its update check results in a file, which is
then read when running again the application.

If this file gets written when the application is being run as root, we
get ugly EPERM issues.
2015-08-20 16:54:22 -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
7f4863da86 Upgrade Nplugm to v3.0.0
This new version supports promises and contains speed improvements.
2015-08-19 11:27:28 -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
Juan Cruz Viotti
85d940df66 Merge pull request #165 from resin-io/jviotti/feature/update-notifier
Notify the user if there is an available update
2015-08-19 07:56:40 -04:00
mike
019e2ac357 Display msg when app/device does not have env variables. Fix #166 2015-08-18 18:12:08 +03:00
Juan Cruz Viotti
f19588032f Notify the user if there is an available update
For this we use the `update-notifier` module with its default settings.

This module will print a nice banner prompting the user to run the
corresponding npm command to update.
2015-08-18 08:53:06 -04: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
09fe4b11ad Merge pull request #139 from resin-io/jviotti/feature/drive-widget
Use Visuals drive widget in device init
2015-08-13 12:35:41 -04:00
Juan Cruz Viotti
4157f21e06 Merge pull request #140 from resin-io/jviotti/cleanup/elevate
Remove outdated Windows elevation mechanism
2015-08-13 12:23:26 -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
3d36e5f5d3 Remove outdated Windows elevation mechanism
This functionality is outdated and not using anymore due to limitations
in the way it was addressed.

The module and dependencies are removed for now, and will be added back
in the future, once a better approach is planned.
2015-08-13 11:45:50 -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
a7cefe44bf Merge pull request #86 from resin-io/feature/remove-selfupdate
Remove selfupdate functionality. Notify in all cases.
2015-07-09 13:45:09 -04: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
e926ac46c9 Remove selfupdate functionality. Notify in all cases. 2015-07-09 08:18:06 -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
e779347ff2 Merge pull request #69 from resin-io/feature/no-chop-key
Don't chop SSH key
2015-06-11 12:48:16 -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
7e5ecd634d HOTFIX: isLoggedIn now returns a possible error 2015-06-11 12:40:49 -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
6d8fd6e547 Merge pull request #66 from resin-io/feature/device-init-has-app
Check that the passed application exists before asking to choose device
2015-06-09 08:28:10 -04:00
Juan Cruz Viotti
bab90a8bf2 Merge pull request #65 from resin-io/fix/app-rm-help
Fix app commands order of definition. Closes #62.
2015-06-08 12:44:57 -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
5e400ed335 Fix app commands order of definition. Closes #62.
This caused `resin help app rm` erroneusly show the help page for `resin app`.
2015-06-04 11:54:15 -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
2b80c7c91f Merge pull request #59 from resin-io/feature/app-create-feedback
Print feedback message after app create
2015-06-02 17:08:44 -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
e18ffba183 Quiet console.info if stdout is being redirected
We use `console.info()` for feedback messages.
2015-06-02 12:36:17 -04:00
Juan Cruz Viotti
ae3f0b429d Ask for confirmacion on app associate command 2015-06-02 12:32:35 -04:00
Juan Cruz Viotti
34736c4e9b Display feedback message after login 2015-06-02 11:57:52 -04:00
Juan Cruz Viotti
054d5e4879 Add per device environment variable support 2015-05-28 12:32:08 -04:00
Juan Cruz Viotti
b04ed43bed Merge pull request #54 from resin-io/fix/device-await-help
Fix device await help not showing up
2015-05-28 08:46:42 -04:00
Juan Cruz Viotti
c2bbb952c5 Fix device await help not showing up 2015-05-27 15:14:36 -04:00
Juan Cruz Viotti
68ef069e6a Accept names instead of ids in example commands 2015-05-21 11:58:15 -04:00
Juan Cruz Viotti
78af9bbb10 Expose logs as cli.actions.logs instead of cli.actions.logs.logs 2015-05-18 09:37:27 -04:00
Juan Cruz Viotti
db58e9986c Return devices array to the done callback in device list command
Useful when using the CLI programatically.
2015-05-14 11:43:41 -03:00
Juan Cruz Viotti
e7e8ec296c Make use of selfupdate 2015-05-14 11:32:18 -03:00
Juan Cruz Viotti
9bb04f43a8 Fix callback not being called on success in os download command 2015-05-11 14:23:34 -03:00
Juan Cruz Viotti
9b0c08bd46 Don't umount in os install as it's already handled in Resin Image 2015-05-11 13:10:06 -03:00
Juan Cruz Viotti
d8ce6648e2 Handle device unmounting in os install command 2015-05-11 10:04:05 -03:00
Juan Cruz Viotti
f3e193be0f Make login command behave non interactively if a token is passed as an argument 2015-05-11 09:42:25 -03:00
Juan Cruz Viotti
656f3e5cd9 Make use of resin-image to remove image writing logic from the CLI 2015-05-08 14:26:04 -03:00
Juan Cruz Viotti
741acfbba3 Merge pull request #41 from resin-io/feature/command-run
Make use of capitano.run() to run subcommands
2015-05-08 14:23:37 -03:00
Juan Cruz Viotti
08648894e3 Merge pull request #40 from resin-io/feature/device-await
Implement device await command
2015-05-06 11:18:42 -03:00
Juan Cruz Viotti
4c5d5697bc Implement device await command 2015-05-06 11:14:08 -03:00
Juan Cruz Viotti
c758a5b9ea Make use of capitano.run() to run subcommands 2015-05-05 17:34:24 -03:00
Juan Cruz Viotti
cd3245a631 Handle device unmounting in os install command 2015-05-02 10:34:11 -04:00
Juan Cruz Viotti
7f7ca13001 Implement --version/-v global options. Closes #35 2015-04-30 11:56:15 -04:00
Juan Cruz Viotti
fab85b381a Throw a nice error if note contents are missing 2015-04-29 14:39:46 -04:00
Juan Cruz Viotti
193cedae26 Check that an application exists before asking it's type. Closes #30 2015-04-28 09:18:21 -04:00
Juan Cruz Viotti
9bb51d7146 Make devices command list all devices if no application option. Closes #17 2015-04-27 11:21:30 -04:00
Juan Cruz Viotti
84900aa588 Remove outdated uuid checking help message 2015-04-27 10:51:26 -04:00
Juan Cruz Viotti
9a3c844336 Print logs correctly, as they recently got a message field added 2015-04-27 09:30:57 -04:00
Juan Cruz Viotti
ea5b521262 Merge pull request #26 from resin-io/fix/device-init-temp-output
Fix temporary os download output option in device init
2015-04-21 09:06:11 -04:00
Juan Cruz Viotti
3bc71577b5 Fix temporary os download output option in device init 2015-04-21 08:37:40 -04:00
Juan Cruz Viotti
0fb24162fc Merge pull request #24 from resin-io/fix/update
Fix logical issue in update command
2015-04-20 14:14:33 -04:00
Juan Cruz Viotti
8041905144 Remove duplicated whoami command 2015-04-20 12:46:43 -04:00
Juan Cruz Viotti
37d96e238d Fix logical issue in update command 2015-04-20 12:42:31 -04:00
Juan Cruz Viotti
7bd8922a4e Upgrade Resin VCS to v1.2.0 and make use of vcs.getApplicationName() 2015-04-20 11:41:26 -04:00
Juan Cruz Viotti
f7256e9927 Make device init command take an application name instead of id 2015-04-20 09:13:15 -04:00
Juan Cruz Viotti
85444a5a6a Make os download command accept an application name instead of id 2015-04-20 09:06:40 -04:00
Juan Cruz Viotti
3c2a440553 Make "example clone" clone to a new directory 2015-04-20 08:56:10 -04:00
Juan Cruz Viotti
2b4394f3ce Merge pull request #21 from resin-io/fix/progress-context
Bind progress update function to avoid context issues
2015-04-17 14:45:17 -04:00
Juan Cruz Viotti
caa4fcf754 Bind progress update function to avoid context issues 2015-04-17 10:11:02 -04:00
Juan Cruz Viotti
a6dc155028 Add lodash dependency to lib/elevate.coffee
Depedency was missing and thus elevating functions threw errors.
2015-04-17 09:22:21 -04:00
Juan Cruz Viotti
a96ab487ba Fix bug with login with token
The commit was merged from an older branch, in which settings was
still part of the SDK.
2015-04-08 08:25:27 -04:00
Juan Cruz Viotti
cd28c985ce Merge pull request #9 from resin-io/feature/version
Remove bundled node version from version command
2015-04-07 10:56:18 -04:00
Juan Cruz Viotti
727af42ad4 Merge pull request #8 from resin-io/feature/login-with-token
Login with token
2015-04-07 08:12:12 -04:00
Juan Cruz Viotti
4a7d3d5945 Mock local Raspberry Pi bundle 2015-04-07 08:10:26 -04:00
Juan Cruz Viotti
03f05305cf Fix tiny text issue 2015-04-07 08:07:06 -04:00
Juan Cruz Viotti
8533a4a303 Remove bundled node version from version command 2015-04-06 17:18:00 -04:00
Juan Cruz Viotti
064afd6705 Fetch TOKEN_URL from the resin sdk 2015-04-06 17:05:13 -04:00
Juan Cruz Viotti
978ff91f87 Remove tab query from preferences token url constant
Tab queries were removed from the web frontend.
2015-04-06 17:04:43 -04:00
Juan Cruz Viotti
1cd0f02db5 Attempt to open a browser to the token location automatically 2015-04-06 17:04:03 -04:00
Juan Cruz Viotti
77695bb505 Allow login with token 2015-04-06 17:02:53 -04:00
Juan Cruz Viotti
4e4428fdbb Move windosu elevate logic to another module 2015-04-06 16:49:53 -04:00
Juan Cruz Viotti
2a4ba895e5 Elevate privileges of update command if necessary 2015-04-01 12:51:04 -04:00
Juan Cruz Viotti
782c92885d Use child_process to trigger self update
Using the NPM API led to weird issues.

See https://github.com/npm/npm/issues/7723.
2015-03-24 08:44:02 -04:00
Juan Cruz Viotti
a14dfa6cf1 Fix long line lint warning 2015-03-23 18:32:28 -04:00
Juan Cruz Viotti
f3b6f9d117 Add missing example to device init 2015-03-23 08:25:45 -04:00
Juan Cruz Viotti
df9c4ce2fd Reference applications and devices by name 2015-03-23 08:17:55 -04:00
Juan Cruz Viotti
cd8bb7882e Reimplement whoami command 2015-03-19 15:57:43 -04:00
Juan Cruz Viotti
a524bffaa2 Integrate with SDK v1.0.0 2015-03-19 11:45:07 -04:00
Juan Cruz Viotti
fa258a84cc Show a spinner if no progress state in os download command 2015-03-16 11:45:17 -04:00
Juan Cruz Viotti
5efa7309be Fix bug in device init 2015-03-16 11:06:44 -04:00
Juan Cruz Viotti
80e0f20301 Make device init attempt to get application id from current directory 2015-03-12 12:03:59 -04:00
Juan Cruz Viotti
8410a709c9 Make use of resin-vcs instead of using gitwrap directly 2015-03-12 11:24:36 -04:00
Juan Cruz Viotti
53197856ab Extend device init help message 2015-03-11 09:05:20 -04:00
Juan Cruz Viotti
cb5bb69b47 Get rid of gitCli in favor of gitwrap 2015-03-11 09:03:13 -04:00
Juan Cruz Viotti
4bfe52d73b Require CLI to be updated when running os install 2015-03-11 08:49:26 -04:00
Juan Cruz Viotti
9d8228e1c6 Add ENOGIT specific error message 2015-03-10 13:56:55 -04:00
Juan Cruz Viotti
8fbde4c452 Make use of gitwrap 2015-03-10 10:03:49 -04:00
Juan Cruz Viotti
0cc1765a1e Regenerate documentation 2015-03-09 19:49:46 -04:00
Juan Cruz Viotti
f0346b1fd0 Allow to interactively configure network for os download 2015-03-09 19:42:43 -04:00
Juan Cruz Viotti
1bb798a8b8 Get rid of automatic cache name generation logic 2015-03-09 12:38:37 -04:00
Juan Cruz Viotti
6ba97cd961 Automate resin init command 2015-03-09 09:14:39 -04:00
Juan Cruz Viotti
9c7b36e1d8 Improve resin update help section 2015-03-04 14:47:46 -04:00
Juan Cruz Viotti
cefa9d1e31 Fix bug with update command 2015-03-04 14:46:34 -04:00
Juan Cruz Viotti
06020c0344 Implement self update functionality and notification 2015-03-04 14:40:40 -04:00
Juan Cruz Viotti
9038b76d73 Implement resin update command 2015-03-04 14:03:08 -04:00
Juan Cruz Viotti
a1e6c6cda5 Stop bundling NodeJS in the package 2015-03-04 12:16:35 -04:00
Juan Cruz Viotti
4aefb15c70 Prevent resin-write infinite loop 2015-03-03 12:39:41 -04:00
Juan Cruz Viotti
b2444feae9 Make use of process.argv[0] instead of hardcoding "node" to windosu 2015-03-03 11:32:56 -04:00
Juan Cruz Viotti
6a83a537c7 Implement basic documentation generation mechanism 2015-03-03 11:32:24 -04:00
Juan Cruz Viotti
78d11bffd0 Document --quiet option for plugin install 2015-03-02 10:41:38 -04:00
Juan Cruz Viotti
572fe29fe6 Implement plugin update command 2015-03-02 10:41:08 -04:00
Juan Cruz Viotti
50ff40f6f3 Log warning if bundle not found 2015-03-02 09:03:11 -04:00
Juan Cruz Viotti
01d2edb819 Precompile CoffeeScript files 2015-02-26 11:47:34 -04:00
Juan Cruz Viotti
2085e71f33 Remove unecessary double quotes 2015-02-26 11:38:48 -04:00
Juan Cruz Viotti
980e55afd3 Simplify usage help string 2015-02-26 11:15:15 -04:00
Juan Cruz Viotti
d520918071 Multi arch builds 2015-02-26 10:12:25 -04:00
Juan Cruz Viotti
9c98adb712 Prevent writing accidentally to system drives 2015-02-25 11:12:58 -04:00
Juan Cruz Viotti
91a2453ebb Make use of new nplug version 2015-02-24 13:36:10 -04:00
Juan Cruz Viotti
bec264d936 Add trailing dash to plugin list prefix 2015-02-12 13:22:28 -04:00
Juan Cruz Viotti
2ea628bc4a Add plugins npm routines TODO 2015-02-12 13:17:20 -04:00
Juan Cruz Viotti
7edcf9925e Silence plugin install command 2015-02-12 13:16:21 -04:00
Juan Cruz Viotti
5e69995bb0 Refactor npm related logic to plugins 2015-02-12 13:10:45 -04:00
Juan Cruz Viotti
6c70f64f6a Log installed plugins 2015-02-12 12:54:59 -04:00
Juan Cruz Viotti
3445388db3 Implement plugin rm command 2015-02-12 12:50:40 -04:00
Juan Cruz Viotti
82ac558d7f Implement plugin install command 2015-02-12 12:23:01 -04:00
Juan Cruz Viotti
7dd34f4a0e Fix option parameter name issue 2015-02-12 10:20:00 -04:00
Juan Cruz Viotti
74b1092e9a Implement plugins command 2015-02-12 09:41:25 -04:00
Juan Cruz Viotti
94d462835c Remove hashbang from lib/resin.js 2015-02-11 15:34:37 -04:00
Juan Cruz Viotti
7c836132ad Add node version to version command output 2015-02-11 15:30:49 -04:00
Juan Cruz Viotti
9ce8193c1f Call application with bundled nodejs binary 2015-02-11 13:13:12 -04:00
Juan Cruz Viotti
d97a4d9d49 Use visuals.widgets.select for app create command 2015-02-11 10:07:53 -04:00
Juan Cruz Viotti
a6a3eeae6d Make use of resin.models.device.getSupportedDeviceTypes() asynchronously 2015-02-11 09:53:48 -04:00
Juan Cruz Viotti
65729012b6 Fix logs display 2015-02-10 15:43:39 -04:00
Juan Cruz Viotti
d3f91797bf Fix help command now that getMatchCommand() is async 2015-02-10 14:44:39 -04:00
Juan Cruz Viotti
eeee1ce8e1 Implement in place progress bar 2015-02-10 12:55:18 -04:00
Juan Cruz Viotti
6739b7fbca Make use of async in app.coffee 2015-02-10 11:55:30 -04:00
Juan Cruz Viotti
8d99526a96 Refactor plugins logic into a new file 2015-02-10 11:46:22 -04:00
Juan Cruz Viotti
f712064ab4 Move tests to tests/ and flatten errors/ module directory 2015-02-10 11:38:19 -04:00
Juan Cruz Viotti
65fbe12f22 Make use of new Capitano stdin support to get rid of helpers/ 2015-02-10 11:32:06 -04:00
Juan Cruz Viotti
8275275a05 Make login command accept options instead of colon separated credentials
For consistency
2015-02-09 11:48:13 -04:00
Juan Cruz Viotti
4d49655ab2 Enable registering programatically 2015-02-09 11:43:10 -04:00
Juan Cruz Viotti
2143818291 Remove unneeded dependency 2015-02-09 10:02:09 -04:00
Juan Cruz Viotti
d2f319c725 Move chop functionality to Resin CLI Visuals 2015-02-06 11:22:11 -04:00
Juan Cruz Viotti
e769fdc205 Prevent linter long line warning 2015-02-06 11:11:38 -04:00
Juan Cruz Viotti
ca961d04c5 Pass a ProgressState instance to bar.tick() directly 2015-02-06 08:21:32 -04:00
Juan Cruz Viotti
3005a91658 Write device init help page 2015-02-05 09:56:22 -04:00
Juan Cruz Viotti
8adf943e51 Make use of get-stdin 2015-02-05 09:10:10 -04:00
Juan Cruz Viotti
0dba133b0a Fix comment spacing 2015-02-05 08:56:52 -04:00
Juan Cruz Viotti
780893b411 Make os download modify options.output directly 2015-02-05 08:53:05 -04:00
Juan Cruz Viotti
bcbb7d8e96 Upgrade to Capitano v1.3.1 and remove unneeded try/catch clause
Capitano v1.3.1 introduces support for automatically catching action
sync thrown errors
2015-02-05 08:49:57 -04:00
Juan Cruz Viotti
e6081238a1 Implement new device init command 2015-02-04 15:17:51 -04:00
Juan Cruz Viotti
0a7b83308a Add TODO on actions/keys about extracting ssh key chop 2015-02-04 15:17:51 -04:00
Juan Cruz Viotti
33b66effc2 Make use of new Resin CLI visuals patterns 2015-02-04 15:17:51 -04:00
Juan Cruz Viotti
3ee228c862 Move os network params options to command-options 2015-02-04 15:17:51 -04:00
Juan Cruz Viotti
3f51739e2e Send outputFile to done() in os.download 2015-02-04 15:17:50 -04:00
Juan Cruz Viotti
9f4ae4ac3f Rename current device init to os download 2015-02-04 15:17:50 -04:00
Juan Cruz Viotti
a4a8c4e61a Simplify os download a bit with _.unary 2015-02-04 15:08:38 -04:00
Juan Cruz Viotti
e7823e2707 Make use of SDK ProgressState enhancement to simplify os download 2015-02-04 15:06:07 -04:00
Juan Cruz Viotti
531a48a158 Fix generateCacheName error not being caught 2015-02-03 13:51:33 -04:00
Juan Cruz Viotti
6ce0fdc4ab Make use of diskio 2015-02-02 12:25:22 -04:00
Juan Cruz Viotti
1a595412d5 Move unused diskpart script 2015-02-02 08:23:30 -04:00
Juan Cruz Viotti
fd079b5794 Make use of diskpart npm module 2015-01-30 15:41:14 -04:00
Juan Cruz Viotti
e9db8c09e8 Fix stdout argument issue 2015-01-30 14:19:36 -04:00
Juan Cruz Viotti
9e8e402788 Implement diskpart module 2015-01-30 14:16:24 -04:00
Juan Cruz Viotti
c7c7d55338 Allow to choose a device interactively from device init 2015-01-30 12:55:56 -04:00
Juan Cruz Viotti
654ab26609 Make use of drivelist 1.1.0 2015-01-30 11:48:15 -04:00
Juan Cruz Viotti
fc6dda5d22 Make use of published drivelist 2015-01-30 11:38:46 -04:00
Juan Cruz Viotti
fd7d9858a9 Fix switch case 2015-01-30 10:37:23 -04:00
Juan Cruz Viotti
ac78a8bc02 Implement linux.list() 2015-01-30 10:30:28 -04:00
Juan Cruz Viotti
a220bc87ad Include USB Card reader in OSX test 2015-01-30 10:02:07 -04:00
Juan Cruz Viotti
0b1d83a70b Rename list spec stdout variable to drives 2015-01-30 09:59:28 -04:00
Juan Cruz Viotti
7beca02eda Mention drives command in device init help 2015-01-30 09:58:54 -04:00
Juan Cruz Viotti
80079d00a5 Implement win32.list() 2015-01-30 09:52:41 -04:00
Juan Cruz Viotti
1ce7178aa3 Test drive.osx.list() 2015-01-30 09:23:56 -04:00
Juan Cruz Viotti
ad0be5f63c Refactor drive module 2015-01-30 09:16:55 -04:00
Juan Cruz Viotti
fd1e632b50 List drives in OS X 2015-01-30 08:45:38 -04:00
Juan Cruz Viotti
d284e92520 Fix broken test 2015-01-29 15:28:33 -04:00
Juan Cruz Viotti
03c6c72df6 Integrate new progress bar 2015-01-29 14:59:57 -04:00
Juan Cruz Viotti
2d5549873a Prettier progress bar 2015-01-29 14:06:38 -04:00
Juan Cruz Viotti
35633f3612 Math.floor() percentage 2015-01-29 14:05:10 -04:00
Juan Cruz Viotti
2b992ec233 Simple progress bar approach 2015-01-29 14:01:21 -04:00
Juan Cruz Viotti
3e938f7808 Remove done message at the end of windosu execution 2015-01-29 12:29:35 -04:00
Juan Cruz Viotti
38139ed169 Simplify conditional 2015-01-29 12:27:37 -04:00
Juan Cruz Viotti
f767f637f7 Fix conditional 2015-01-29 12:23:30 -04:00
Juan Cruz Viotti
8437757ca8 Prevent infinite loop 2015-01-29 12:21:56 -04:00
Juan Cruz Viotti
9069b07d4a Integrate windosu 2015-01-29 12:04:48 -04:00
Juan Cruz Viotti
7949296cec Extend EACCESS, EPERM errors with OS specific descriptions 2015-01-29 10:39:12 -04:00
Juan Cruz Viotti
e9e02e3272 Handle ENOENT windows errors 2015-01-28 15:51:36 -04:00
Juan Cruz Viotti
00623833cc Extend errors.handle to catch EPERM as well 2015-01-28 15:45:30 -04:00
Juan Cruz Viotti
d75a19fc6e Remove debugging logging 2015-01-28 15:40:00 -04:00
Juan Cruz Viotti
0d06524162 Surround diskpart script in double quotes 2015-01-28 15:38:39 -04:00
Juan Cruz Viotti
95d8d2fe8f Add missing path dependency 2015-01-28 15:30:08 -04:00
Juan Cruz Viotti
9de4a3c556 Some fixes and refactoring 2015-01-28 15:26:56 -04:00
Juan Cruz Viotti
96d221fbcf Catch createWriteStream errors 2015-01-28 15:13:43 -04:00
Juan Cruz Viotti
8bfdebbfbb Fix drive dependencies 2015-01-28 14:53:34 -04:00
Juan Cruz Viotti
320981770e Erase MBR before rescanning 2015-01-28 14:51:11 -04:00
Juan Cruz Viotti
8b0ce36955 Use diskpart to rescan the drives 2015-01-28 14:41:53 -04:00
Juan Cruz Viotti
dcebbc0044 Make use of a 512 block aligner 2015-01-28 10:16:01 -04:00
Juan Cruz Viotti
db3d4292f4 Add Windows support to device init command 2015-01-28 08:33:50 -04:00
Juan Cruz Viotti
0e4245523b Fix errors/ test suite sudden failure issue 2015-01-23 14:58:57 -04:00
Juan Cruz Viotti
4103a4195a Move changeProjectDirectory outside the nested code 2015-01-23 13:54:30 -04:00
Juan Cruz Viotti
ff0b513188 Make use of nplugm.load 2015-01-23 13:24:57 -04:00
Juan Cruz Viotti
ff9558ab32 Simplify plugin loading routing with getPluginsByGlob() 2015-01-23 11:16:31 -04:00
Juan Cruz Viotti
af9ae6579c Move plugin module to nplugm 2015-01-23 10:23:47 -04:00
Juan Cruz Viotti
155a6775e4 Make use of device_type directly 2015-01-22 13:20:20 -04:00
Juan Cruz Viotti
a275de436d Make use of simplified table widget 2015-01-22 13:06:02 -04:00
Juan Cruz Viotti
092a246b3d Fix Windows path issues 2015-01-21 12:51:50 -04:00
Juan Cruz Viotti
50325d0f8f Make use of resin-cli-visuals and get rid of local ui module 2015-01-21 09:50:19 -04:00
Juan Cruz Viotti
2c90d1176c Reorder device init declaration to prevent help conflicts 2015-01-20 15:52:13 -04:00
Juan Cruz Viotti
9cb84ee612 Allow to quiet download progress bar 2015-01-20 15:41:14 -04:00
Juan Cruz Viotti
aa6680d57a Fix device init help OS X command 2015-01-20 15:36:01 -04:00
Juan Cruz Viotti
aa4d7a408a Implement device init command (for UNIX only) 2015-01-20 15:34:47 -04:00
Juan Cruz Viotti
f04f6f8702 Move ProgressBar to ui.widgets 2015-01-20 15:10:18 -04:00
Juan Cruz Viotti
da02857a6e Handle EACCES errors 2015-01-20 15:09:26 -04:00
Juan Cruz Viotti
af7a40bd68 Easy shortcut for one command plugins 2015-01-16 10:41:22 -03:00
Juan Cruz Viotti
a6660ad4ec Improve plugin architecture importing technique 2015-01-16 10:38:19 -03:00
Juan Cruz Viotti
d49677581b Make use of Capitano permissions feature 2015-01-16 09:34:59 -03:00
Juan Cruz Viotti
5abc4e550f Move command declarations next to their definitions 2015-01-15 14:18:39 -03:00
Juan Cruz Viotti
f94be29047 Remove unused error.handleCallback function 2015-01-15 11:39:18 -03:00
Juan Cruz Viotti
a6282d2b28 Get rid of log module
Didn't provide that much value
2015-01-15 11:36:43 -03:00
Juan Cruz Viotti
9a3b048b9f Move help facade to help actions module 2015-01-15 11:18:34 -03:00
Juan Cruz Viotti
72d08ffbbf Move version action to actions/ 2015-01-15 11:16:07 -03:00
Juan Cruz Viotti
c4da5f0008 Remove obsolete comment 2015-01-15 11:11:10 -03:00
Juan Cruz Viotti
3e055b32d2 Update Capitano to v1.2.0 and make use of done callback feature 2015-01-15 10:47:17 -03:00
Juan Cruz Viotti
2a8f1f1dc2 Implement plugin support 2015-01-14 15:42:05 -03:00
Juan Cruz Viotti
043a34cc7c Decouple permissions from http mocks and fixtures 2015-01-13 08:51:02 -03:00
Juan Cruz Viotti
975e133d5a Refactor to not use ConnectionParams 2015-01-12 09:12:30 -03:00
Juan Cruz Viotti
243a05a4e2 Prevent note callback from being called twice 2015-01-09 15:07:50 -03:00
Juan Cruz Viotti
5a3254dc5e Get rid of cache module 2015-01-09 13:41:32 -03:00
Juan Cruz Viotti
2b5c1a664e Remove unused isDeviceUUIDValid helper function 2015-01-09 13:28:27 -03:00
Juan Cruz Viotti
0753bd1fe9 Don't compute device type slug as the logic is implicit on the SDK 2015-01-09 13:16:10 -03:00
Juan Cruz Viotti
f36e13658f Remove credentials filtering when logging in after registering 2015-01-09 13:06:17 -03:00
Juan Cruz Viotti
cdeaab18c8 Remove key trimming logic as it was moved to the SDK 2015-01-09 12:54:35 -03:00
Juan Cruz Viotti
05812ba442 Implement and make use of errors.handleCallback()
This function is introduced to remove some duplication
2015-01-09 12:22:18 -03:00
Juan Cruz Viotti
41fcedb171 Remove TODO that has been moved to the SDK 2015-01-09 10:46:35 -03:00
Juan Cruz Viotti
8c02e88ab5 Add logout error handler 2015-01-09 10:38:06 -03:00
Juan Cruz Viotti
807bc2f047 Make use of new SDK logs feature 2015-01-09 10:34:26 -03:00
Juan Cruz Viotti
bf7430d7fd Move logs logic to a nested logs module 2015-01-09 09:42:46 -03:00
Juan Cruz Viotti
5ec4abc710 Make deviceOption required 2015-01-08 13:30:15 -03:00
Juan Cruz Viotti
b5701f53f5 Make use of isSystemVariable from Resin SDK 2015-01-08 13:15:40 -03:00
Juan Cruz Viotti
d2b0772673 Remove duplication by relying on Capitano's new required option feature 2015-01-08 12:11:10 -03:00
Juan Cruz Viotti
dc75481880 Improve TODO comment for clarity sake 2015-01-08 11:01:47 -03:00
Juan Cruz Viotti
2f1275d617 Remove unneeded dependency 2015-01-08 11:01:04 -03:00
Juan Cruz Viotti
0452916a87 Integrate with connection.ConnectionParams 2015-01-08 10:56:46 -03:00
Juan Cruz Viotti
f000509995 Get rid of utils/mock 2015-01-08 09:43:50 -03:00
Juan Cruz Viotti
12f46be691 Partially get rid of nested sdk 2015-01-08 09:39:38 -03:00
Juan Cruz Viotti
8ac36ced4d Decouple resin sdk from it's surroundings 2015-01-06 15:02:03 -03:00
Juan Cruz Viotti
07c57d335b Refactor table to get rid of map feature 2015-01-06 14:12:11 -03:00
Juan Cruz Viotti
57c86f920c Stop using table map feature 2015-01-06 14:07:35 -03:00
Juan Cruz Viotti
19e151e521 Simplify conditional 2015-01-06 13:57:11 -03:00
Juan Cruz Viotti
af98a89e51 Make errors.handle handle EISDIR and ENOENT 2015-01-06 13:54:40 -03:00
Juan Cruz Viotti
e9caca8c24 Rename error code to error exit code 2015-01-06 13:46:31 -03:00
Juan Cruz Viotti
ac00a96728 Move device manipulation logic to device model 2015-01-06 13:35:38 -03:00
Juan Cruz Viotti
be2b556d91 Move device display name logic to application model 2015-01-06 13:24:11 -03:00
Juan Cruz Viotti
c311738dd1 Move application field manipulations to the model 2015-01-06 13:22:40 -03:00
Juan Cruz Viotti
45a4f8eda0 Remove unnecessary object keys deletion 2015-01-06 13:15:40 -03:00
Juan Cruz Viotti
af8d1e4517 Implement devices supported command 2014-12-24 12:50:30 -04:00
Juan Cruz Viotti
14f047da53 Remove obsolete comment 2014-12-24 12:44:19 -04:00
Juan Cruz Viotti
3f9270cbb9 Implement note command 2014-12-24 12:40:40 -04:00
Juan Cruz Viotti
16ddd8ccb6 Implement interactive signup form 2014-12-24 11:14:30 -04:00
Juan Cruz Viotti
33e209def5 Add register function to resin/auth 2014-12-24 10:59:25 -04:00
Juan Cruz Viotti
0983506efb Fix bug in device command 2014-12-23 09:54:34 -04:00
Juan Cruz Viotti
aefb809c11 Disable colour highlighting 2014-12-23 09:21:11 -04:00
Juan Cruz Viotti
4ad7fd0132 Make devices command application option based 2014-12-23 08:54:15 -04:00
Juan Cruz Viotti
634653609e Remove IP Address from devices list
Some devices have a very long set of ips.
2014-12-23 08:44:13 -04:00
Juan Cruz Viotti
8d08affcd8 Move parseCredentials() to helpers 2014-12-22 15:48:11 -04:00
Juan Cruz Viotti
68a6da9ffe Make resin/server private 2014-12-22 15:42:39 -04:00
Juan Cruz Viotti
1b9c62a50f Completely decouple client code from server module 2014-12-22 15:40:57 -04:00
Juan Cruz Viotti
aeafd23e43 Make resin/errors private 2014-12-22 15:31:11 -04:00
Juan Cruz Viotti
0746723abd Decouple client code from resin.errors 2014-12-22 15:29:15 -04:00
Juan Cruz Viotti
da099e876d Use internal errors module in app.coffee 2014-12-22 15:28:11 -04:00
Juan Cruz Viotti
5578b7edab Make more obvious that helpers is private 2014-12-22 15:26:57 -04:00
Juan Cruz Viotti
212c06e5a2 Decouple client code from server by creating key model 2014-12-22 15:18:47 -04:00
Juan Cruz Viotti
6cb8d4e466 Remove almost empty error spec 2014-12-22 15:03:47 -04:00
Juan Cruz Viotti
a6b3ca1442 Mix device module with device model 2014-12-22 15:02:52 -04:00
Juan Cruz Viotti
cda24c9e1b Move os.generateCacheName outside Resin SDK 2014-12-22 14:50:54 -04:00
Juan Cruz Viotti
8c6db6608d Remove os/windows module for now 2014-12-22 14:47:30 -04:00
Juan Cruz Viotti
c4422a171c Remove unused config module 2014-12-22 14:45:16 -04:00
Juan Cruz Viotti
be08a83765 Move token as an auth submodule 2014-12-22 14:43:38 -04:00
Juan Cruz Viotti
46ebb7b1fd Move errors.handle() out of resin sdk 2014-12-22 12:47:12 -04:00
Juan Cruz Viotti
2351fa25a0 Move log out of resin sdk 2014-12-22 12:41:14 -04:00
Juan Cruz Viotti
5ae3077df9 Implement example clone command 2014-12-22 12:20:08 -04:00
Juan Cruz Viotti
082382d244 Implement examples and example <id> commands 2014-12-22 12:00:01 -04:00
Juan Cruz Viotti
0a13fb54b5 Add example JSON data 2014-12-22 11:59:47 -04:00
Juan Cruz Viotti
893d836937 Implement stdin support for key add command 2014-12-22 10:30:21 -04:00
Juan Cruz Viotti
a8678f419b Implement "project" global option 2014-12-22 10:08:12 -04:00
Juan Cruz Viotti
eb34d957f3 Implement env rename command 2014-12-19 14:29:53 -04:00
Juan Cruz Viotti
de4c3c986e Implement env add command 2014-12-19 14:07:53 -04:00
Juan Cruz Viotti
006f3e8aca Implement key add command 2014-12-19 13:06:58 -04:00
Juan Cruz Viotti
ff152c987d Implement device rename command 2014-12-19 10:05:54 -04:00
Juan Cruz Viotti
6cfe2bdc49 Make use of Capitano for command line parsing 2014-12-19 09:15:38 -04:00
Juan Cruz Viotti
b30b41d4bb Enable auth whoami command 2014-12-12 10:25:32 -04:00
Juan Cruz Viotti
40fc9fca4f Persist username in dataPrefix/username 2014-12-12 10:12:06 -04:00
Juan Cruz Viotti
15c73b6ed5 Document and refactor resin.vcs 2014-12-12 09:22:35 -04:00
Juan Cruz Viotti
596446835a Reimplement app init with resin.vcs 2014-12-11 16:00:24 -04:00
Juan Cruz Viotti
8d5bba9558 Implement VCS module 2014-12-11 15:51:22 -04:00
Juan Cruz Viotti
001d7be622 Implement app init command 2014-12-11 11:37:16 -04:00
Juan Cruz Viotti
bf9f1bb9c9 Make use of conf.js instead of mantaining CliConf in the codebase 2014-12-11 11:34:36 -04:00
Juan Cruz Viotti
b9085c595d Add empty description to glob command 2014-12-10 14:34:22 -04:00
Juan Cruz Viotti
3717831c38 Implement errors.handle() debug support 2014-12-10 14:13:42 -04:00
Juan Cruz Viotti
890d672671 Fix undefined rimraf issue after update 2014-12-10 13:54:54 -04:00
Juan Cruz Viotti
06f6b47fd1 Show help if no command is passed 2014-12-10 13:44:56 -04:00
Juan Cruz Viotti
e1e7c33752 Show help when entering an invalid command 2014-12-10 10:29:23 -04:00
Juan Cruz Viotti
f5a0c7d6e5 Upgrade old resin-platform-api to pinejs-client-js 2014-12-09 14:56:49 -04:00
Juan Cruz Viotti
be2282d70f Remove obsolete comment 2014-12-09 14:36:54 -04:00
Juan Cruz Viotti
37797f3416 Get rid of formatLongString in favor of _.chop 2014-12-09 14:35:45 -04:00
Juan Cruz Viotti
95e3e7b8b7 Remove plugin-loader as we need to rethink the whole thing to make it Windows compatible 2014-12-09 14:35:41 -04:00
Juan Cruz Viotti
e6a982d92c Fix resin/helpers spec os dependant paths 2014-12-09 13:46:16 -04:00
Juan Cruz Viotti
75ce68c789 Implement os/windows.parseWmicDiskDriveGet() 2014-12-09 12:47:43 -04:00
Juan Cruz Viotti
9dbf3a21cf Add TODO about underscore string functions 2014-12-09 12:03:12 -04:00
Juan Cruz Viotti
f658fab566 Get rid of data/fsUtils 2014-12-09 09:05:37 -04:00
Juan Cruz Viotti
d62248b6d3 Remove unneeded dependency in fs-utils 2014-12-09 08:48:41 -04:00
Juan Cruz Viotti
25d2a10909 Simplify data.remove() 2014-12-09 08:47:30 -04:00
Juan Cruz Viotti
d9bfd22909 Implement data.getText and data.setText shortcut functions 2014-12-09 08:44:45 -04:00
Juan Cruz Viotti
9f713395af Remove isDirectory duplication in plugin-loader 2014-12-08 11:12:23 -04:00
Juan Cruz Viotti
b4a49113fb Remove helpers.isAbsolutePath() in favor of fsPlus.isAbsolute() 2014-12-08 11:09:01 -04:00
Juan Cruz Viotti
5059bcb212 Get rid of fsUtils.isDirectory 2014-12-08 11:02:38 -04:00
Juan Cruz Viotti
f75d06b302 Fix documentation examples for fsUtils.isDirectory 2014-12-08 10:54:37 -04:00
Juan Cruz Viotti
18dc048302 Add parseCredentials todo comment 2014-12-08 10:17:33 -04:00
Juan Cruz Viotti
9bfd686c5c Increase readability of authenticate() 2014-12-08 10:16:37 -04:00
Juan Cruz Viotti
25eedd22a0 Update docs 2014-12-08 10:13:01 -04:00
Juan Cruz Viotti
c2c81220d6 Document resin/token 2014-12-08 08:48:50 -04:00
Juan Cruz Viotti
1885d319bf Document resin/server 2014-12-08 08:48:39 -04:00
Juan Cruz Viotti
a41d55f147 Document resin/os 2014-12-08 08:48:30 -04:00
Juan Cruz Viotti
68f3d601cb Document all models 2014-12-08 08:48:19 -04:00
Juan Cruz Viotti
ad74cbaec0 Add throw type to log.array() 2014-12-05 15:34:53 -04:00
Juan Cruz Viotti
3fbb7b5310 Document resin/models/_canvas 2014-12-05 15:33:24 -04:00
Juan Cruz Viotti
3d02acaf20 Document resin/log 2014-12-05 15:24:38 -04:00
Juan Cruz Viotti
6b3042760e Document resin/helpers 2014-12-05 15:10:57 -04:00
Juan Cruz Viotti
88ecade342 Document resin/errors 2014-12-05 15:04:49 -04:00
Juan Cruz Viotti
98e845a90b Document resin/device 2014-12-05 14:48:47 -04:00
Juan Cruz Viotti
8c774bace2 Document resin/data/fs-utils 2014-12-05 14:39:12 -04:00
Juan Cruz Viotti
608716a692 Document resin/data 2014-12-05 14:32:12 -04:00
Juan Cruz Viotti
725f0ce014 Document resin/data-prefix 2014-12-05 14:11:45 -04:00
Juan Cruz Viotti
842336e61b Fix callback documentation issue 2014-12-05 14:08:51 -04:00
Juan Cruz Viotti
0c5126f0d5 Document resin/config 2014-12-05 14:05:09 -04:00
Juan Cruz Viotti
df12d5108d Document resin/auth 2014-12-05 13:49:33 -04:00
Juan Cruz Viotti
3c3cae2096 Remove cli permissions pending test 2014-12-05 12:55:48 -04:00
Juan Cruz Viotti
ceb2a1cf63 Refactor tests 2014-12-05 12:52:31 -04:00
Juan Cruz Viotti
4b74ec7fc4 Move UI outside resin module 2014-12-05 12:00:15 -04:00
Juan Cruz Viotti
e7495fa72d Move cli outside of resin module 2014-12-05 11:51:52 -04:00
Juan Cruz Viotti
4d0ecbdc4c Implement device info command 2014-12-05 11:32:14 -04:00
Juan Cruz Viotti
199635b311 Fix is_web_accessible table key bug 2014-12-05 11:25:45 -04:00
Juan Cruz Viotti
0c55a4afb6 Integrate CliConf with application 2014-12-05 11:09:31 -04:00
Juan Cruz Viotti
42815ceff9 Implement Cli Conf draft 2014-12-05 10:52:43 -04:00
Juan Cruz Viotti
511e753256 Support user defined configuration file 2014-12-03 12:03:54 -04:00
Juan Cruz Viotti
1b8290ade1 Cross platform home directory 2014-12-03 09:31:36 -04:00
Juan Cruz Viotti
4143b6da49 Namespace directories inside config.directories 2014-12-03 09:26:14 -04:00
Juan Cruz Viotti
62b15cce92 Add TODO regarding quieting progress bar 2014-12-03 09:09:36 -04:00
Juan Cruz Viotti
ffdd44752a Integrate nicer progress bar for os:download 2014-12-02 17:40:13 -04:00
Juan Cruz Viotti
2b5d95af3a Support --output option 2014-12-02 11:53:34 -04:00
Juan Cruz Viotti
7ea4ef84b4 Make use of resin.os.generateCacheName in os action 2014-12-02 11:30:17 -04:00
Juan Cruz Viotti
b89524c43b Implement os module 2014-12-02 11:28:49 -04:00
Juan Cruz Viotti
ccf92411fe Implemence pace based os download 2014-12-02 11:08:22 -04:00
Juan Cruz Viotti
0b078be0f3 Allow piped server requests 2014-12-02 10:57:47 -04:00
Juan Cruz Viotti
2911caf7f8 Remove unused helpers.constructRemoteUrl 2014-12-02 09:50:59 -04:00
Juan Cruz Viotti
d3df9bff1a Allow tracking progress of server requests 2014-12-01 13:28:57 -04:00
Juan Cruz Viotti
e52eb75ac8 Implement constructRemoteUrl helper function 2014-12-01 11:52:09 -04:00
Juan Cruz Viotti
141fa9be6d Fix and improve connection param parsing function 2014-12-01 11:41:32 -04:00
Juan Cruz Viotti
a4db6ce572 Add download url to config 2014-12-01 11:41:14 -04:00
Juan Cruz Viotti
34e93ebe60 Add os download related options 2014-12-01 11:40:58 -04:00
Juan Cruz Viotti
551202dd4e Implement InvalidCredentials error 2014-12-01 10:18:39 -04:00
Juan Cruz Viotti
e21c1588c9 Remove config urls abs url map 2014-12-01 10:13:35 -04:00
Juan Cruz Viotti
d3eac45955 Move all urls to config 2014-12-01 10:06:03 -04:00
Juan Cruz Viotti
db51ed9d1e Move authenticate url to config 2014-12-01 09:52:45 -04:00
Juan Cruz Viotti
d4b189f785 Move device logs pubnub event to config 2014-12-01 09:50:18 -04:00
Juan Cruz Viotti
8f13e9bf44 Implement log tail option 2014-11-28 20:51:08 -04:00
Juan Cruz Viotti
25af7a2231 Implement logs -n/--num 2014-11-28 20:18:59 -04:00
Juan Cruz Viotti
4702e7b563 Refactor valid UUID check into helpers 2014-11-28 15:36:03 -04:00
Juan Cruz Viotti
721ef8413a Implement logs command 2014-11-28 15:11:15 -04:00
Juan Cruz Viotti
1f4926bb6a Implement loadPluginsDirectory 2014-11-28 11:10:01 -04:00
Juan Cruz Viotti
1d18329c29 Rename loadPackage to loadPlugin 2014-11-28 10:40:17 -04:00
Juan Cruz Viotti
8bf8cff436 Implement pluginLoader.readPluginsDirectory() 2014-11-28 10:38:34 -04:00
Juan Cruz Viotti
a62ef744bc Implement pluginLoader.loadPackage 2014-11-27 12:14:13 -04:00
Juan Cruz Viotti
26f037d3c7 Don't use plugin loader for built in functionality 2014-11-27 11:26:59 -04:00
Juan Cruz Viotti
594a358bef Implement and make use of plugin loader (only in preferences for now) 2014-11-27 11:22:48 -04:00
Juan Cruz Viotti
a3c8a2fb27 Handle permissions errors with errors.handle 2014-11-27 10:07:59 -04:00
Juan Cruz Viotti
5e3d973725 Implement command permissions 2014-11-27 10:06:11 -04:00
Juan Cruz Viotti
507ff16050 Option based addOption/addCommand/addResource 2014-11-27 09:28:24 -04:00
Juan Cruz Viotti
a5791d080f Implement CLI addResource 2014-11-27 09:10:51 -04:00
Juan Cruz Viotti
86ecf5b1b6 Namespace actions with an actions object 2014-11-26 15:11:34 -04:00
Juan Cruz Viotti
7f01cae064 Implement resin/cli and decouple app.coffee from commander 2014-11-26 15:07:40 -04:00
Juan Cruz Viotti
cf4778f889 Move FsUtils inside resin/data 2014-11-26 14:22:01 -04:00
Juan Cruz Viotti
5b470f1a0a Use resin.errors.handle in app.coffee 2014-11-26 14:17:26 -04:00
Juan Cruz Viotti
debc017ba3 Make environment variables model callback based 2014-11-26 14:11:11 -04:00
Juan Cruz Viotti
fa83019945 Make device model callback based 2014-11-26 14:05:55 -04:00
Juan Cruz Viotti
213cab0480 Make application model callback based 2014-11-26 13:54:05 -04:00
Juan Cruz Viotti
9529e6c335 Move config to resin module 2014-11-26 13:42:05 -04:00
Juan Cruz Viotti
912ebf6752 Get rid of messages module 2014-11-26 13:35:01 -04:00
Juan Cruz Viotti
3db13f6329 Move patterns to resin/ui 2014-11-26 13:29:19 -04:00
Juan Cruz Viotti
67ade4bf12 Move widgets to resin/ui module 2014-11-26 13:26:01 -04:00
Juan Cruz Viotti
ce8b11004c Move table to widget module 2014-11-26 13:20:56 -04:00
Juan Cruz Viotti
bc11b305b2 Move device to resin module 2014-11-26 13:12:39 -04:00
Juan Cruz Viotti
ff07764b39 Move auth to resin module 2014-11-26 13:02:22 -04:00
Juan Cruz Viotti
64cb1520f6 Move data to resin module 2014-11-26 12:56:52 -04:00
Juan Cruz Viotti
1736d8a759 Move token to resin module 2014-11-26 12:42:10 -04:00
Juan Cruz Viotti
edcee1c9cf Move log and errors to resin module 2014-11-26 12:38:02 -04:00
Juan Cruz Viotti
8b81fbdbbd Move models to resin 2014-11-26 12:15:40 -04:00
Juan Cruz Viotti
698ddd168c Move server to resin module 2014-11-26 12:07:10 -04:00
Juan Cruz Viotti
af00bd1faf Improve error support 2014-11-26 11:39:58 -04:00
Juan Cruz Viotti
76e92fea22 Fix authHooks test suite 2014-11-26 09:19:02 -04:00
Juan Cruz Viotti
d4310bf970 Implement connection.parseConnectionParameters 2014-11-25 13:50:50 -04:00
Juan Cruz Viotti
ea13f7e11e Test failIfNotLoggedIn auth hook 2014-11-25 09:37:53 -04:00
Juan Cruz Viotti
a6099b227b Require internet connection before attempting to use server module 2014-11-25 09:02:50 -04:00
Juan Cruz Viotti
927b7bc0eb Make use of errors.NotFound 2014-11-24 14:48:16 -04:00
Juan Cruz Viotti
86548fc3d2 Fix typo in constructor 2014-11-24 14:41:16 -04:00
Juan Cruz Viotti
5549a2bd9e Make use of errors.handle() everywhere 2014-11-24 14:08:58 -04:00
Juan Cruz Viotti
90cb463390 Implement errors module 2014-11-24 14:08:51 -04:00
Juan Cruz Viotti
cbf7039fca Remove unnecessary fat arrow 2014-11-24 13:40:56 -04:00
Juan Cruz Viotti
e05b149a0e Return promise rejection to prevent Bluebird from complaining 2014-11-24 13:28:44 -04:00
Juan Cruz Viotti
1165113240 Prevent some undefined js errors 2014-11-24 13:27:15 -04:00
Juan Cruz Viotti
12fc2e3bfb Table: Prevent map from being called if contents is undefined 2014-11-24 13:18:35 -04:00
Juan Cruz Viotti
b9d5b0fd59 Implement env:rm command 2014-11-24 13:00:36 -04:00
Juan Cruz Viotti
7988b0cbbe Allow increasing verbosity for envs command 2014-11-24 12:43:37 -04:00
Juan Cruz Viotti
a8a78f0749 Implement envs command 2014-11-24 12:12:12 -04:00
Juan Cruz Viotti
79f7d23f35 Move /blink to config 2014-11-24 11:40:51 -04:00
Juan Cruz Viotti
f0e25589cd Add non interactive support for app:create 2014-11-24 10:56:03 -04:00
Juan Cruz Viotti
f4ad73d2f8 Implement app:create command (interacitivy only for now) 2014-11-24 10:46:33 -04:00
Juan Cruz Viotti
f8e6894ea0 Fix bug that caused request body not being sent 2014-11-24 10:40:12 -04:00
Juan Cruz Viotti
b90b803fcb Return device name if passing a display name to getDisplayName() 2014-11-24 09:09:39 -04:00
Juan Cruz Viotti
b9d1626fe1 Improve device module with required functionality 2014-11-24 09:03:02 -04:00
Juan Cruz Viotti
77e59cf7b9 Improve device.getSupportedDevices() to return valid slugs 2014-11-24 08:54:35 -04:00
Juan Cruz Viotti
51c6a8b4c2 Implement select widget 2014-11-24 08:45:15 -04:00
Juan Cruz Viotti
8ee2568144 Implement device.getSupportedDevices() 2014-11-24 08:25:45 -04:00
Juan Cruz Viotti
f56cd8162c Implement device:identify command 2014-11-21 14:21:47 -04:00
Juan Cruz Viotti
982c18a900 Add UUID to table KEY_DISPLAY_MAP 2014-11-21 14:20:43 -04:00
Juan Cruz Viotti
34b0c7d783 Removeu unneeded dependency 2014-11-21 13:57:51 -04:00
Juan Cruz Viotti
29054bedf1 Implement key:rm command 2014-11-21 13:56:11 -04:00
Juan Cruz Viotti
832cbf89ff Implement device rm command 2014-11-21 13:23:29 -04:00
Juan Cruz Viotti
a853c0418a Add -q|--quiet global option 2014-11-21 12:20:37 -04:00
Juan Cruz Viotti
d46cf4aced Make use of new log module everywhere 2014-11-21 11:40:37 -04:00
Juan Cruz Viotti
aa2d0e70ca Implement log module 2014-11-21 11:37:23 -04:00
Juan Cruz Viotti
fed63fd178 Omit confirmation interactivity with -y/--yes 2014-11-21 10:44:48 -04:00
Juan Cruz Viotti
0697510f38 Refactor app:rm with async 2014-11-21 10:12:03 -04:00
Juan Cruz Viotti
37c68118db Implement app rm command 2014-11-21 09:43:03 -04:00
Juan Cruz Viotti
1c1e8b375e Use packageJSON directly instead of creating version action 2014-11-21 09:30:29 -04:00
Juan Cruz Viotti
b53bc060a3 Revert back to commander 2014-11-21 09:23:02 -04:00
Juan Cruz Viotti
4b20ba435d Implement key info command 2014-11-20 14:00:39 -04:00
Juan Cruz Viotti
5bbbc93d80 Implement helpers module with formatLongString() 2014-11-20 13:53:10 -04:00
Juan Cruz Viotti
c4bb275923 Implement key list command 2014-11-20 13:03:23 -04:00
Juan Cruz Viotti
a189e21c30 Restart URL TODO 2014-11-20 12:54:43 -04:00
Juan Cruz Viotti
322fed866d Test that server can handle a relative as well as an absolute url 2014-11-20 12:33:07 -04:00
Juan Cruz Viotti
574d612624 Implement app restart command 2014-11-20 12:24:39 -04:00
Juan Cruz Viotti
e1a63fb548 Implement version module 2014-11-20 12:13:59 -04:00
Juan Cruz Viotti
ee0fc8206f Make use of yargs.showHelp() instead of yargs.help(), as the latter uses
stderr by default
2014-11-20 12:11:01 -04:00
Juan Cruz Viotti
d6c8d77ceb Update areFunctionsEqual comment 2014-11-20 12:07:03 -04:00
Juan Cruz Viotti
91567cb5c7 Make run() print help if no matches 2014-11-20 12:05:50 -04:00
Juan Cruz Viotti
14459e1d09 Re enable all commands with new Yargs Command plugin 2014-11-20 11:57:53 -04:00
Juan Cruz Viotti
7610fe87cc Implement Yargs Command plugin 2014-11-20 11:50:58 -04:00
Juan Cruz Viotti
f1a76db5f5 Show Is Online information in devices command 2014-11-19 15:18:15 -04:00
Juan Cruz Viotti
3f1bcf3f02 Improve devices table ordering 2014-11-19 15:01:27 -04:00
Juan Cruz Viotti
be01094463 Fix ID -> Id ordering bug 2014-11-19 14:57:30 -04:00
Juan Cruz Viotti
34346dd3d0 Refactor table utilities into tableHelpers 2014-11-19 14:25:09 -04:00
Juan Cruz Viotti
55fa8435bb Implement devices command 2014-11-19 13:38:15 -04:00
Juan Cruz Viotti
e0032c090f Catch errors from applicationModel.getAll() 2014-11-19 12:15:39 -04:00
Juan Cruz Viotti
7dc5915db5 Remove unused dependencies 2014-11-19 12:14:34 -04:00
Juan Cruz Viotti
9130281862 Extend table module to handle formatting 2014-11-19 12:12:08 -04:00
Juan Cruz Viotti
e0448357df Implement table.horizontal() 2014-11-19 10:42:18 -04:00
Juan Cruz Viotti
26c69d183d Make sure table.prepareObject() doesn't removes non empty arrays 2014-11-19 10:29:59 -04:00
Juan Cruz Viotti
e390efd46e Implement table module 2014-11-19 10:20:36 -04:00
Juan Cruz Viotti
77d84103f6 Implement app info action 2014-11-19 09:23:40 -04:00
Juan Cruz Viotti
3015af3aeb Fix hook arguments issue 2014-11-19 09:14:40 -04:00
Juan Cruz Viotti
98f4dc8e19 Require login before opening preferences 2014-11-19 09:05:26 -04:00
Juan Cruz Viotti
47a1e16dab Implement preferences module 2014-11-19 08:59:17 -04:00
Juan Cruz Viotti
76194c7d46 Use getDisplayName() in apps action 2014-11-19 08:51:42 -04:00
Juan Cruz Viotti
d77e671648 Return unknown if no matches in device.getDisplayName() 2014-11-19 08:50:11 -04:00
Juan Cruz Viotti
f0e1effc05 Implement device module with getDisplayName() 2014-11-19 08:45:56 -04:00
Juan Cruz Viotti
89ec171a3d Improve apps printing with cliff 2014-11-18 14:51:05 -04:00
Juan Cruz Viotti
8777bb9536 Make use of authHooks in actions 2014-11-18 12:37:01 -04:00
Juan Cruz Viotti
8bdd3b697a Implement authHooks module 2014-11-18 12:36:43 -04:00
Juan Cruz Viotti
a0c743d771 Implement messages module 2014-11-18 12:36:33 -04:00
Juan Cruz Viotti
5109bba302 Move TODO to a better place 2014-11-18 12:20:37 -04:00
Juan Cruz Viotti
24f50fa5ec Add optional interactivity to login command 2014-11-18 12:15:40 -04:00
Juan Cruz Viotti
275eed82f0 Implement widgets module 2014-11-18 12:14:48 -04:00
Juan Cruz Viotti
53c25412c3 Make auth.parseCredentials async 2014-11-18 12:11:20 -04:00
Juan Cruz Viotti
d671832b5a Implement logout command 2014-11-18 11:48:05 -04:00
Juan Cruz Viotti
c41b28d4f0 Organise action requires close to their use in app.coffee 2014-11-18 11:40:12 -04:00
Juan Cruz Viotti
5c53829812 Implement signup command 2014-11-18 11:37:29 -04:00
Juan Cruz Viotti
612bb5e605 Basic test suite for Canvas 2014-11-18 11:15:47 -04:00
Juan Cruz Viotti
719c8d199d Remove server facade duplication 2014-11-18 10:33:24 -04:00
Juan Cruz Viotti
eee13418b9 Delete obsolete comment 2014-11-18 10:13:58 -04:00
Juan Cruz Viotti
6afdd0e48a Make use of new ApplicationModel in apps list action 2014-11-18 10:12:35 -04:00
Juan Cruz Viotti
e4b0f3772b Implement ApplicationModel's getAll function 2014-11-18 10:11:18 -04:00
Juan Cruz Viotti
e18bc83285 Integrat resin-platform-api 2014-11-18 10:11:07 -04:00
Juan Cruz Viotti
6da7290d73 Use gzip by default in server 2014-11-18 10:05:38 -04:00
Juan Cruz Viotti
e6570efbaf Simplify header assignment in server.request 2014-11-18 10:04:26 -04:00
Juan Cruz Viotti
7524a0efa8 Option based server.request() 2014-11-18 09:59:19 -04:00
Juan Cruz Viotti
9e0940063e Use built-in url module instead of url-join 2014-11-18 09:19:20 -04:00
Juan Cruz Viotti
2fd2b702ae Rename config.baseUrl to config.remoteUrl 2014-11-18 08:53:07 -04:00
Juan Cruz Viotti
d0cc3e54ad Create actions submodule to clean app a bit 2014-11-18 08:41:13 -04:00
Juan Cruz Viotti
2b8313da74 Rename interface as simply app.coffee 2014-11-18 08:35:50 -04:00
Juan Cruz Viotti
c753e1b41b Move auth outside of cli-modules 2014-11-18 08:34:40 -04:00
Juan Cruz Viotti
69dbd49444 Implement simple interface module 2014-11-17 15:48:26 -04:00
Juan Cruz Viotti
8df43575d0 Correctly reference home directory 2014-11-17 15:40:16 -04:00
Juan Cruz Viotti
3c3cb3e850 Create prefix directory when using data.prefix.set 2014-11-17 15:32:35 -04:00
Juan Cruz Viotti
11998a63cd Make data.prefix.set() async 2014-11-17 15:20:19 -04:00
Juan Cruz Viotti
5eeb4e04ee Remove unneeded logErrorOrContinue 2014-11-17 15:13:31 -04:00
Juan Cruz Viotti
fa47ad1201 Implement handy logErrorOrContinue 2014-11-17 14:55:36 -04:00
Juan Cruz Viotti
798a3ded61 Improve parseCredentials error message 2014-11-17 14:54:20 -04:00
Juan Cruz Viotti
b0fe4f41c1 Implement auth.parseCredentials() 2014-11-17 14:40:32 -04:00
Juan Cruz Viotti
d9bfe96cb5 Pass null as first argument for consistency 2014-11-14 15:50:29 -04:00
Juan Cruz Viotti
93b3f90e92 Remove done TODO 2014-11-14 15:49:35 -04:00
Juan Cruz Viotti
58cc0be0c9 Cleanup tests 2014-11-14 15:48:37 -04:00
Juan Cruz Viotti
8143fa3ab3 Update tests that assume saveToken returned the token as the second
parameter
2014-11-14 15:37:55 -04:00
Juan Cruz Viotti
b0dde8104f Pass undefined directly on data.get when key doesn't exists
To prevent confusing async
2014-11-14 15:26:25 -04:00
Juan Cruz Viotti
a4a9ebf0bb Fix undefined callback issue 2014-11-14 15:18:08 -04:00
Juan Cruz Viotti
48d39a39f8 Reorder server unit test to get more meaningful results 2014-11-14 15:04:47 -04:00
Juan Cruz Viotti
15620145eb Make data module return undefined if key is not found 2014-11-14 14:56:52 -04:00
Juan Cruz Viotti
14bacbc4a4 Make token fs based 2014-11-14 14:28:58 -04:00
Juan Cruz Viotti
e288d3e85f Implement data.has() 2014-11-14 13:34:04 -04:00
Juan Cruz Viotti
d83e269f20 Implement data.remove() 2014-11-14 13:21:56 -04:00
Juan Cruz Viotti
86b3489a48 Implement fsUtils.isDirectory() helper 2014-11-14 12:58:05 -04:00
Juan Cruz Viotti
aef90a18e8 Use staging instead of alpha for now 2014-11-14 11:54:03 -04:00
Juan Cruz Viotti
b47adaefa4 Make sure server response body is parsed 2014-11-14 11:53:46 -04:00
Juan Cruz Viotti
97d778634d Implement Authorization header support in server module 2014-11-14 11:05:30 -04:00
Juan Cruz Viotti
58300acb77 Implement Auth module 2014-11-14 09:51:59 -04:00
Juan Cruz Viotti
5d6d2f0511 Convert Token module into callback based 2014-11-07 14:51:54 -04:00
Juan Cruz Viotti
3f5da39990 Add TODO for fsUtils.isValidPath() 2014-11-07 14:17:37 -04:00
Juan Cruz Viotti
cad1d5764b Remove unused fsUtils.isFile() 2014-11-07 14:17:05 -04:00
Juan Cruz Viotti
f00691529a Implement Data module 2014-11-07 14:15:59 -04:00
Juan Cruz Viotti
453d1bbd7b Add colon after each module spec title 2014-11-07 12:43:10 -04:00
Juan Cruz Viotti
64e66e229f Implement DataPrefix module 2014-11-07 12:42:02 -04:00
Juan Cruz Viotti
afe438ff82 Don't not send an error on isFile, even when the file doesn't exists 2014-11-07 12:10:18 -04:00
Juan Cruz Viotti
89bb0d0b21 Implement fsUtils module 2014-11-07 11:21:48 -04:00
Juan Cruz Viotti
41d73eaf98 Implement precarious token persistence mechanism 2014-10-31 15:19:16 -04:00
Juan Cruz Viotti
463ed6473b Implement basic Auth module that fetches a token 2014-10-31 14:47:18 -04:00
Juan Cruz Viotti
b52d1ccb6d Throw error if serve response status code is higher or equal than 400 2014-10-31 13:25:02 -04:00
Juan Cruz Viotti
62fc40cd4b Implement Server module 2014-10-31 11:59:23 -04:00