# lita-digitalocean [![Build Status](https://travis-ci.org/jimmycuadra/lita-digitalocean.png?branch=master)](https://travis-ci.org/jimmycuadra/lita-digitalocean) [![Code Climate](https://codeclimate.com/github/jimmycuadra/lita-digitalocean.png)](https://codeclimate.com/github/jimmycuadra/lita-digitalocean) [![Coverage Status](https://coveralls.io/repos/jimmycuadra/lita-digitalocean/badge.png)](https://coveralls.io/r/jimmycuadra/lita-digitalocean) **lita-digitalocean** is a handler plugin for [Lita](https://www.lita.io/) that manages [DigitalOcean](https://www.digitalocean.com/) services. ## Installation Add lita-digitalocean to your Lita instance's Gemfile: ``` ruby gem "lita-digitalocean" ``` ## Configuration ### Required attributes * `client_id` (String) - The client ID for the account to manage. * `api_key` (String) - The API key for the account to manage. ### Example ``` ruby Lita.configure do |config| config.handlers.digitalocean.client_id = "BdCsMEJYPv2tu7xQtLRB3" config.handlers.digitalocean.api_key = "3df020a0441731e5ca47243b5515cbb7" end ``` ## Usage To use any of the DigitalOcean commands, the user sending the message must be in the `:digitalocean_admins` authorization group. ### Domain commands To create a new DNS record set: ``` Lita: do domains create NAME IP ``` To delete a DNS record set: ``` Lita: do domains delete DOMAIN_NAME_OR_ID ``` To list all DNS record sets: ``` Lita: do domains list ``` To show the details of a DNS record set: ``` Lita: do domains show DOMAIN_NAME_OR_ID ``` ### Domain record commands To create a new DNS record: ``` Lita: do domain records create DOMAIN_NAME_OR_ID TYPE DATA [--name NAME] [--priority PRIORITY] [--port PORT] [--weight WEIGHT] ``` To delete a DNS record: ``` Lita: do domain records delete DOMAIN_NAME_OR_ID DOMAIN_RECORD_ID ``` To edit a DNS record: ``` Lita: do domain records edit DOMAIN_NAME_OR_ID DOMAIN_RECORD_ID TYPE DATA [--name NAME] [--priority PRIORITY] [--port PORT] [--weight WEIGHT] ``` To list all DNS records for a DNS record set: ``` Lita: do domain records list DOMAIN_NAME_OR_ID ``` To show the details of a DNS record: ``` Lita: do domain records show DOMAIN_NAME_OR_ID DOMAIN_RECORD_ID ``` ### Droplet commands To create a droplet: ``` Lita: do droplets create HOSTNAME SIZE_ID_OR_SLUG IMAGE_ID_OR_SLUG REGION_ID_OR_SLUG [--ssh-key-ids SSH_KEY_IDS] [--private-networking] [--backups-enabled] ``` To delete a droplet, optionally writing zeroes to the disk first: ``` Lita: do droplets delete ID [--scrub] ``` To list all droplets: ``` Lita: do droplets list ``` To reset the root password for a droplet: ``` Lita: do droplets password reset ID ``` To power cycle a droplet: ``` Lita: do droplets power cycle ID ``` To power off a droplet: ``` Lita: do droplets power off ID ``` To power on a droplet: ``` Lita: do droplets power on ID ``` To reboot a droplet: ``` Lita: do droplets reboot ID ``` To rebuild a droplet: ``` Lita: do droplets rebuild ID IMAGE_ID ``` To resize a droplet's disk: ``` Lita: do droplets resize ID SIZE_ID_OR_SLUG ``` To restore a droplet from an image: ``` Lita: do droplets restore ID IMAGE_ID ``` To show the details of a droplet: ``` Lita: do droplets show ID ``` To shut down a droplet: ``` Lita: do droplets shutdown ID ``` To take a snapshot of a droplet, optionally naming the snapshot: ``` Lita: do droplets snapshot ID [NAME] ``` ### Image commands To delete an image: ``` Lita: do images delete ID_OR_SLUG ``` To list all possible images: ``` Lita: do images list ``` To list only global images: ``` Lita: do images list global ``` To list only your own images: ``` Lita: do images list my_images ``` To show the details of an image: ``` Lita: do images show ID_OR_SLUG ``` ### Region commands To list all the possible regions: ``` Lita: do regions list ``` ### SSH key commands To add a new SSH key and get back its ID: ``` Lita: do ssh keys add NAME PUBLIC_KEY ``` To delete an SSH key by its ID: ``` Lita: do ssh keys delete ID ``` To edit the name and/or public key of an existing SSH key: ``` Lita: do ssh keys edit ID [--name NAME] [--public-key PUBLIC_KEY] ``` To list the names and IDs of all SSH keys: ``` Lita: do ssh keys list ``` To show the name and public key of an SSH key by ID: ``` Lita: do ssh keys show ID ``` ### Size commands To list all the possible image sizes: ``` Lita: do sizes list ``` ## License [MIT](http://opensource.org/licenses/MIT)