vagrant-digitalocean 0.1.2 → 0.2.0
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.
- data/Gemfile +2 -1
- data/README.md +11 -2
- data/lib/vagrant-digitalocean/actions.rb +0 -2
- data/lib/vagrant-digitalocean/version.rb +1 -1
- data/locales/en.yml +0 -1
- data/test/Vagrantfile +5 -2
- metadata +2 -3
- data/lib/vagrant-digitalocean/actions/setup_provisioner.rb +0 -41
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -4,6 +4,13 @@ Digital Ocean Vagrant Provider
|
|
4
4
|
management of [Digital Ocean](https://www.digitalocean.com/) droplets
|
5
5
|
(instances).
|
6
6
|
|
7
|
+
**NOTE:** The Chef provisioner is no longer supported by default (as of 0.2.0).
|
8
|
+
Please use the `vagrant-omnibus` plugin to install Chef on Vagrant-managed
|
9
|
+
machines. This plugin provides control over the specific version of Chef
|
10
|
+
to install. The custom `rebuild` command will not work until a pull request
|
11
|
+
is accepted within the `vagrant-omnibus` project. I will update the README
|
12
|
+
when this is completed.
|
13
|
+
|
7
14
|
Current features include:
|
8
15
|
- create and destroy droplets
|
9
16
|
- power on and off droplets
|
@@ -65,6 +72,9 @@ Please note the following:
|
|
65
72
|
extension.
|
66
73
|
- You *must* specify your Digital Ocean Client and API keys. These may be
|
67
74
|
found on the control panel within the *My Settings > API Access* section.
|
75
|
+
- The Chef provisioner is installed via the
|
76
|
+
[`vagrant-omnibus` plugin](https://github.com/schisamo/vagrant-omnibus).
|
77
|
+
Please see its documentation for details.
|
68
78
|
|
69
79
|
**Supported Configuration Attributes**
|
70
80
|
|
@@ -89,8 +99,7 @@ set.
|
|
89
99
|
|
90
100
|
*NOTE:* For those using a 0.0.x version of the provider,
|
91
101
|
`provider.ssh_username` and `provider.ssh_private_key_path` have been removed
|
92
|
-
in favor of the configuration options above.
|
93
|
-
provider with upcoming changes in Vagrant 1.2.
|
102
|
+
in favor of the configuration options above.
|
94
103
|
|
95
104
|
Run
|
96
105
|
---
|
@@ -7,7 +7,6 @@ require 'vagrant-digitalocean/actions/rebuild'
|
|
7
7
|
require 'vagrant-digitalocean/actions/reload'
|
8
8
|
require 'vagrant-digitalocean/actions/setup_user'
|
9
9
|
require 'vagrant-digitalocean/actions/setup_sudo'
|
10
|
-
require 'vagrant-digitalocean/actions/setup_provisioner'
|
11
10
|
require 'vagrant-digitalocean/actions/setup_key'
|
12
11
|
require 'vagrant-digitalocean/actions/sync_folders'
|
13
12
|
require 'vagrant-digitalocean/actions/modify_provision_path'
|
@@ -70,7 +69,6 @@ module VagrantPlugins
|
|
70
69
|
case env[:machine_state]
|
71
70
|
when :active
|
72
71
|
b.use Provision
|
73
|
-
b.use SetupProvisioner
|
74
72
|
b.use ModifyProvisionPath
|
75
73
|
b.use SyncFolders
|
76
74
|
when :off
|
data/locales/en.yml
CHANGED
@@ -14,7 +14,6 @@ en:
|
|
14
14
|
reloading: "Rebooting the droplet..."
|
15
15
|
creating_user: "Creating user account: %{user}..."
|
16
16
|
modifying_sudo: "Modifying sudoers file to remove tty requirement..."
|
17
|
-
installing_provisioner: "Installing provisioner: %{provisioner}..."
|
18
17
|
using_key: "Using existing SSH key: %{name}"
|
19
18
|
creating_key: "Creating new SSH key: %{name}..."
|
20
19
|
rsyncing: "Rsyncing folder: %{hostpath} => %{guestpath}..."
|
data/test/Vagrantfile
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
Vagrant.require_plugin('vagrant-digitalocean')
|
2
|
+
Vagrant.require_plugin('vagrant-omnibus')
|
2
3
|
|
3
4
|
Vagrant.configure('2') do |config|
|
5
|
+
config.omnibus.chef_version = :latest
|
6
|
+
|
4
7
|
config.vm.box = 'digital_ocean'
|
5
8
|
|
6
9
|
config.ssh.username = 'tester'
|
7
10
|
config.ssh.private_key_path = 'test_id_rsa'
|
8
11
|
|
9
|
-
config.vm.synced_folder '
|
12
|
+
config.vm.synced_folder '.', '/vagrant', :disabled => true
|
10
13
|
|
11
14
|
config.vm.provider :digital_ocean do |provider|
|
12
15
|
provider.client_id = ENV['DO_CLIENT_ID']
|
@@ -31,7 +34,7 @@ Vagrant.configure('2') do |config|
|
|
31
34
|
|
32
35
|
config.vm.define :centos do |centos|
|
33
36
|
centos.vm.provider :digital_ocean do |provider|
|
34
|
-
provider.image = 'CentOS 6.
|
37
|
+
provider.image = 'CentOS 6.4 x64'
|
35
38
|
end
|
36
39
|
end
|
37
40
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-digitalocean
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-06-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -84,7 +84,6 @@ files:
|
|
84
84
|
- lib/vagrant-digitalocean/actions/rebuild.rb
|
85
85
|
- lib/vagrant-digitalocean/actions/reload.rb
|
86
86
|
- lib/vagrant-digitalocean/actions/setup_key.rb
|
87
|
-
- lib/vagrant-digitalocean/actions/setup_provisioner.rb
|
88
87
|
- lib/vagrant-digitalocean/actions/setup_sudo.rb
|
89
88
|
- lib/vagrant-digitalocean/actions/setup_user.rb
|
90
89
|
- lib/vagrant-digitalocean/actions/sync_folders.rb
|
@@ -1,41 +0,0 @@
|
|
1
|
-
module VagrantPlugins
|
2
|
-
module DigitalOcean
|
3
|
-
module Actions
|
4
|
-
class SetupProvisioner
|
5
|
-
def initialize(app, env)
|
6
|
-
@app = app
|
7
|
-
@machine = env[:machine]
|
8
|
-
@logger =
|
9
|
-
Log4r::Logger.new('vagrant::digitalocean::setup_provisioner')
|
10
|
-
end
|
11
|
-
|
12
|
-
def call(env)
|
13
|
-
# check if provisioning is enabled
|
14
|
-
enabled = true
|
15
|
-
enabled = env[:provision_enabled] if env.has_key?(:provision_enabled)
|
16
|
-
return @app.call(env) if !enabled
|
17
|
-
|
18
|
-
# check if a chef provisioner is configured
|
19
|
-
provisioners = @machine.config.vm.provisioners
|
20
|
-
configured = provisioners.reduce(false) do |c, provisioner|
|
21
|
-
provisioner.name =~ /chef/
|
22
|
-
end
|
23
|
-
return @app.call(env) if !configured
|
24
|
-
|
25
|
-
# check if chef is already installed
|
26
|
-
command = 'which chef-solo'
|
27
|
-
code = @machine.communicate.execute(command, :error_check => false)
|
28
|
-
return @app.call(env) if code == 0
|
29
|
-
|
30
|
-
# install chef
|
31
|
-
key = 'vagrant_digital_ocean.info.installing_provisioner'
|
32
|
-
env[:ui].info I18n.t(key, { :provisioner => 'chef' })
|
33
|
-
command = 'wget -O - http://www.opscode.com/chef/install.sh | bash'
|
34
|
-
@machine.communicate.sudo(command)
|
35
|
-
|
36
|
-
@app.call(env)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|