Commit Graph

184 Commits

Author SHA1 Message Date
Dave Eddy 3cbf85a121 show image name and version when UUID is specified, fixes #29 2015-10-05 16:34:24 -04:00
Dave Eddy faca038854 exports main module 2015-09-29 18:15:08 -04:00
Dave Eddy e7109071de cloudapi and tritonapi exports should match 2015-09-29 18:13:34 -04:00
Dave Eddy 464851843a add "list" and "ls" aliases for "instances", fixes #34 2015-09-29 18:01:18 -04:00
Trent Mick a01c7eede6 'triton profile -a' fix when invalid keyId 2015-09-28 12:27:58 -07:00
Trent Mick daecb2979b export 'promptField', broken by refactor before commit 2015-09-28 12:24:50 -07:00
Trent Mick aeebcf19f0 'triton profile -a' from stdin, JSON file or interactively 2015-09-28 12:20:21 -07:00
Trent Mick bf21ac467a 'triton profile{,s}' all except 'triton profile -a' 2015-09-25 12:19:29 -07:00
Dave Eddy 2eeb68cba5 document destructiveAllowed, use TRITON_* vars for tests 2015-09-25 13:24:12 -04:00
Trent Mick f38bfb68f1 should support TRITON_KEY_ID as well 2015-09-25 10:22:58 -07:00
Dave Eddy e5c5f2d54c use env profile for integration tests 2015-09-25 13:10:39 -04:00
Trent Mick b238fcf52f improve on a DEPTH_ZERO_SELF_SIGNED_CERT error
from:
    triton account: error: DEPTH_ZERO_SELF_SIGNED_CERT
to this:
    triton account: error (SelfSignedCert): could not access CloudAPI https://10.88.88.3 because it uses a self-signed TLS certificate and your current profile is not configured for insecure access: DEPTH_ZERO_SELF_SIGNED_CERT
2015-09-23 21:10:52 -07:00
Trent Mick ee07395eae joyent/node-triton#30 `triton` commands blow up obtusely if getting HTML content back from cloudapi endpoints
Fixes #30
2015-09-23 12:32:09 -07:00
Trent Mick 818a6b0afe no bigspinner by default: use '-ww' for a spinner, '-www' bigger, '-wwww' max 2015-09-23 09:30:06 -07:00
Dave Eddy ee9f897f22 filter for name and version if supplied 2015-09-21 18:57:53 -04:00
Dave Eddy a6d9bad267 filter image version on the server 2015-09-21 17:16:47 -04:00
Dave Eddy aaeb58730b fix create UUID bug 2015-09-21 17:12:33 -04:00
Trent Mick 0c2ade98ba Fix `"insecure":true` in a profile
This was broken in commit 99d9113eae
2015-09-21 14:07:07 -07:00
Dave Eddy b4900ea626 remove UUID_RE in favor of isUUID 2015-09-21 17:02:10 -04:00
Dave Eddy 7ab6453b1f remove broken cache files if found, fixes #27 2015-09-21 17:00:58 -04:00
Dave Eddy 44ce942d97 triton create support image name@version format, fixes #25 2015-09-21 16:37:48 -04:00
Trent Mick 5ed72ea117 Fix 'make check' 2015-09-21 12:37:59 -07:00
Trent Mick 99d9113eae joyent/node-triton#28 profile opts (-i, -a, -k, -u) aren't being applied to profiles other than the `env` profile
Profile/CloudAPI top-level CLI options are now applied to the current
profile. Also clean up loading of the 'env' profile a bit so that
special casing of that is more hidden in "config.js".

Also add support for the TRITON_URL, TRITON_TLS_INSECURE and
TRITON_ACCOUNT envvars. (I didn't add TRITON_KEY_ID because a coming
change will do better than that.)

