class Seedee::DigitalOcean
Talk to Digital Ocean
Constants
- ACCESS_TOKEN
- TRAVIS_BUILD_DIR
Public Instance Methods
await_active_droplet(droplet)
click to toggle source
# File lib/seedee/digital_ocean.rb, line 33 def await_active_droplet(droplet) client.droplets.find(id: droplet.id).tap do |result| if result.status != 'active' sleep(1) return await_active_droplet(droplet) end end end
destroy_droplet(id)
click to toggle source
# File lib/seedee/digital_ocean.rb, line 27 def destroy_droplet(id) client.droplets.delete(id: id.to_s) rescue StandardError puts "error deleting droplet with id = '#{id}'" end
new_droplet(name)
click to toggle source
# File lib/seedee/digital_ocean.rb, line 12 def new_droplet(name) user_data = File.read(File.join(Seedee::ROOT, 'modify-hosts')) droplet = DropletKit::Droplet.new( name: name.to_s.strip, region: 'tor1', image: 'ubuntu-16-04-x64', size: 's-1vcpu-1gb', user_data: user_data, monitoring: true, ssh_keys: Array(ssh_keys) ) await_active_droplet client.droplets.create(droplet) end
Private Instance Methods
client()
click to toggle source
# File lib/seedee/digital_ocean.rb, line 44 def client @client ||= DropletKit::Client.new(access_token: ACCESS_TOKEN) end
ssh_keys()
click to toggle source
# File lib/seedee/digital_ocean.rb, line 48 def ssh_keys [15_237_447, 21_963_843] end