digitalocean-cli

0.1.4 • Public • Published

digitalocean-cli

NodeJS CLI for DigitalOcean

Written in CoffeeScript, based on do-wrapper npm package

install

npm install -g digitalocean-cli

This will add a do-cli mapping (symlinked into ./do-cli.cofffe), which can be used like this do-cli.coffee {command}

See list of commands bellow, or just execute

do-cli -h

install from source

git clone git@github.com:o2platform/digitalocean-cli.git
cd digitalocean-cli
npm install

After install you can use ./do-cli.coffee {command}

configure

You will need to set the DigitalOcean API Key, for example in OSX you can use:

export api_key={key}

commands

-h

Shows the commands availabe: do-cli -h

list

Gets list of droplets. Here is the info provided after executing ./do-cli list

id | name | status | region | locked | ip
5467866 | test-docker |  active | lon1 | false | 46.101.48.220

If this box was setup with an ssh key that currently exists on the local box, you can connect to it using:

ssh root@{ip} which in the example above is ssh root@46.101.48.220

Note: if you are creating and deleting images regularly, digitalocean tends to reuse the IPs, which means that you will see an WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! error (with ssh failing to connect)

One way to deal with this is to use the command ssh-keygen -R {ip} (in this case ssh-keygen -R 46.101.48.220). After that, the ```ssh root@{ip}`` will work

info {id}

Gets droplet information: ./do-cli info {id}

create

Creates a new droplet, using these values

configuration =
  "name": "new-droplet",
  "region": "lon1",
  "size": "512mb",
  "image": "ubuntu-14-04-x64",
  "ssh_keys": ['0d:53:e1:59:9f:f1:41:26:a8:a7:ac:9f:d3:90:45:c8'],
  "backups": false,
  "ipv6": true,
  "user_data": user_data,
  "private_networking": null
./do-cli create

delete {id}

Delete Droplet with : ./do-cli delete {id}

Delete-all

Deletes all droplets: ./do-cli delete-all

repl

Starts a javascript repl with the that variable set to the do-wrapper api. For example, here is how the dropletsGetAll is invoked

[fluentnode] repl> that.dropletsGetAll({}, function (err, res, body) { console.log(body)})

issues/bugs

If you have a problem or idea for new feature please open an issue for it

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.1.40latest

Version History

VersionDownloads (Last 7 Days)Published
0.1.40
0.1.30
0.1.20
0.1.10
0.1.00

Package Sidebar

Install

npm i digitalocean-cli

Weekly Downloads

0

Version

0.1.4

License

ISC

Last publish

Collaborators

  • diniscruz