Fixes #28, #24.
2015-09-21 12:34:37 -07:00
Dave Eddy 6159bf404d remove glob dep, fixes #20 2015-09-21 14:01:00 -04:00
Trent Mick 94ebdb9f47 stop `TritonApi.listImages` passing internal options as query params to cloudapi
E.g.: `useCache` in the following:

    $ triton -v insts
    ...
    [2015-09-21T17:37:57.600Z] TRACE: triton/34623 on danger0.local (/Users/trentm/joy/node-triton/node_modules/restify-clients/lib/HttpClient.js:265 in rawRequest): request sent
        GET /trentm/images?useCache=true HTTP/1.1
        Host: 10.88.88.6
        date: Mon, 21 Sep 2015 17:37:57 GMT
        authorization: Signature keyId="/trentm/keys/de:e7:73:...
        accept: application/json
        user-agent: triton/1.0.0 (x64-darwin; node/0.10.40)
        accept-version: *
2015-09-21 10:41:13 -07:00
Trent Mick c93b08dd68 joyent/node-triton#26 triton command crashes with self-signed cert
Refactor do_instances to not call `callback` twice. Also don't assume
if a `res` on an error callback from CloudApi._request.

Fixes #26.
2015-09-21 10:33:42 -07:00
Trent Mick 7aa59f148f joyent/node-triton#19 stricter checking of profile files when loading them 2015-09-09 21:53:38 -07:00
Trent Mick 5e75bff3fe -p profile option should be hidden until complete 2015-09-09 16:14:34 -07:00
Trent Mick d2e999916b joyent/node-triton#18 first cut of 'triton profiles' 2015-09-09 16:04:15 -07:00
Dave Eddy f476cc9168 audit cleanup 2015-09-08 17:30:08 -04:00
Dave Eddy 9d314def3d add basic instance-audit support 2015-09-08 12:41:31 -04:00
Dave Eddy 789fb4f7e5 slug asserts 2015-09-04 20:33:31 -04:00
Dave Eddy 072f0ec864 make `triton cloudapi` more like curl
- `-X method` to specify method
- `-H 'key: value'` to specify header
2015-09-04 16:27:56 -04:00
Dave Eddy bdc3ea6651 mpl and copyright 2015-09-04 14:12:20 -04:00
Dave Eddy 0fee17fda0 getting ready for OSS
- s/triton/tritonapi/
- s/Triton/TritonApi/
- s/CloudAPI/CloudApi/
2015-09-04 14:05:36 -04:00
Dave Eddy 11543f23b8 info cleanup 2015-09-04 13:44:40 -04:00
Dave Eddy 7a7c204140 style fixes 2015-09-04 13:01:55 -04:00
Trent Mick 411659180f bash completion support 2015-09-04 00:09:19 -07:00
Trent Mick f6f0843200 right alignment of numerical columns for 'triton pkgs' 2015-09-03 23:52:12 -07:00
Dave Eddy de2a462f16 triton info cleanup, fixes #8 2015-09-03 18:24:39 -04:00
Dave Eddy edcc2a52ed Merge pull request #10 from joyent/dave.eddy-1441318327
use mkdirp to create cache directories
2015-09-03 18:19:18 -04:00
Dave Eddy f3aad05fc9 use mkdirp to create cache directories 2015-09-03 18:12:08 -04:00
Dave Eddy e48395d446 add common.getCliTableOptions for tabula
- common tabula options managed in "common"
- "datacenters" and "services" pass raw data with -j
2015-09-03 18:09:21 -04:00
Trent Mick 19ede6e489 joyent/node-triton#7 "triton create" could better handle missing package argument 2015-09-03 10:19:02 -07:00
Dave Eddy 804fe155b9 sprintf was a lie - use format everywhere 2015-09-03 00:02:40 -04:00
Dave Eddy 716976efa8 pass create data in post body 2015-09-03 00:02:09 -04:00
Dave Eddy 1cc87edb0f per-profile cache directory using account+url slug 2015-09-02 23:48:14 -04:00
Dave Eddy da8e13b45e more assertions in common, ensure tests run with assertions 2015-09-02 23:30:07 -04:00
Dave Eddy b6e4c06742 tabula changes
- "datacenters" and "services" both use tabula
- comman tabula options moved to common
2015-09-02 23:24:08 -04:00
Dave Eddy 782c82faa7 remove executable bits on non-executable files 2015-09-02 16:33:30 -04:00
Dave Eddy c3a91411f9 lots of unit tests 2015-09-02 15:38:27 -04:00
Trent Mick 018c46ef43 'make check' clean 2015-09-02 10:47:06 -07:00
Trent Mick 4064b93c8e joyent/node-triton#5 show usage info on usage errors 2015-09-02 01:04:20 -07:00
Trent Mick 58a7c9977b joyent/node-triton#4 triton networks/network to support shortId as well and to include fabric
flag
2015-09-02 00:03:17 -07:00
Dave Eddy ae8a19d568 quick jsstyle cleanup 2015-09-01 15:03:52 -04:00
Dave Eddy 0d53e878e9 javascript lint cleanup 2015-09-01 14:51:02 -04:00
Dave Eddy d76535b4d2 negative sizes support, add more tests 2015-09-01 13:47:35 -04:00
Trent Mick 12c9cb64a6 Factor out spinner to prep for using it for 'triton wait'.
Also refactor 'triton wait' for debuggability and to avoid possible
multiple calls to the callback.
2015-09-01 10:44:34 -07:00
Trent Mick 9241f90ccf 'make check-jsl' clean 2015-09-01 10:44:34 -07:00
Dave Eddy 42f0ee5a41 fix bug in humanSizeFromBytes 2015-09-01 13:44:10 -04:00
Dave Eddy c4f85db8d8 support for `triton ssh user@id` 2015-09-01 10:16:42 -04:00
Trent Mick 333c47ae26 a start at a test framework 2015-09-01 00:31:00 -07:00
Trent Mick 3c90b321fd a very small start at 'make check' clean 2015-08-31 16:56:26 -07:00
Trent Mick fd0fa369ab triton wait: change signature to take states as an arg, and multiple separate instance name/id args 2015-08-31 15:16:58 -07:00
Trent Mick 022471afa7 triton packages: make --human the default, use -p to override. Nicer, some what kludged sorting by group and memory 2015-08-31 15:16:58 -07:00
Dave Eddy 016e2d94f0 unnecessary call to common function 2015-08-31 17:14:48 -04:00
Trent Mick dfc3e013b6 'triton insts' default output changes
Change default short and --long output of 'triton insts' somewhat
per feedback from Angela.

