Digital Ocean Ruby Bindings
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
.rspec
.travis.yml
Gemfile
LICENSE.txt
README.md
Rakefile
dorb.gemspec

README.md

Build Status Code Climate

DORB - Digital Ocean Ruby Bindings

Interact with the Digital Ocean API in an idiomatic ruby way.

DORB exposes the Digital Ocean API as Ruby objects, has a comprehensive test suite and supports the entire API.

Installation

Add this line to your application's Gemfile:

gem 'dorb'

And then execute:

$ bundle

Or install it yourself as:

$ gem install dorb

Usage

Require the library in your code as

require 'dorb'

Configuration

Set your client key and API key

# This should be in an initializer or similar
DORB::Config.setup \
  :client_key => 'YOUR_CLIENT_KEY_HERE',
  :api_key => 'YOUR_API_KEY_HERE'

Any method that calls the Digital Ocean API will raise DORB::ConfigurationError if either Client Key or API Key are not configured

Getting Started

Droplets

Show all active droplets

This method returns all active droplets that are currently running in your account.

DORB::Droplet.all
Show droplet

This method returns a droplet for a specific droplet id.

DORB::Droplet.find id

DORB::Droplet.find_by_ip_address ip_address

DORB::Droplet.find_all_by_name name
Create droplet

This method allows you to create a new droplet.

DORB::Droplet.create :name => name, :size => size, :image => image, :region => region, :ssh_keys => [keys]
Reboot droplet

This method allows you to reboot a droplet. This is the preferred method to use if a server is not responding

droplet.reboot
Power cycle droplet

This method will turn off the droplet and then turn it back on

droplet.power_cycle
Shut down droplet

This method allows you to shutdown a running droplet. The droplet will remain in your account

droplet.shutdown
Power off droplet

This method allows you to power off a running droplet. The droplet will remain in your account

droplet.power_off
Power on droplet

This method allows you to power on a powered off droplet

droplet.power_on
Reset root password

This method will reset the root password for a droplet. Please be aware that this will reboot the droplet to allow resetting the password.

droplet.password_reset
Resize droplet

This method allows you to resize a specific droplet to a different size. This will affect the number of processors and memory allocated to the droplet.

droplet.resize size
Take a snapshot

This method allows you to take a snapshot of the running droplet, which can later be restored or used to create a new droplet from the same image. Please be aware this may cause a reboot.

droplet.snapshot
Restore droplet

This method allows you to restore a droplet with a previous image or snapshot. This will be a mirror copy of the image or snapshot to your droplet. Be sure you have backed up any necessary information prior to restore.

droplet.restore image
Rebuild droplet

This method allows you to reinstall a droplet with a default image. This is useful if you want to start again but retain the same IP address for your droplet.

droplet.rebuild image
Enable automatic backups

This method enables automatic backups which run in the background daily to backup your droplet's data.

droplet.enable_backups
Disable automatic backups

This method disables automatic backups from running to backup your droplet's data.

droplet.disable_backups
Destroy droplet

This method destroys one of your droplets - this is irreversible.

droplet.destroy

Images

All images

This method returns all the available images that can be accessed by your client ID. You will have access to all public images by default, and any snapshots or backups that you have created in your own account.

DORB::Image.all
Find image

This method returns an image instance

DORB::Image.find id

DORB::Image.find_all_by_name name
Destroy image

This method allows you to destroy an image. There is no way to restore a deleted image so be careful and ensure your data is properly backed up.

image.destroy

SSH Keys

All SSH keys

This method lists all the available public SSH keys in your account that can be added to a droplet.

DORB::SSHKey.all
Find SSH key

This method returns an SSHKey instance

DORB::SSHKey.find id

DORB::SSHKey.find_all_by_name name
Add SSH key

This method allows you to add a new public SSH key to your account.

DORB::SSHKey.add name, ssh_key_pub
Edit SSH key

This method allows you to modify an existing public SSH key in your account.

ssh_key.edit ssh_key_pub
Destroy SSH Key

This method will delete the SSH key from your account.

ssh_key.destroy

Sizes

All Sizes

This method returns all the available sizes that can be used to create a droplet.

DORB::Size.all

Regions

All Regions

This method will return all the available regions within the Digital Ocean cloud.

DORB::Region.all

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request