Skip to content

Commit

Permalink
Add support for "tags" and "monitoring" options
Browse files Browse the repository at this point in the history
  • Loading branch information
estevesd committed Jan 20, 2017
1 parent 5244d06 commit 8e66190
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,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 @@ -54,7 +54,7 @@ Vagrant.configure('2') do |config|
provider.size = '1gb'
end
end

end
```

Expand Down Expand Up @@ -82,6 +82,10 @@ 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.
- `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 @@ -126,7 +130,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
4 changes: 3 additions & 1 deletion lib/vagrant-digitalocean/actions/create.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ 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
}.delete_if { |k, v| v.nil? })

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

alias_method :setup?, :setup

Expand All @@ -27,6 +29,8 @@ def initialize
@ssh_key_name = UNSET_VALUE
@setup = UNSET_VALUE
@user_data = UNSET_VALUE
@monitoring = UNSET_VALUE
@tags = UNSET_VALUE
end

def finalize!
Expand All @@ -41,6 +45,8 @@ 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
end

def validate(machine)
Expand Down

0 comments on commit 8e66190

Please sign in to comment.