I also dropped validFields and turned on dottedLookup so you can do
stuff like:
    triton insts -o shortid,name,tags.foo,metadata.root_authorized_keys
2015-08-31 13:11:34 -07:00
Trent Mick e145090c79 Fix handling of SDC_TESTING envvar (really really this time) 2015-08-31 12:31:06 -07:00
Trent Mick 1b2ed0758e Fix handling of SDC_TESTING envvar 2015-08-31 12:23:20 -07:00
Trent Mick 5e3efa02a6 'triton packages --human' for M/G/T units on sizes 2015-08-31 12:13:17 -07:00
Trent Mick 233e8ee784 reduce mkdir noise in log for every 'triton ...' run
E.g.:
    $ triton -v inst 1c7f40f6-a253-49f3-94d6-8f0656440696 2>&1 | bunyan
    [2015-08-31T17:57:02.682Z]  INFO: triton/24726 on danger0.local (/Users/trentm/joy/node-triton/lib/cli.js:188): failed to make dir /Users/trentm/.triton (err.code=EEXIST)
        Error: EEXIST, file already exists '/Users/trentm/.triton'
            at Object.fs.mkdirSync (fs.js:654:18)
            at /Users/trentm/joy/node-triton/lib/cli.js:186:24
            at Array.forEach (native)
            at CLI.triton (/Users/trentm/joy/node-triton/lib/cli.js:184:29)
            at CLI.do_instance (/Users/trentm/joy/node-triton/lib/do_instance.js:16:9)
            at CLI.dispatch (/Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:664:13)
            at /Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:425:18
            at CLI.init (/Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:477:5)
            at CLI.init (/Users/trentm/joy/node-triton/lib/cli.js:221:26)
            at CLI.main (/Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:404:10)
    [2015-08-31T17:57:02.684Z]  INFO: triton/24726 on danger0.local (/Users/trentm/joy/node-triton/lib/cli.js:188): failed to make dir /Users/trentm/.triton/cache (err.code=EEXIST)
        Error: EEXIST, file already exists '/Users/trentm/.triton/cache'
            at Object.fs.mkdirSync (fs.js:654:18)
            at /Users/trentm/joy/node-triton/lib/cli.js:186:24
            at Array.forEach (native)
            at CLI.triton (/Users/trentm/joy/node-triton/lib/cli.js:184:29)
            at CLI.do_instance (/Users/trentm/joy/node-triton/lib/do_instance.js:16:9)
            at CLI.dispatch (/Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:664:13)
            at /Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:425:18
            at CLI.init (/Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:477:5)
            at CLI.init (/Users/trentm/joy/node-triton/lib/cli.js:221:26)
            at CLI.main (/Users/trentm/joy/node-triton/node_modules/cmdln/lib/cmdln.js:404:10)
    ...
