Skip to content

Commit

Permalink
Merge pull request #262 from estevesd/master
Browse files Browse the repository at this point in the history
Add support for "tags", "monitoring" and "Block storage" options
  • Loading branch information
seth-reeser authored Jan 2, 2018
2 parents ccfb8d8 + 1849921 commit 4ec14a8
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Vagrant.configure('2') do |config|
provider.size = '512mb'
end
end

config.vm.define "droplet2" do |config|
config.vm.provider :digital_ocean do |provider, override|
override.ssh.private_key_path = '~/.ssh/id_rsa'
Expand All @@ -56,7 +56,7 @@ Vagrant.configure('2') do |config|
provider.size = '1gb'
end
end

end
```

Expand Down Expand Up @@ -84,6 +84,12 @@ The following attributes are available to further configure the provider:
* A string representing the name to use when creating a DigitalOcean SSH key for Droplet authentication. It defaults to `Vagrant`.
- `provider.setup`
* A boolean flag indicating whether to setup a new user account and modify sudo to disable tty requirement. It defaults to `true`. If you are using a tool like [Packer](https://packer.io) to create reusable snapshots with user accounts already provisioned, set to `false`.
- `provider.monitoring`
* A boolean indicating whether to install the DigitalOcean agent for monitoring. It defaults to `false`.
- `provider.tags`
* A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags.
- `provider.volumes`
* A flat array including the unique identifier for each Block Storage volume attached to the Droplet.
- `config.vm.synced_folder`
* Supports both rsync__args and rsync__exclude, see the [Vagrant Docs](http://docs.vagrantup.com/v2/synced-folders/rsync.html) for more information. rsync__args default to `["--verbose", "--archive", "--delete", "-z", "--copy-links"]` and rsync__exclude defaults to `[".vagrant/"]`.

Expand Down Expand Up @@ -128,7 +134,7 @@ Before submitting a GitHub issue, please ensure both Vagrant and vagrant-digital
* For the latest Vagrant version, please visit the [Vagrant](https://www.vagrantup.com/) website
* To update Vagrant plugins, run the following command: `vagrant plugin update`

* `vagrant plugin install vagrant-digitalocean`
* `vagrant plugin install vagrant-digitalocean`
* Installation on OS X may not working due to a SSL certificate problem, and you may need to specify a certificate path explicitly. To do so, run `ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE"`. Then, add the following environment variable to your `.bash_profile` script and `source` it: `export SSL_CERT_FILE=/usr/local/etc/openssl/cert.pem`.


Expand Down
5 changes: 4 additions & 1 deletion lib/vagrant-digitalocean/actions/create.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ def call(env)
:private_networking => @machine.provider_config.private_networking,
:backups => @machine.provider_config.backups_enabled,
:ipv6 => @machine.provider_config.ipv6,
:user_data => @machine.provider_config.user_data
:user_data => @machine.provider_config.user_data,
:monitoring => @machine.provider_config.monitoring,
:tags => @machine.provider_config.tags,
:volumes => @machine.provider_config.volumes
}.delete_if { |k, v| v.nil? })

# wait for request to complete
Expand Down
9 changes: 9 additions & 0 deletions lib/vagrant-digitalocean/config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ class Config < Vagrant.plugin('2', :config)
attr_accessor :ssh_key_name
attr_accessor :setup
attr_accessor :user_data
attr_accessor :monitoring
attr_accessor :tags
attr_accessor :volumes

alias_method :setup?, :setup

Expand All @@ -27,6 +30,9 @@ def initialize
@ssh_key_name = UNSET_VALUE
@setup = UNSET_VALUE
@user_data = UNSET_VALUE
@monitoring = UNSET_VALUE
@tags = UNSET_VALUE
@volumes = UNSET_VALUE
end

def finalize!
Expand All @@ -41,6 +47,9 @@ def finalize!
@ssh_key_name = 'Vagrant' if @ssh_key_name == UNSET_VALUE
@setup = true if @setup == UNSET_VALUE
@user_data = nil if @user_data == UNSET_VALUE
@monitoring = false if @monitoring == UNSET_VALUE
@tags = nil if @tags == UNSET_VALUE
@volumes = nil if @volumes == UNSET_VALUE
end

def validate(machine)
Expand Down

0 comments on commit 4ec14a8

Please sign in to comment.