This repository has been archived on 2020-01-20. You can view files and clone it, but cannot push or open issues or pull requests.
node-spearhead/CHANGES.md

363 lines
12 KiB
Markdown
Raw Normal View History

2015-08-25 21:49:46 +03:00
# node-triton changelog
2016-02-12 21:17:36 +02:00
## 4.5.2 (not yet released)
- #95 Fix breakage of `triton image create` in version 4.5.0. (By Kris Shannon.)
2016-02-12 21:17:36 +02:00
2016-02-12 21:17:07 +02:00
## 4.5.1
2016-02-11 19:57:00 +02:00
- #92 `triton` CLI should summarize `err.body.errors` from CloudAPI
Per <https://github.com/joyent/eng/blob/master/docs/index.md#error-handling>,
CloudAPI error response will sometimes have extra error details to show.
2016-02-11 19:57:00 +02:00
2016-02-11 19:56:55 +02:00
## 4.5.0
2016-02-11 00:45:53 +02:00
- #88 'triton inst tag ...' for managing instance tags.
2016-02-11 00:45:53 +02:00
2016-02-11 00:45:34 +02:00
## 4.4.4
2016-02-03 08:03:47 +02:00
- #90 Update sshpk and smartdc-auth to attempt to deal with multiple package
inter-deps.
2016-02-03 08:03:47 +02:00
2016-02-03 08:03:37 +02:00
## 4.4.3
2016-02-02 21:06:05 +02:00
- #86 Ensure `triton profile ls` and `triton profile set-current` work
when there is no current profile.
2016-02-02 21:06:05 +02:00
2016-02-02 21:05:50 +02:00
## 4.4.2
2016-01-28 23:45:26 +02:00
- Support `triton.createClient(...)` creation without requiring a
`configDir`. Basically this then fallsback to a `TritonApi` with the default
config.
2016-01-28 23:45:26 +02:00
2016-01-28 23:45:16 +02:00
## 4.4.1
2016-01-26 09:48:21 +02:00
- #83, #84 Fix running `triton` on Windows.
Note: Triton config is stored in "%APPDATA%/Joyent/Triton/..." on Windows,
"~/.triton/..." on other platforms.
2016-01-26 09:48:21 +02:00
2016-01-26 09:48:10 +02:00
## 4.4.0
2016-01-20 00:45:08 +02:00
- #78 `triton image delete IMAGE`
- #79 Fix `triton instance get NAME` to make sure it gets the `dns_names` CNS
field.
- PUBAPI-1227: Note that `triton image list` doesn't include Docker images, at
least currently.
2016-01-20 00:45:08 +02:00
2016-01-20 00:44:56 +02:00
## 4.3.1
2016-01-19 22:32:37 +02:00
- #77 triton create error in v4.3.0
2016-01-19 22:32:37 +02:00
2016-01-19 22:32:28 +02:00
## 4.3.0
2016-01-18 21:58:59 +02:00
**Bad release. Use >=4.3.1.**
- #76 `triton image create ...` and `triton image wait ...`
- #72 want `triton image` to still return image details even when it is not in 'active' state
2016-01-18 21:58:59 +02:00
2016-01-18 21:58:47 +02:00
## 4.2.0
2016-01-14 22:19:54 +02:00
- Bash completion: Add completion for *args* to `triton account update <TAB>`.
This isn't perfect because a space is added after completion of "FIELD=",
but hopefully is helpful.
- #75 `triton account update ...`
2016-01-14 22:19:54 +02:00
2016-01-14 22:19:29 +02:00
## 4.1.0
2016-01-12 20:28:11 +02:00
2016-01-14 19:22:13 +02:00
- Unhide `triton completion` so hopefully more find it and use it.
2016-01-14 22:18:59 +02:00
- node-triton#73 `triton instance list --credentials` to include
"metadata.credentials" in instance listing.
2016-01-13 22:20:58 +02:00
- node-triton#35 More easily distinguish KVM and LX and Docker images and
instances.
In PUBAPI-1161 CloudAPI (v8.0.0) started exposing IMG.type, INST.brand and
INST.docker. One of the main issues for users is that telling KVM ubuntu
from LX ubuntu is confusing (see also joyent/smartos-live#532).
tl;dr:
- `triton image list` default output now includes the `type` instead of
`state`. The `state` column is still in output with `-l`, `-j`,
`-o state`.
- `triton instance list` default output now includes a `flags` column
instead of `primaryIp`. The 'D' and 'K' flags identify Docker and KVM
instances.
- `triton instance list -l` includes the brand.
Default output examples showing the various cases (and the attempt to
stay within 80 columns):
```bash
$ triton imgs
SHORTID NAME VERSION FLAGS OS TYPE PUBDATE
1bd84670 minimal-64-lts 14.4.2 P smartos zone-dataset 2015-05-28
b67492c2 base-64-lts 14.4.2 P smartos zone-dataset 2015-05-28
ffe82a0a ubuntu-15.04 20151105 P linux lx-dataset 2015-11-05
8a1dbc62 centos-6 20160111 P linux zvol 2016-01-11
$ triton insts
SHORTID NAME IMG STATE FLAGS AGE
da7c6edd cocky_noyce 3d996aaa running DF 10m
deedeb42 ubu0 ubuntu-15.04@20151105 running - 9m
aa9ccfda mini2 minimal-64-lts@14.4.2 running - 9m
e8fc0b96 centi0 centos-6@20160111 running K 8m
```
- Filtering instances on `docker=true`:
```bash
$ triton insts docker=true
SHORTID NAME IMG STATE FLAGS AGE
da7c6edd cocky_noyce 3d996aaa running DF 13m
```
2016-01-12 20:28:11 +02:00
2016-01-12 20:28:03 +02:00
## 4.0.1
2016-01-10 21:49:44 +02:00
2016-01-12 20:27:46 +02:00
- Add `triton env -t` to be able to emit a shell environment to configure `triton` itself.
This allows one to have the following Bash function to select a Triton profile for
`triton` and node-smartdc tooling:
function triton-select { eval $(triton env $1); }
2016-01-10 21:49:44 +02:00
2016-01-10 21:49:33 +02:00
## 4.0.0
2015-12-31 01:25:12 +02:00
- [backwards incompat] #66 New consistent `triton` CLI style. See [the
issue](https://github.com/joyent/node-triton/issues/66) for discussion.
The major changes is that where some sub-commands used to be some
flavour of:
2016-01-05 07:53:52 +02:00
triton things # list all the things
triton thing ID # get a thing
triton thing -a ID # create a new thing
Now commands are consistently:
triton thing list # list all the things
triton thing get ID # get a thing
triton thing create ... # create a new thing
...
The most annoying incompatility is the need for "get" to
get a thing. E.g.:
BEFORE AFTER
triton img blah triton img get blah
triton inst web0 triton inst get web0
2015-12-31 01:25:12 +02:00
For *listing* things, there is typically a shortcut with
the old form, e.g. `triton images` is a shortcut for
`triton image list`.
2015-12-31 01:25:12 +02:00
Currently all of the CLI *except* the experimental `triton rbac ...`
is converted to the new consistent style.
- [backwards incompat] `triton whoami` was dropped. This used to be a shortcut
for `triton account get`. It could possibly come back.
2016-01-10 21:46:07 +02:00
- *Much* improved [Bash
completion](https://github.com/joyent/node-triton#bash-completion). See
`triton completion -h` for notes on how to install.
- Add the ability to create a profile copying from an existing profile,
via `triton profile create --copy NAME`.
2015-12-31 01:25:12 +02:00
- `triton key add` was added (<https://apidocs.joyent.com/cloudapi/#CreateKey>).
2015-12-31 01:25:12 +02:00
2015-12-31 20:05:50 +02:00
## 3.6.0
2015-12-31 02:13:46 +02:00
- #67 Add `triton create --network,-N NETWORK ...` option for specifying
networks for instance creation. "NETWORK" is a network id, name, or
short id; or a comma-separated array of networks.
2015-12-31 02:13:46 +02:00
2015-12-31 02:13:38 +02:00
## 3.5.0
2015-12-30 01:14:35 +02:00
- #67 Add `triton create --tag|-t ...` option for adding tags on instance creation.
E.g. `triton create -n NAME -t foo=bar -t @my-tags-file.json IMAGE PACKAGE`.
2015-12-30 01:14:35 +02:00
2015-12-30 01:14:25 +02:00
## 3.4.2
2015-12-16 21:01:03 +02:00
- #63 "triton images" with a filter should not be cached.
- #65 Fix `triton profile(s)` handling when the user has no profiles yet.
2015-12-16 21:01:03 +02:00
2015-12-16 21:00:56 +02:00
## 3.4.1
2015-12-08 23:56:01 +02:00
- #60 Display `vcpus` in `triton packages` output.
2015-12-09 22:02:22 +02:00
- Add `-d,--data <data>` option to `triton cloudapi`.
- Fix `triton rbac role ROLE`. Also get that command to have a stable order for the
displayed fields.
2015-12-08 23:56:01 +02:00
2015-12-08 23:55:52 +02:00
## 3.4.0
2015-12-07 21:47:55 +02:00
- Improvements for using node-triton as a module. E.g. a simple example:
var triton = require('triton');
var client = triton.createClient({profileName: 'env'});
client.listImages(function (err, imgs) {
console.log(err);
console.log(imgs);
});
See the README and "lib/index.js" for more info.
2015-12-07 21:47:55 +02:00
2015-12-07 21:47:46 +02:00
## 3.3.0
2015-12-02 21:19:21 +02:00
- #59 CLI options to `triton create` to add metadata on instance creation:
- `triton create -m,--metadata KEY=VALUE` to add a single value
- `triton create -m,--metadata @FILE` to add values from a JSON
or key/value-per-line file
- `triton create -M,--metadata-file KEY=FILE` to set a key from a file
- `triton create --script FILE` to set the special "user-script" key
from a file
2015-12-02 21:19:21 +02:00
2015-12-02 21:19:10 +02:00
## 3.2.0
2015-11-25 02:40:55 +02:00
- #58 `triton --act-as=ACCOUNT ...` for an operator account to auth as
themself, but operator on another account's resources. Note that operator
accesses like this are audited on the CloudAPI server side.
- `triton --accept-version VER` hidden top-level option for development. This
allows calling the target cloudapi with the given value for the
"Accept-Version" header -- which is how CloudAPI does API versioning.
By default `triton` is coded to a particular cloudapi version range, so
forcing a different version *could* result in breaking in the triton client
code that handles the response. IOW, this is just a tool for developers
of this Triton client and CloudAPI itself.
2015-11-25 02:40:55 +02:00
2015-11-25 02:40:47 +02:00
## 3.1.0
2015-11-25 02:40:17 +02:00
- New (hidden for now, i.e. experimental) `triton env ...` to dump
`eval`able shell commands for
[node-smartdc](https://github.com/joyent/node-smartdc) environment setup for
a given Triton CLI profile. E.g.:
eval $(triton env east1)
sdc-listmachines
I think this should grow to support setting up Docker env as well.
2015-11-24 22:34:53 +02:00
- #54 `triton rbac role-tags` for now can't be hidden (as long we have the
need to role-tag raw resource URLs like '/my/images').
- #54 `triton rbac apply --dev-create-keys-and-profiles` for
experimenting/dev/testing to quickly generate and add user keys and setup
Triton CLI profiles for all users in the RBAC config.
- #54 RBAC support, see <https://docs.joyent.com/public-cloud/rbac> to start.
- `triton rbac info` improvements: better help, use brackets to show
non-default roles.
- `triton rbac reset`
- change `triton rbac user USER` output a little for the 'keys' (show
the key fingerprint and name instead of the key content), 'roles',
and 'default_roles' fields.
- #54 *Drop* support for shortIds for `triton rbac {users,roles,policies}`
commands. They all have unique *`name`* fields, just use that.
- #54 `triton rbac apply` will implicitly look for a user key file at
"./rbac-user-keys/$login.pub" if no `keys` field is provided in the
"rbac.json" config file.
- Change default `triton keys` and `triton rbac keys` output to be tabular.
Otherwise it is a little obtuse to see fingerprints (which is what currently
must be included in a profile). `triton [rbac] keys -A` can be used to
get the old behaviour (just the key content, i.e. output appropriate
for "~/.ssh/authorized\_keys").
2015-11-18 23:54:20 +02:00
2015-11-18 23:52:58 +02:00
## 3.0.0
- #54 RBAC support, see <https://docs.joyent.com/public-cloud/rbac> to start.
- [Backward incompatible.] The `triton` CLI option for the cloudapi URL has
changed from `--url,-u` to **`--url,-U`**.
- Add `triton --user,-u USER` CLI option and `TRITON_USER` (or `SDC_USER`)
environment variable support for specifying the RBAC user.
- `triton profiles` now shows the optional `user` fields.
- A (currently experimental and hidden) `triton rbac ...` command to
house RBAC CLI functionality.
- `triton rbac users` to list all users.
- `triton rbac user ...` to show, create, edit and delete users.
- `triton rbac roles` to list all roles.
- `triton rbac role ...` to show, create, edit and delete roles.
- `triton rbac policies` to list all policies.
- `triton rbac policy ...` to show, create, edit and delete policies.
- `triton rbac keys` to list all RBAC user SSH keys.
- `triton rbac key ...` to show, create, edit and delete user keys.
- `triton rbac {instance,image,network,package,}role-tags ...` to list
and manage role tags on each of those resources.
- `triton rbac info` will dump a summary of the full current RBAC
state. This command is still in development.
- `triton rbac apply` will synchronize a local RBAC config (by default it
looks for "./rbac.json") to live RBAC state. Current the RBAC config
file format is undocumented. See "examples/rbac-\*" for examples.
- #55 Update of smartdc-auth/sshpk deps, removal of duplicated code for
composing Authorization headers
2015-10-22 04:11:17 +03:00
2015-10-22 04:11:07 +03:00
## 2.1.4
2015-10-14 23:28:39 +03:00
- #51: Update deps to get dtrace-provider 0.6 build fix for node v4.2.x.
- #49: `triton create ... --firewall` to enable [Cloud
Firewall](https://docs.joyent.com/public-cloud/network/firewall).
2015-10-14 23:28:39 +03:00
2015-10-14 23:28:16 +03:00
## 2.1.3
2015-10-14 00:41:22 +03:00
2015-10-14 23:28:09 +03:00
- #44 'triton rm' alias for delete
- #43 `triton profile ...` doesn't use the profile from `TRITON_PROFILE` envvar
2015-10-14 00:40:20 +03:00
## 2.1.2
2015-10-08 01:51:29 +03:00
2015-10-08 09:04:09 +03:00
- #41 Add compatibility with ed25519 keys in ssh-agent
- #42 Tools using sshpk should lock in an exact version
2015-10-08 01:51:29 +03:00
2015-10-08 01:51:20 +03:00
## 2.1.1
2015-10-07 09:33:40 +03:00
- #40 Update smartdc-auth so that newer OpenSSH `ssh-keygen` default
fingerprint formats for setting `keyId` work.
- #39 Test suite: Change the test config 'destructiveAllowed' var to
'writeActionsAllowed'.
2015-10-07 09:33:40 +03:00
2015-10-07 09:33:29 +03:00
## 2.1.0
2015-10-01 01:14:41 +03:00
- Errors and exit status: Change `Usage` errors to always have an exit status
of `2` (per common practice in at least some tooling). Add `ResourceNotFound`
error for `triton {instance,package,image,network}` with exit status `3`.
This can help tooling (e.g. the test suite uses this in one place). Add
`triton help` docs on exit status.
- Test suite: Integration tests always require a config file
(either `$TRITON_TEST_CONFIG` path or "test/config.json").
Drop the other `TRITON_TEST_*` envvars.
2015-10-01 01:14:41 +03:00
2015-10-01 01:14:33 +03:00
## 2.0.0
- Changed name to `triton` npm package, graciously given up by
[suguru](https://www.npmjs.com/~suguru) from his
<https://github.com/ameba-proteus/node-triton> project. <3
The latest previous release of the triton package was 1.0.7,
so we'll separate with a major version bump for *this* triton
package.
## 1.0.0
Initial release as `joyent-triton` npm package.