2015-08-31 11:16:58 -07:00
Trent Mick 786ec9771c fix error in using a full UUID for 'triton inst UUID' and others 2015-08-31 11:14:14 -07:00
Trent Mick 92ad1af94e shuffle cmd order in 'triton help' output. 'info' is a nice one to have first 2015-08-31 11:14:07 -07:00
Trent Mick da566100ab some clarifying help docs on 'triton wait' 2015-08-31 11:13:39 -07:00
Trent Mick 9e3df02a5e shortid support for instances; --url,--account et al top-level options 2015-08-26 17:22:02 -07:00
Dave Eddy 5b60fffc04 whoops 2015-08-26 20:08:52 -04:00
Dave Eddy 0ccda0af10 add listDatacenters 2015-08-26 19:59:28 -04:00
Dave Eddy 769e9bbe2b listServices 2015-08-26 19:56:18 -04:00
Trent Mick 16c3747605 smooth bigspinner 2015-08-26 15:01:54 -07:00
Dave Eddy 83b1cf188f do_network 2015-08-26 17:09:50 -04:00
Dave Eddy f11bf0c247 jsonStream should actually stream 2015-08-26 16:53:23 -04:00
Dave Eddy ffb0a935a3 use wrapper functions 2015-08-26 16:44:11 -04:00
Dave Eddy d2ce855a69 do_networks 2015-08-26 16:40:50 -04:00
Dave Eddy 835e1895bf output state changes with "wait" 2015-08-26 16:15:31 -04:00
Dave Eddy 9b57df6962 add wait-instance 2015-08-26 15:16:01 -04:00
Dave Eddy 532cead66f allow multiple filters to instances and packages 2015-08-26 14:03:22 -04:00
Trent Mick 0cfa83dedc fix 'triton create -w' that I broke recently 2015-08-26 10:13:09 -07:00
Dave Eddy 20aea1de10 whoops 2015-08-26 13:05:50 -04:00
Trent Mick d5e5b81ac3 shortid by default for 'triton packages' 2015-08-26 10:02:01 -07:00
Dave Eddy 83fbcc129c weeks and minutes cleanup 2015-08-26 13:00:01 -04:00
Dave Eddy a5213658fa config, cache images 2015-08-26 12:59:12 -04:00
Trent Mick d6ac9fed33 triton create --dry-run 2015-08-26 09:36:28 -07:00
Dave Eddy e61c6099b3 combine delete with start/stop/reboot 2015-08-26 12:18:40 -04:00
Dave Eddy e2edbb3215 better bessages for start/stop/reboot/delete 2015-08-26 12:18:24 -04:00
Trent Mick 1d0fa26633 shortid by default for 'triton images', works for 'triton image SHORTID', 'triton create ...' 2015-08-26 09:15:17 -07:00
Dave Eddy 1d6a8178bd style 2015-08-26 02:00:26 -04:00
Dave Eddy 40c710d601 add output to start/stop/reboot/delete 2015-08-26 01:57:27 -04:00
Dave Eddy e9cf0b37eb keys stream 2015-08-26 01:32:05 -04:00
Dave Eddy b0b9eb9249 add delete 2015-08-26 01:25:26 -04:00
Dave Eddy b2105ca41f add triton keys 2015-08-26 00:40:32 -04:00