vagrant-digitalocean 0.9.4 → 0.9.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -2
- data/README.md +23 -17
- data/lib/vagrant-digitalocean/actions/create.rb +2 -6
- data/lib/vagrant-digitalocean/actions/setup_key.rb +2 -6
- data/lib/vagrant-digitalocean/actions/setup_user.rb +1 -3
- data/lib/vagrant-digitalocean/config.rb +2 -2
- data/lib/vagrant-digitalocean/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4510281f427a3aa71fbf86b033ab254c4a8833d34a05649a3a1c9849df56575b
|
4
|
+
data.tar.gz: ce9d15fe9a6a98b9bcdbe6a549c2af6f83f5c8ce3815e70e53d6f33dec14459e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8673bc66d9c05d5938758ce547d395183225db0c31be54442812b5ed797968beb2fa588b99ccba00fa0ce245b5032159974eff93b4e318249f2a66e8692c5e83
|
7
|
+
data.tar.gz: 28d15d0df8e90e1d4731c33932c9fc64e7d42cb4a3c361c91084d56ca9e11b68ce5bc3f157bbb7f617c5afaec139d863aef09f50735ad436513f2b2141cb0282
|
data/Gemfile
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem 'vagrant', :git => '
|
3
|
+
gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git', :tag => 'v2.3.7'
|
4
4
|
gem 'rake'
|
5
5
|
|
6
6
|
group :plugins do
|
7
7
|
gem 'vagrant-omnibus'
|
8
|
-
gem 'vagrant-digitalocean', :path => '.'
|
9
8
|
end
|
10
9
|
|
11
10
|
gemspec
|
data/README.md
CHANGED
@@ -26,7 +26,7 @@ Install the provider plugin using the Vagrant command-line interface:
|
|
26
26
|
|
27
27
|
Configure
|
28
28
|
---------
|
29
|
-
Once the provider has been installed, you will need to configure your project to use it. See the following example for a basic multi-machine `Vagrantfile` implementation that manages two DigitalOcean Droplets:
|
29
|
+
Once the provider has been installed, you will need to configure your project to use it. See the following example for a basic multi-machine `Vagrantfile` implementation that manages two DigitalOcean Droplets running Ubuntu 18.04 using a single CPU Droplet with 1GB of memory:
|
30
30
|
|
31
31
|
```ruby
|
32
32
|
Vagrant.configure('2') do |config|
|
@@ -37,23 +37,34 @@ Vagrant.configure('2') do |config|
|
|
37
37
|
override.vm.box = 'digital_ocean'
|
38
38
|
override.vm.box_url = "https://github.com/devopsgroup-io/vagrant-digitalocean/raw/master/box/digital_ocean.box"
|
39
39
|
override.nfs.functional = false
|
40
|
+
override.vm.allowed_synced_folder_types = :rsync
|
40
41
|
provider.token = 'YOUR TOKEN'
|
41
|
-
provider.image = 'ubuntu-
|
42
|
+
provider.image = 'ubuntu-18-04-x64'
|
42
43
|
provider.region = 'nyc1'
|
43
|
-
provider.size = '
|
44
|
+
provider.size = 's-1vcpu-1gb'
|
45
|
+
provider.backups_enabled = false
|
46
|
+
provider.private_networking = false
|
47
|
+
provider.ipv6 = false
|
48
|
+
provider.monitoring = false
|
44
49
|
end
|
45
50
|
end
|
46
51
|
|
47
52
|
config.vm.define "droplet2" do |config|
|
53
|
+
|
48
54
|
config.vm.provider :digital_ocean do |provider, override|
|
49
55
|
override.ssh.private_key_path = '~/.ssh/id_rsa'
|
50
56
|
override.vm.box = 'digital_ocean'
|
51
57
|
override.vm.box_url = "https://github.com/devopsgroup-io/vagrant-digitalocean/raw/master/box/digital_ocean.box"
|
52
58
|
override.nfs.functional = false
|
59
|
+
override.vm.allowed_synced_folder_types = :rsync
|
53
60
|
provider.token = 'YOUR TOKEN'
|
54
|
-
provider.image = 'ubuntu-
|
61
|
+
provider.image = 'ubuntu-18-04-x64'
|
55
62
|
provider.region = 'nyc3'
|
56
|
-
provider.size = '1gb'
|
63
|
+
provider.size = 's-1vcpu-1gb'
|
64
|
+
provider.backups_enabled = false
|
65
|
+
provider.private_networking = false
|
66
|
+
provider.ipv6 = false
|
67
|
+
provider.monitoring = false
|
57
68
|
end
|
58
69
|
end
|
59
70
|
|
@@ -68,14 +79,14 @@ end
|
|
68
79
|
|
69
80
|
The following attributes are available to further configure the provider:
|
70
81
|
- `provider.image`
|
71
|
-
* A string representing the image to use when creating a new Droplet. It defaults to `ubuntu-
|
82
|
+
* A string representing the image to use when creating a new Droplet. It defaults to `ubuntu-18-04-x64`.
|
72
83
|
List available images with the `vagrant digitalocean-list images $DIGITAL_OCEAN_TOKEN` command. Like when using the DigitalOcean API directly, [it can be an image ID or slug](https://developers.digitalocean.com/documentation/v2/#create-a-new-droplet).
|
73
84
|
- `provider.ipv6`
|
74
85
|
* A boolean flag indicating whether to enable IPv6
|
75
86
|
- `provider.region`
|
76
87
|
* A string representing the region to create the new Droplet in. It defaults to `nyc2`. List available regions with the `vagrant digitalocean-list regions $DIGITAL_OCEAN_TOKEN` command.
|
77
88
|
- `provider.size`
|
78
|
-
* A string representing the size to use when creating a new Droplet (e.g. `1gb`). It defaults to `
|
89
|
+
* A string representing the size to use when creating a new Droplet (e.g. `s-1vcpu-1gb`). It defaults to `s-1vcpu-1gb`. List available sizes with the `vagrant digitalocean-list sizes $DIGITAL_OCEAN_TOKEN` command.
|
79
90
|
- `provider.private_networking`
|
80
91
|
* A boolean flag indicating whether to enable a private network interface (if the region supports private networking). It defaults to `false`.
|
81
92
|
- `provider.backups_enabled`
|
@@ -124,6 +135,7 @@ This [DigitalOcean API](https://developers.digitalocean.com/documentation/change
|
|
124
135
|
|
125
136
|
Date Tested | Vagrant Version | vagrant-digitalocean Version | Host (Workstation) Operating System | Guest (DigitalOcean) Operating System
|
126
137
|
------------|-----------------|------------------------------|-----------------------|--------------------------------------
|
138
|
+
03/12/2020 | 2.2.7 | 0.9.4 | OS X 10.14.6 | Ubuntu 18.04, Debian 10, Debian 9, Debian 8, CentOS 7
|
127
139
|
03/22/2016 | 1.8.1 | 0.7.10 | OS X 10.11.4 | CentOS 7.0
|
128
140
|
04/03/2013 | 1.1.5 | 0.1.0 | Ubuntu 12.04 | CentOS 6.3
|
129
141
|
|
@@ -150,16 +162,10 @@ To contribute, fork then clone the repository, and then the following:
|
|
150
162
|
|
151
163
|
**Developing**
|
152
164
|
|
153
|
-
1. Install [
|
154
|
-
2.
|
155
|
-
|
156
|
-
|
157
|
-
* `bundle _1.7.9_ install`
|
158
|
-
4. Do your development and run a few commands, one to get started would be:
|
159
|
-
* `bundle _1.7.9_ exec vagrant digitalocean-list images`
|
160
|
-
5. You can then run a test:
|
161
|
-
* `bundle _1.7.9_ exec rake test`
|
162
|
-
6. Once you are satisfied with your changes, please submit a pull request.
|
165
|
+
1. Install [RVM](https://rvm.io/rvm/install)
|
166
|
+
2. If using MacOS, follow these [OpenSSL instructions](https://github.com/rvm/rvm/issues/5252#issuecomment-1298835941)
|
167
|
+
3. Use Ruby v3.0.0 `rvm use 3.0.0`
|
168
|
+
4. Run `bundle install`
|
163
169
|
|
164
170
|
**Testing**
|
165
171
|
|
@@ -44,13 +44,9 @@ module VagrantPlugins
|
|
44
44
|
droplet = Provider.droplet(@machine, :refresh => true)
|
45
45
|
public_network = droplet['networks']['v4'].find { |network| network['type'] == 'public' }
|
46
46
|
private_network = droplet['networks']['v4'].find { |network| network['type'] == 'private' }
|
47
|
-
env[:ui].info I18n.t('vagrant_digital_ocean.info.droplet_ip',
|
48
|
-
:ip => public_network['ip_address']
|
49
|
-
})
|
47
|
+
env[:ui].info I18n.t('vagrant_digital_ocean.info.droplet_ip', :ip => public_network['ip_address'])
|
50
48
|
if private_network
|
51
|
-
env[:ui].info I18n.t('vagrant_digital_ocean.info.droplet_private_ip',
|
52
|
-
:ip => private_network['ip_address']
|
53
|
-
})
|
49
|
+
env[:ui].info I18n.t('vagrant_digital_ocean.info.droplet_private_ip', :ip => private_network['ip_address'])
|
54
50
|
end
|
55
51
|
|
56
52
|
# wait for ssh to be ready
|
@@ -23,9 +23,7 @@ module VagrantPlugins
|
|
23
23
|
.request('/v2/account/keys')
|
24
24
|
.find_id(:ssh_keys, :name => ssh_key_name)
|
25
25
|
|
26
|
-
env[:ui].info I18n.t('vagrant_digital_ocean.info.using_key',
|
27
|
-
:name => ssh_key_name
|
28
|
-
})
|
26
|
+
env[:ui].info I18n.t('vagrant_digital_ocean.info.using_key', :name => ssh_key_name)
|
29
27
|
rescue Errors::ResultMatchError
|
30
28
|
env[:ssh_key_id] = create_ssh_key(ssh_key_name, env)
|
31
29
|
end
|
@@ -42,9 +40,7 @@ module VagrantPlugins
|
|
42
40
|
path = File.expand_path(path, @machine.env.root_path)
|
43
41
|
pub_key = DigitalOcean.public_key(path)
|
44
42
|
|
45
|
-
env[:ui].info I18n.t('vagrant_digital_ocean.info.creating_key',
|
46
|
-
:name => name
|
47
|
-
})
|
43
|
+
env[:ui].info I18n.t('vagrant_digital_ocean.info.creating_key', :name => name)
|
48
44
|
|
49
45
|
result = @client.post('/v2/account/keys', {
|
50
46
|
:name => name,
|
@@ -19,9 +19,7 @@ module VagrantPlugins
|
|
19
19
|
user = @machine.config.ssh.username
|
20
20
|
@machine.config.ssh.username = 'root'
|
21
21
|
|
22
|
-
env[:ui].info I18n.t('vagrant_digital_ocean.info.creating_user',
|
23
|
-
:user => user
|
24
|
-
})
|
22
|
+
env[:ui].info I18n.t('vagrant_digital_ocean.info.creating_user', :user => user)
|
25
23
|
|
26
24
|
# create user account
|
27
25
|
@machine.communicate.execute(<<-BASH)
|
@@ -37,9 +37,9 @@ module VagrantPlugins
|
|
37
37
|
|
38
38
|
def finalize!
|
39
39
|
@token = ENV['DO_TOKEN'] if @token == UNSET_VALUE
|
40
|
-
@image = 'ubuntu-
|
40
|
+
@image = 'ubuntu-18-04-x64' if @image == UNSET_VALUE
|
41
41
|
@region = 'nyc2' if @region == UNSET_VALUE
|
42
|
-
@size = '
|
42
|
+
@size = 's-1vcpu-1gb' if @size == UNSET_VALUE
|
43
43
|
@private_networking = false if @private_networking == UNSET_VALUE
|
44
44
|
@ipv6 = false if @ipv6 == UNSET_VALUE
|
45
45
|
@backups_enabled = false if @backups_enabled == UNSET_VALUE
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-digitalocean
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Bender
|
8
8
|
- Seth Reeser
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-09-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -99,10 +99,10 @@ files:
|
|
99
99
|
- test/test_id_rsa
|
100
100
|
- test/test_id_rsa.pub
|
101
101
|
- vagrant-digitalocean.gemspec
|
102
|
-
homepage:
|
102
|
+
homepage:
|
103
103
|
licenses: []
|
104
104
|
metadata: {}
|
105
|
-
post_install_message:
|
105
|
+
post_install_message:
|
106
106
|
rdoc_options: []
|
107
107
|
require_paths:
|
108
108
|
- lib
|
@@ -117,8 +117,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: '0'
|
119
119
|
requirements: []
|
120
|
-
rubygems_version: 3.
|
121
|
-
signing_key:
|
120
|
+
rubygems_version: 3.2.3
|
121
|
+
signing_key:
|
122
122
|
specification_version: 4
|
123
123
|
summary: Enables Vagrant to manage DigitalOcean droplets
|
124
124
|
test_files:
|