vagrant-digitalocean 0.9.4 → 0.9.6
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 +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:
|