Home

Awesome

Foreman DigitalOcean Plugin

Code Climate Gem Version Dependency Status

foreman-digitalocean enables provisioning and managing of DigitalOcean droplets in Foreman, all of that under the GPL v3+ license.

Installation

Please see the Foreman manual for appropriate instructions:

Red Hat, CentOS, Fedora, Scientific Linux (rpm)

Set up the repo as explained in the link above, then run

# yum install ruby193-rubygem-foreman_digitalocean

Debian, Ubuntu (deb)

Set up the repo as explained in the link above, then run

# apt-get install ruby-foreman-digitalocean

Bundle (gem)

Add the following to bundler.d/Gemfile.local.rb in your Foreman installation directory (/usr/share/foreman by default)

$ gem 'foreman_digitalocean'

Then run bundle install from the same directory


To verify that the installation was successful, go to Foreman, top bar Administer > About and check 'foreman_digitalocean' shows up in the System Status menu under the Plugins tab.

Compatibility

Foreman VersionPlugin Version
<= 1.7.x~> 0.1.x
>= 1.8.0~> 0.2.x
>= 1.11.0~> 1.x
>= 1.13.0~> 1.1

Configuration

Go to Infrastructure > Compute Resources and click on "New Compute Resource".

Choose the DigitalOcean provider, and fill in all the fields. You need an API token with read and write access, which can be created at the DigitalOcean API section. It will be encrypted in the database.

That's it. You're now ready to create and manage droplets in your new DigitalOcean compute resource.

You should see something like this in the Compute Resource page:

How to contribute?

Generally, follow the Foreman guidelines. For code-related contributions, fork this project and send a pull request with all changes. Some things to keep in mind:

Latest code

You can get the nightly branch of the plugin by specifying your Gemfile in this way:

gem 'foreman_digitalocean', :git => "https://github.com/theforeman/foreman-digitalocean.git"

License

This project started as a pull request from Tommy McNeely (TJM). It is licensed as GPLv3 since it is a Foreman plugin.

See LICENSE for more details.