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/README.md

125 lines
4.1 KiB
Markdown
Raw Normal View History

2015-09-01 20:55:39 +03:00
# Triton
2015-08-26 23:09:40 +03:00
2015-09-01 20:55:39 +03:00
`triton` is a CLI tool for Joyent's Triton (a.k.a. SmartDataCenter), either for
on-premises installations of Triton or Joyent's Public Cloud
(<https://my.joyent.com>, <http://www.joyent.com/products/compute-service>).
2014-02-07 23:21:24 +02:00
2015-07-26 08:46:24 +03:00
**This project is experimental and probably broken. For now, please look
at [node-smartdc](https://github.com/joyent/node-smartdc).**
2015-09-01 20:55:39 +03:00
## Installation
2014-02-07 23:21:24 +02:00
1. Install [node.js](http://nodejs.org/).
2015-08-25 21:49:46 +03:00
2. `npm install -g git://github.com/joyent/node-triton`
2014-02-07 23:21:24 +02:00
Verify that installed and is on your PATH:
2015-08-25 21:49:46 +03:00
$ triton --version
Triton client 1.0.0
2014-02-07 23:21:24 +02:00
Before you can used the CLI you'll need a Joyent account, an SSH key uploaded
2015-08-25 21:49:46 +03:00
and `triton` configured with those account details.
2014-02-07 23:21:24 +02:00
2015-09-01 20:55:39 +03:00
## Setup
2014-02-07 23:21:24 +02:00
TODO
2015-09-01 20:55:39 +03:00
## Example
2014-02-07 23:21:24 +02:00
2015-08-26 23:09:40 +03:00
Get a quick overview of your account
$ triton info
dave.eddy@joyent.com - Dave Eddy <dave.eddy@joyent.com>
https://us-east-3b.api.joyent.com
5 instance(s)
- 1 stopped
- 4 running
- 610.3 MiB RAM Total
- 14.3 GiB Disk Total
See running instances
$ triton instances
ID NAME STATE TYPE IMG MEMORY DISK AGO
908a781b-e4c8-4291-dcf5-b0fcbcc0cb8a machine-1 stopped smartmachine 5c7d0d24-3475-11e5-8e67-27953a8b237e 128 3072 2h
7807f369-79eb-ebe9-85f6-db3017a75f0f machine-2 running smartmachine 5c7d0d24-3475-11e5-8e67-27953a8b237e 128 3072 2h
a2d537b4-feb1-c530-f1ff-e034eb73adaa machine-3 running smartmachine 5c7d0d24-3475-11e5-8e67-27953a8b237e 128 3072 2h
7db6c907-2693-42bc-ea9b-f38678f2554b machine-4 running smartmachine 5c7d0d24-3475-11e5-8e67-27953a8b237e 128 3072 2h
8892b12f-60e9-c4ba-f0f8-a4ca9714ea9c machine-5 running smartmachine 5c7d0d24-3475-11e5-8e67-27953a8b237e 128 3072 2h
2015-08-26 23:09:40 +03:00
Connect to an instance over SSH
2015-08-26 23:09:40 +03:00
$ triton ssh machine-4
Last login: Wed Aug 26 17:59:35 2015 from 208.184.5.170
__ . .
_| |_ | .-. . . .-. :--. |-
|_ _| ;| || |(.-' | | |
|__| `--' `-' `;-| `-' ' ' `-'
/ ; Instance (base-64 15.2.0)
`-' https://docs.joyent.com/images/smartos/base
[root@7db6c907-2693-42bc-ea9b-f38678f2554b ~]# uptime
20:08pm up 2:27, 0 users, load average: 0.00, 0.00, 0.01
[root@7db6c907-2693-42bc-ea9b-f38678f2554b ~]# logout
Connection to 165.225.169.63 closed.
Or non-interactively
$ triton ssh machine-4 uname -v
joyent_20150826T120743Z
2015-09-04 10:09:19 +03:00
## Bash completion
You can quickly source `triton` bash completions in your current
shell with:
source <(triton completion)
For a more permanent installation:
triton completion >> ~/.bashrc
# Or maybe:
triton completion > /usr/local/etc/bash_completion.d/triton
2015-09-01 20:55:39 +03:00
## node-triton differences with node-smartdc
2014-02-21 01:45:15 +02:00
- There is a single `sdc` command instead of a number of `sdc-FOO` commands.
- The `SDC_USER` envvar is accepted in preference to `SDC_ACCOUNT`.
2015-09-01 20:55:39 +03:00
## cloudapi2.js differences with node-smartdc/lib/cloudapi.js
The old node-smartdc module included an lib for talking directly to the SDC
Cloud API (node-smartdc/lib/cloudapi.js). Part of this module (node-sdc) is a
re-write of the Cloud API lib with some backward incompatibilities. The
differences and backward incompatibilities are discussed here.
- Currently no caching options in cloudapi2.js (this should be re-added in
some form). The `noCache` option to many of the cloudapi.js methods will not
be re-added, it was a wart.
- The leading `account` option to each cloudapi.js method has been dropped. It
was redundant for the constructor `account` option.
- "account" is now "user" in the CloudAPI constructor.
- All (all? at least at the time of this writing) methods in cloudapi2.js have
a signature of `function (options, callback)` instead of the sometimes
haphazard extra arguments.
2015-09-01 20:55:39 +03:00
## Development Hooks
Before commiting be sure to:
make check # lint and style checks
make test # run unit tests
A good way to do that is to install the stock pre-commit hook in your
clone via:
make git-hooks