vagrant-simplecloud 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile +11 -0
- data/LICENSE.txt +23 -0
- data/README.md +143 -0
- data/Rakefile +22 -0
- data/box/metadata.json +3 -0
- data/box/simple_cloud.box +0 -0
- data/lib/vagrant-simplecloud.rb +20 -0
- data/lib/vagrant-simplecloud/actions.rb +165 -0
- data/lib/vagrant-simplecloud/actions/check_state.rb +19 -0
- data/lib/vagrant-simplecloud/actions/create.rb +84 -0
- data/lib/vagrant-simplecloud/actions/destroy.rb +32 -0
- data/lib/vagrant-simplecloud/actions/modify_provision_path.rb +38 -0
- data/lib/vagrant-simplecloud/actions/power_off.rb +33 -0
- data/lib/vagrant-simplecloud/actions/power_on.rb +36 -0
- data/lib/vagrant-simplecloud/actions/rebuild.rb +56 -0
- data/lib/vagrant-simplecloud/actions/reload.rb +33 -0
- data/lib/vagrant-simplecloud/actions/setup_key.rb +53 -0
- data/lib/vagrant-simplecloud/actions/setup_sudo.rb +48 -0
- data/lib/vagrant-simplecloud/actions/setup_user.rb +66 -0
- data/lib/vagrant-simplecloud/actions/shut_down.rb +34 -0
- data/lib/vagrant-simplecloud/actions/sync_folders.rb +89 -0
- data/lib/vagrant-simplecloud/commands/list.rb +89 -0
- data/lib/vagrant-simplecloud/commands/rebuild.rb +29 -0
- data/lib/vagrant-simplecloud/config.rb +64 -0
- data/lib/vagrant-simplecloud/errors.rb +37 -0
- data/lib/vagrant-simplecloud/helpers/client.rb +151 -0
- data/lib/vagrant-simplecloud/helpers/result.rb +40 -0
- data/lib/vagrant-simplecloud/plugin.rb +31 -0
- data/lib/vagrant-simplecloud/provider.rb +102 -0
- data/lib/vagrant-simplecloud/version.rb +5 -0
- data/locales/en.yml +90 -0
- data/test/Vagrantfile +41 -0
- data/test/cookbooks/test/recipes/default.rb +1 -0
- data/test/scripts/provision.sh +3 -0
- data/test/test.sh +14 -0
- data/test/test_id_rsa +27 -0
- data/test/test_id_rsa.pub +1 -0
- data/testkit.rb +40 -0
- data/vagrant-simplecloud.gemspec +22 -0
- metadata +146 -0
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'vagrant-simplecloud/actions'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module SimpleCloud
|
5
|
+
class Provider < Vagrant.plugin('2', :provider)
|
6
|
+
|
7
|
+
# This class method caches status for all droplets within
|
8
|
+
# the Simple Cloud account. A specific droplet's status
|
9
|
+
# may be refreshed by passing :refresh => true as an option.
|
10
|
+
def self.droplet(machine, opts = {})
|
11
|
+
client = Helpers::ApiClient.new(machine)
|
12
|
+
|
13
|
+
# load status of droplets if it has not been done before
|
14
|
+
if !@droplets
|
15
|
+
result = client.request('/v2/droplets')
|
16
|
+
@droplets = result['droplets']
|
17
|
+
end
|
18
|
+
|
19
|
+
if opts[:refresh] && machine.id
|
20
|
+
# refresh the droplet status for the given machine
|
21
|
+
@droplets.delete_if { |d| d['id'].to_s == machine.id }
|
22
|
+
result = client.request("/v2/droplets/#{machine.id}")
|
23
|
+
@droplets << droplet = result['droplet']
|
24
|
+
else
|
25
|
+
# lookup droplet status for the given machine
|
26
|
+
droplet = @droplets.find { |d| d['id'].to_s == machine.id }
|
27
|
+
end
|
28
|
+
|
29
|
+
# if lookup by id failed, check for a droplet with a matching name
|
30
|
+
# and set the id to ensure vagrant stores locally
|
31
|
+
# TODO allow the user to configure this behavior
|
32
|
+
if !droplet
|
33
|
+
name = machine.config.vm.hostname || machine.name
|
34
|
+
droplet = @droplets.find { |d| d['name'] == name.to_s }
|
35
|
+
machine.id = droplet['id'].to_s if droplet
|
36
|
+
end
|
37
|
+
|
38
|
+
droplet ||= {'status' => 'not_created'}
|
39
|
+
end
|
40
|
+
|
41
|
+
def initialize(machine)
|
42
|
+
@machine = machine
|
43
|
+
end
|
44
|
+
|
45
|
+
def action(name)
|
46
|
+
return Actions.send(name) if Actions.respond_to?(name)
|
47
|
+
nil
|
48
|
+
end
|
49
|
+
|
50
|
+
# This method is called if the underying machine ID changes. Providers
|
51
|
+
# can use this method to load in new data for the actual backing
|
52
|
+
# machine or to realize that the machine is now gone (the ID can
|
53
|
+
# become `nil`). No parameters are given, since the underlying machine
|
54
|
+
# is simply the machine instance given to this object. And no
|
55
|
+
# return value is necessary.
|
56
|
+
def machine_id_changed
|
57
|
+
end
|
58
|
+
|
59
|
+
# This should return a hash of information that explains how to
|
60
|
+
# SSH into the machine. If the machine is not at a point where
|
61
|
+
# SSH is even possible, then `nil` should be returned.
|
62
|
+
#
|
63
|
+
# The general structure of this returned hash should be the
|
64
|
+
# following:
|
65
|
+
#
|
66
|
+
# {
|
67
|
+
# :host => "1.2.3.4",
|
68
|
+
# :port => "22",
|
69
|
+
# :username => "mitchellh",
|
70
|
+
# :private_key_path => "/path/to/my/key"
|
71
|
+
# }
|
72
|
+
#
|
73
|
+
# **Note:** Vagrant only supports private key based authenticatonion,
|
74
|
+
# mainly for the reason that there is no easy way to exec into an
|
75
|
+
# `ssh` prompt with a password, whereas we can pass a private key
|
76
|
+
# via commandline.
|
77
|
+
def ssh_info
|
78
|
+
droplet = Provider.droplet(@machine)
|
79
|
+
|
80
|
+
return nil if droplet['status'].to_sym != :active
|
81
|
+
|
82
|
+
public_network = droplet['networks']['v4'].find { |network| network['type'] == 'public' }
|
83
|
+
|
84
|
+
return {
|
85
|
+
:host => public_network['ip_address'],
|
86
|
+
:port => '22',
|
87
|
+
:username => 'root',
|
88
|
+
:private_key_path => nil
|
89
|
+
}
|
90
|
+
end
|
91
|
+
|
92
|
+
# This should return the state of the machine within this provider.
|
93
|
+
# The state must be an instance of {MachineState}. Please read the
|
94
|
+
# documentation of that class for more information.
|
95
|
+
def state
|
96
|
+
state = Provider.droplet(@machine)['status'].to_sym
|
97
|
+
long = short = state.to_s
|
98
|
+
Vagrant::MachineState.new(state, short, long)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
data/locales/en.yml
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
en:
|
2
|
+
vagrant_simple_cloud:
|
3
|
+
info:
|
4
|
+
off: "Droplet is off"
|
5
|
+
not_created: "Droplet has not been created"
|
6
|
+
already_active: "Droplet is already active"
|
7
|
+
already_off: "Droplet is already off"
|
8
|
+
creating: "Creating a new droplet..."
|
9
|
+
droplet_ip: "Assigned IP address: %{ip}"
|
10
|
+
droplet_private_ip: "Private IP address: %{ip}"
|
11
|
+
destroying: "Destroying the droplet..."
|
12
|
+
shutting_down: "Shutting down the droplet..."
|
13
|
+
powering_off: "Powering off the droplet..."
|
14
|
+
powering_on: "Powering on the droplet..."
|
15
|
+
rebuilding: "Rebuilding the droplet..."
|
16
|
+
reloading: "Rebooting the droplet..."
|
17
|
+
creating_user: "Creating user account: %{user}..."
|
18
|
+
modifying_sudo: "Modifying sudoers file to remove tty requirement..."
|
19
|
+
using_key: "Using existing SSH key: %{name}"
|
20
|
+
creating_key: "Creating new SSH key: %{name}..."
|
21
|
+
trying_rsync_install: "Rsync not found, attempting to install with yum..."
|
22
|
+
rsyncing: "Rsyncing folder: %{hostpath} => %{guestpath}..."
|
23
|
+
rsync_missing: "The rsync executable was not found in the current path."
|
24
|
+
images: "Description Slug ID\n\n%{images}"
|
25
|
+
images_with_regions: "Description Slug ID Regions\n\n%{images}"
|
26
|
+
regions: "Description Slug\n\n%{regions}"
|
27
|
+
sizes: "Memory CPUs Slug\n\n%{sizes}"
|
28
|
+
list_error: 'Could not contact the Simple Cloud API: %{message}'
|
29
|
+
config:
|
30
|
+
token: "Token is required. Set DO_TOKEN variable."
|
31
|
+
private_key: "SSH private key path is required"
|
32
|
+
public_key: "SSH public key not found: %{key}"
|
33
|
+
errors:
|
34
|
+
public_key: |-
|
35
|
+
There was an issue reading the public key at:
|
36
|
+
|
37
|
+
Path: %{path}
|
38
|
+
|
39
|
+
Please check the file's permissions.
|
40
|
+
api_status: |-
|
41
|
+
There was an issue with the request made to the Simple Cloud
|
42
|
+
API at:
|
43
|
+
|
44
|
+
Path: %{path}
|
45
|
+
URI Params: %{params}
|
46
|
+
|
47
|
+
The response status from the API was:
|
48
|
+
|
49
|
+
Status: %{status}
|
50
|
+
Response: %{response}
|
51
|
+
rsync: |-
|
52
|
+
There was an error when attemping to rsync a share folder.
|
53
|
+
Please inspect the error message below for more info.
|
54
|
+
|
55
|
+
Host path: %{hostpath}
|
56
|
+
Guest path: %{guestpath}
|
57
|
+
Error: %{stderr}
|
58
|
+
json: |-
|
59
|
+
There was an issue with the JSON response from the Simple Cloud
|
60
|
+
API at:
|
61
|
+
|
62
|
+
Path: %{path}
|
63
|
+
URI Params: %{params}
|
64
|
+
|
65
|
+
The response JSON from the API was:
|
66
|
+
|
67
|
+
Response: %{response}
|
68
|
+
result_match: |-
|
69
|
+
The result collection for %{collection_name}:
|
70
|
+
|
71
|
+
%{sub_obj}
|
72
|
+
|
73
|
+
Contained no object with the value "%{value}" for the the
|
74
|
+
key "%{key}".
|
75
|
+
|
76
|
+
Please ensure that the configured value exists in the collection.
|
77
|
+
certificate: |-
|
78
|
+
The secure connection to the Simple Cloud API has failed. Please
|
79
|
+
ensure that your local certificates directory is defined in the
|
80
|
+
provider config.
|
81
|
+
|
82
|
+
config.vm.provider :simple_cloud do |vm|
|
83
|
+
vm.ca_path = "/path/to/ssl/ca/cert.crt"
|
84
|
+
end
|
85
|
+
|
86
|
+
This is generally caused by the OpenSSL configuration associated
|
87
|
+
with the Ruby install being unaware of the system specific ca
|
88
|
+
certs.
|
89
|
+
local_ip: |-
|
90
|
+
The Simple Cloud provider was unable to determine the host's IP.
|
data/test/Vagrantfile
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#Vagrant.require_plugin('vagrant-simplecloud')
|
2
|
+
#Vagrant.require_plugin('vagrant-omnibus')
|
3
|
+
|
4
|
+
Vagrant.configure('2') do |config|
|
5
|
+
#config.omnibus.chef_version = :latest
|
6
|
+
|
7
|
+
#config.ssh.username = 'tester'
|
8
|
+
config.ssh.private_key_path = 'test_id_rsa'
|
9
|
+
|
10
|
+
config.vm.synced_folder '.', '/vagrant', :disabled => true
|
11
|
+
|
12
|
+
config.vm.provider :simple_cloud do |provider, override|
|
13
|
+
override.vm.box = 'simple_cloud'
|
14
|
+
override.vm.box_url = 'https://github.com/vadikgo/vagrant-simplecloud/raw/master/box/simple_cloud.box'
|
15
|
+
provider.token = ENV['DO_TOKEN']
|
16
|
+
provider.ssh_key_name = 'Test Key'
|
17
|
+
provider.image = '123'
|
18
|
+
provider.region = 'base'
|
19
|
+
provider.size = '1'
|
20
|
+
end
|
21
|
+
|
22
|
+
config.vm.provision :shell, :path => 'scripts/provision.sh'
|
23
|
+
|
24
|
+
config.vm.provision :chef_solo do |chef|
|
25
|
+
chef.cookbooks_path = 'cookbooks'
|
26
|
+
chef.add_recipe 'test'
|
27
|
+
end
|
28
|
+
|
29
|
+
config.vm.define :debian do |debian|
|
30
|
+
debian.vm.hostname = "vagrant-debian-test"
|
31
|
+
debian.vm.provider :simple_cloud do |provider|
|
32
|
+
provider.image = '123'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
#config.vm.define :centos do |centos|
|
37
|
+
#centos.vm.provider :simple_cloud do |provider|
|
38
|
+
#provider.image = 'centos-6-5-x64'
|
39
|
+
#end
|
40
|
+
#end
|
41
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
log 'Testing 1 2 3!'
|
data/test/test.sh
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# if ! bundle exec vagrant box list | grep simple_cloud 1>/dev/null; then
|
2
|
+
# bundle exec vagrant box add simple_cloud box/simple_cloud.box
|
3
|
+
# fi
|
4
|
+
|
5
|
+
cd test
|
6
|
+
|
7
|
+
bundle _1.7.9_ exec vagrant up --provider=simple_cloud
|
8
|
+
bundle _1.7.9_ exec vagrant up
|
9
|
+
bundle _1.7.9_ exec vagrant provision
|
10
|
+
bundle _1.7.9_ exec vagrant rebuild
|
11
|
+
bundle _1.7.9_ exec vagrant halt
|
12
|
+
bundle _1.7.9_ exec vagrant destroy
|
13
|
+
|
14
|
+
cd ..
|
data/test/test_id_rsa
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
MIIEowIBAAKCAQEAmxZRyfvgXFxlPW9ivoxffdK9erqpCp1oitghUtDxbzPSCbNw
|
3
|
+
qBoiJcnPVA/TuCxMnruUcNEXYgKfTL8lD3A1Hom8N1pTAhSed5m4qAGqTMubT15s
|
4
|
+
cSR+SnDdriShErB/9YSb9LVn1aR0MsFS3H/+x1j4w5d6hBas8BhDfuVd16shvoaA
|
5
|
+
OKy0ywy+NBuvGy/6Au3q3t7M9wdelODRnYLSWWqaLeYExRKxWWc7ape+oduQoe4r
|
6
|
+
BNVwGmIOjWOM9aFPEPVHdLGO+LQyPExdeuS0rW96a39U4p8GjGzsrkNcKzVOGjM3
|
7
|
+
pIsGs3qOi7RzJ3z48HiBj9NT8I2fFpGHERerbQIDAQABAoIBABXsIcObhyuHJAh7
|
8
|
+
JkopLZZro70lhZ+qgIyf4JYEUxyVBqu4YcRhbVJKJLSNSDBQksQdX+5SoCuKk1oV
|
9
|
+
6vcztU6Lyb9JVVKF96CQajnVgm04msutXUbhEbkUG0Hyi5JIwM3D4QfGXNcmWAaU
|
10
|
+
rVHeBfXH7eI4F2l0ix2lUGUvpwRFRDq9HgpOjXzyc57B4jeF7na/UTnt+Uoi4hzZ
|
11
|
+
FjjQ7nSLqEJLXtQBqt4EnAZu6/9JlAApunyMOX2oTqRNn8XGmD0Rc+AouipHM+Mc
|
12
|
+
9/fN9oqVxxXw2MdJA6S/sEFLEDrbifmyyHOereuZtOjdWLqsCdZwewYl8nuBnYEU
|
13
|
+
GjVzYgECgYEAx+efis7xma28HWqtW9GLvjBcFAD/f+MDDeqX9TKFwf+91tUq0QZi
|
14
|
+
SqXvmIvCnpsO8I70WEskT+pPwJWReAbZBrCbCVDbH34KEkAHywH9sK6chWnB8OpU
|
15
|
+
0mp0gH89A4bq/tedKVHCQ2sAbKgbIc1zf3zpmMQiV+smMDQXU1fTg/kCgYEAxpst
|
16
|
+
BD2cYftFjxFZE1v8fx6t6oHtzYRtNNFTYzfxzzRBaTTRRzdhSfh0tLFueyg/fcKR
|
17
|
+
oCXUxbfCYRLk+zHP2p/AyyN9R5p2AMAc6lOZPpBj7u9kjjDVnk76DYnLDqP3Da2s
|
18
|
+
i7b0DNYxm2gt1VSZfOuJHv7z85SLcJQsg+3ymBUCgYBrOpFX0d3Cw3COjvRitiox
|
19
|
+
YJtjl411uf2fb2EHg4xAHcBlBn8rFDOROyUkPIOutBn1a5kh61yVCWiyMwiOy42K
|
20
|
+
ixz+iEKhx+f7FiGYAX9lUKRg4/PGGMxa+gN4EchWpf5TqLCCw3pi03is0BeNsDjt
|
21
|
+
/8EF0t9hLZ+UZ7zDVe79cQKBgGTPi5AlfeW2V96BHcfX31jfR8RLY1v4pj4zKrKo
|
22
|
+
SRO2IKW4a6pMkBOuC/9UORJGocPCKY0y5sfduMrxfk2LQUhl4sS6JPNdkhxbZ9IB
|
23
|
+
0T2SqUc1OMN8QlJzIDYTBYFO9S56Q6U/nq2NY+zQesNYh/iCzj1viIDRm93vOJFX
|
24
|
+
DNbpAoGBALlQvzzMsT3/fPYn8moQiUCJ9XRZ4X2qwYy5Q8J8QvutI+j9o9+pJBhc
|
25
|
+
3zSlB8HHa7asf27GUbYtv7oFDpqqcC6EFtvfp1OCiX/OjBIJA1YXTFG3YWC5ngC4
|
26
|
+
JPxyTn4MdoX0enm8PRDg7CSZwa4AK1MIYetbiuJgWJ2wKXDFxuGH
|
27
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1 @@
|
|
1
|
+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbFlHJ++BcXGU9b2K+jF990r16uqkKnWiK2CFS0PFvM9IJs3CoGiIlyc9UD9O4LEyeu5Rw0RdiAp9MvyUPcDUeibw3WlMCFJ53mbioAapMy5tPXmxxJH5KcN2uJKESsH/1hJv0tWfVpHQywVLcf/7HWPjDl3qEFqzwGEN+5V3XqyG+hoA4rLTLDL40G68bL/oC7ere3sz3B16U4NGdgtJZapot5gTFErFZZztql76h25Ch7isE1XAaYg6NY4z1oU8Q9Ud0sY74tDI8TF165LStb3prf1TinwaMbOyuQ1wrNU4aMzekiwazeo6LtHMnfPjweIGP01PwjZ8WkYcRF6tt simple_cloud provider test key
|
data/testkit.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'droplet_kit'
|
2
|
+
require 'net/http'
|
3
|
+
token=ENV['DO_TOKEN']
|
4
|
+
|
5
|
+
class SimpleClient < DropletKit::Client
|
6
|
+
def post(path, params = {})
|
7
|
+
uri = URI.parse("#{connection_options[:url]}#{path}")
|
8
|
+
https = Net::HTTP.new(uri.host,uri.port)
|
9
|
+
https.use_ssl = true
|
10
|
+
req = Net::HTTP::Post.new(uri.path)
|
11
|
+
req['Content-Type'] = connection_options[:headers][:content_type]
|
12
|
+
req['Authorization'] = connection_options[:headers][:authorization]
|
13
|
+
req.set_form_data(params)
|
14
|
+
result = https.request(req)
|
15
|
+
unless /^2\d\d$/ =~ result.code.to_s
|
16
|
+
raise "Server response error #{result.code} #{path} #{params} #{result.message} #{result.body}"
|
17
|
+
end
|
18
|
+
puts "Response #{result.code} #{result.message}: #{result.body}"
|
19
|
+
JSON.parse(result.body)
|
20
|
+
end
|
21
|
+
private
|
22
|
+
def connection_options
|
23
|
+
{
|
24
|
+
url: "https://api.simplecloud.ru",
|
25
|
+
headers: {
|
26
|
+
content_type: 'application/json',
|
27
|
+
authorization: "Bearer #{access_token}"
|
28
|
+
}
|
29
|
+
}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
simple_client = SimpleClient.new(access_token: token)
|
34
|
+
|
35
|
+
result = simple_client.post("/v2/droplets/31503/actions", {
|
36
|
+
:type => 'rebuild',
|
37
|
+
:image => '123'
|
38
|
+
})
|
39
|
+
|
40
|
+
puts result
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'vagrant-simplecloud/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "vagrant-simplecloud"
|
8
|
+
gem.version = VagrantPlugins::SimpleCloud::VERSION
|
9
|
+
gem.authors = ["John Bender"]
|
10
|
+
gem.email = ["john.m.bender@gmail.com"]
|
11
|
+
gem.description = %q{Enables Vagrant to manage Simple Cloud droplets}
|
12
|
+
gem.summary = gem.description
|
13
|
+
|
14
|
+
gem.files = `git ls-files`.split($/)
|
15
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
16
|
+
gem.require_paths = ["lib"]
|
17
|
+
|
18
|
+
gem.add_dependency "faraday", ">= 0.8.6"
|
19
|
+
gem.add_dependency "json"
|
20
|
+
gem.add_dependency "log4r"
|
21
|
+
gem.add_dependency "droplet_kit"
|
22
|
+
end
|
metadata
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vagrant-simplecloud
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- John Bender
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-08-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.8.6
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.8.6
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: log4r
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: droplet_kit
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Enables Vagrant to manage Simple Cloud droplets
|
70
|
+
email:
|
71
|
+
- john.m.bender@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- CHANGELOG.md
|
78
|
+
- Gemfile
|
79
|
+
- LICENSE.txt
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- box/metadata.json
|
83
|
+
- box/simple_cloud.box
|
84
|
+
- lib/vagrant-simplecloud.rb
|
85
|
+
- lib/vagrant-simplecloud/actions.rb
|
86
|
+
- lib/vagrant-simplecloud/actions/check_state.rb
|
87
|
+
- lib/vagrant-simplecloud/actions/create.rb
|
88
|
+
- lib/vagrant-simplecloud/actions/destroy.rb
|
89
|
+
- lib/vagrant-simplecloud/actions/modify_provision_path.rb
|
90
|
+
- lib/vagrant-simplecloud/actions/power_off.rb
|
91
|
+
- lib/vagrant-simplecloud/actions/power_on.rb
|
92
|
+
- lib/vagrant-simplecloud/actions/rebuild.rb
|
93
|
+
- lib/vagrant-simplecloud/actions/reload.rb
|
94
|
+
- lib/vagrant-simplecloud/actions/setup_key.rb
|
95
|
+
- lib/vagrant-simplecloud/actions/setup_sudo.rb
|
96
|
+
- lib/vagrant-simplecloud/actions/setup_user.rb
|
97
|
+
- lib/vagrant-simplecloud/actions/shut_down.rb
|
98
|
+
- lib/vagrant-simplecloud/actions/sync_folders.rb
|
99
|
+
- lib/vagrant-simplecloud/commands/list.rb
|
100
|
+
- lib/vagrant-simplecloud/commands/rebuild.rb
|
101
|
+
- lib/vagrant-simplecloud/config.rb
|
102
|
+
- lib/vagrant-simplecloud/errors.rb
|
103
|
+
- lib/vagrant-simplecloud/helpers/client.rb
|
104
|
+
- lib/vagrant-simplecloud/helpers/result.rb
|
105
|
+
- lib/vagrant-simplecloud/plugin.rb
|
106
|
+
- lib/vagrant-simplecloud/provider.rb
|
107
|
+
- lib/vagrant-simplecloud/version.rb
|
108
|
+
- locales/en.yml
|
109
|
+
- test/Vagrantfile
|
110
|
+
- test/cookbooks/test/recipes/default.rb
|
111
|
+
- test/scripts/provision.sh
|
112
|
+
- test/test.sh
|
113
|
+
- test/test_id_rsa
|
114
|
+
- test/test_id_rsa.pub
|
115
|
+
- testkit.rb
|
116
|
+
- vagrant-simplecloud.gemspec
|
117
|
+
homepage:
|
118
|
+
licenses: []
|
119
|
+
metadata: {}
|
120
|
+
post_install_message:
|
121
|
+
rdoc_options: []
|
122
|
+
require_paths:
|
123
|
+
- lib
|
124
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
requirements: []
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 2.4.3
|
137
|
+
signing_key:
|
138
|
+
specification_version: 4
|
139
|
+
summary: Enables Vagrant to manage Simple Cloud droplets
|
140
|
+
test_files:
|
141
|
+
- test/Vagrantfile
|
142
|
+
- test/cookbooks/test/recipes/default.rb
|
143
|
+
- test/scripts/provision.sh
|
144
|
+
- test/test.sh
|
145
|
+
- test/test_id_rsa
|
146
|
+
- test/test_id_rsa.pub
|