kitchen-digitalocean 0.12.0 → 0.14.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 799bdf4032943a828a9e301f4627c041f5b1c53a446a9e3fc94a1e7c2857e9eb
4
- data.tar.gz: bc667b0ec4efaef1e90a94330d5ed7605a98a5cf8dfe72664ed5f4326ef9cc31
3
+ metadata.gz: 971c9c6063640da2c135033bdd3a08cf63770a15add5d26456ea8884d77c075b
4
+ data.tar.gz: 10937bda614920bf1112179fd7ebbfe898b4bfaf24da52ca1e5b638e471a6f10
5
5
  SHA512:
6
- metadata.gz: 07bf2504e78e1ce84f3e09bdb1b566aad331553242792622317c01fc13d266611d596e106e26b437807e8a7e678bbbbc824a96abaecef5ea35dec2074b652453
7
- data.tar.gz: 8b3d820d5ca6402ebc0d71861552af622d06ca468e33abed098246960f889303f202e0aae9204037fc6d7b9bdcdaaeb155b94689be1e5b2fec429c8592d3e6c3
6
+ metadata.gz: 753b0aa43ba8967748196fd20b1475e44472de1414ba1d240aefea358319b69c5b4d8eabf38c5745673f50258ec9ba487627a17fac63859f47aa031578b97c82
7
+ data.tar.gz: 27a51874be192bbe6d642c47996a4c3792b1ac5ea5aefcbc4700c809af723ccceb1f212298274ef71a311dd8d6ad7a08e806dca3916aaec54eed221021dfd47a
@@ -17,13 +17,13 @@
17
17
  # See the License for the specific language governing permissions and
18
18
  # limitations under the License.
19
19
 
20
- require 'benchmark' unless defined?(Benchmark)
21
- require 'droplet_kit' unless defined?(DropletKit)
22
- require 'kitchen'
23
- require 'etc' unless defined?(Etc)
24
- require 'socket' unless defined?(Socket)
25
- require 'json' unless defined?(JSON)
26
- autoload :YAML, 'yaml'
20
+ require "benchmark" unless defined?(Benchmark)
21
+ require "droplet_kit" unless defined?(DropletKit)
22
+ require "kitchen"
23
+ require "etc" unless defined?(Etc)
24
+ require "socket" unless defined?(Socket)
25
+ require "json" unless defined?(JSON)
26
+ autoload :YAML, "yaml"
27
27
 
28
28
  module Kitchen
29
29
  module Driver
@@ -31,9 +31,9 @@ module Kitchen
31
31
  #
32
32
  # @author Greg Fitzgerald <greg@gregf.org>
33
33
  class Digitalocean < Kitchen::Driver::SSHBase
34
- default_config :username, 'root'
35
- default_config :port, '22'
36
- default_config :size, 's-1vcpu-1gb'
34
+ default_config :username, "root"
35
+ default_config :port, "22"
36
+ default_config :size, "s-1vcpu-1gb"
37
37
  default_config :monitoring, false
38
38
  default_config(:image, &:default_image)
39
39
  default_config(:server_name, &:default_name)
@@ -45,32 +45,33 @@ module Kitchen
45
45
  default_config :vpcs, nil
46
46
 
47
47
  default_config :region do
48
- ENV['DIGITALOCEAN_REGION'] || 'nyc1'
48
+ ENV["DIGITALOCEAN_REGION"] || "nyc1"
49
49
  end
50
50
 
51
51
  default_config :digitalocean_access_token do
52
- ENV['DIGITALOCEAN_ACCESS_TOKEN']
52
+ ENV["DIGITALOCEAN_ACCESS_TOKEN"]
53
53
  end
54
54
 
55
55
  default_config :ssh_key_ids do
56
- ENV['DIGITALOCEAN_SSH_KEY_IDS'] || ENV['SSH_KEY_IDS']
56
+ ENV["DIGITALOCEAN_SSH_KEY_IDS"] || ENV["SSH_KEY_IDS"]
57
57
  end
58
58
 
59
59
  required_config :digitalocean_access_token
60
60
  required_config :ssh_key_ids
61
61
 
62
62
  PLATFORM_SLUG_MAP = {
63
- 'centos-7' => 'centos-7-x64',
64
- 'centos-8' => 'centos-8-x64',
65
- 'debian-9' => 'debian-9-x64',
66
- 'debian-10' => 'debian-10-x64',
67
- 'fedora-32' => 'fedora-32-x64',
68
- 'fedora-33' => 'fedora-33-x64',
69
- 'freebsd-11' => 'freebsd-11-x64-zfs',
70
- 'freebsd-12' => 'freebsd-12-x64-zfs',
71
- 'ubuntu-16' => 'ubuntu-16-04-x64',
72
- 'ubuntu-18' => 'ubuntu-18-04-x64',
73
- 'ubuntu-20' => 'ubuntu-20-04-x64'
63
+ "centos-7" => "centos-7-x64",
64
+ "centos-8" => "centos-8-x64",
65
+ "debian-9" => "debian-9-x64",
66
+ "debian-10" => "debian-10-x64",
67
+ "debian-11" => "debian-11-x64",
68
+ "fedora-32" => "fedora-32-x64",
69
+ "fedora-33" => "fedora-33-x64",
70
+ "freebsd-11" => "freebsd-11-x64-zfs",
71
+ "freebsd-12" => "freebsd-12-x64-zfs",
72
+ "ubuntu-16" => "ubuntu-16-04-x64",
73
+ "ubuntu-18" => "ubuntu-18-04-x64",
74
+ "ubuntu-20" => "ubuntu-20-04-x64",
74
75
  }.freeze
75
76
 
76
77
  def create(state)
@@ -85,21 +86,21 @@ module Kitchen
85
86
  droplet = client.droplets.find(id: state[:server_id])
86
87
 
87
88
  break if droplet && droplet.networks[:v4] &&
88
- droplet.networks[:v4].any? { |n| n[:type] == 'public' }
89
+ droplet.networks[:v4].any? { |n| n[:type] == "public" }
89
90
  end
90
91
  droplet ||= client.droplets.find(id: state[:server_id])
91
92
 
92
93
  state[:hostname] = droplet.networks[:v4]
93
- .find { |n| n[:type] == 'public' }['ip_address']
94
+ .find { |n| n[:type] == "public" }["ip_address"]
94
95
 
95
96
  if config[:firewalls]
96
- debug('trying to add the firewall by id')
97
+ debug("trying to add the firewall by id")
97
98
  fw_ids = if config[:firewalls].is_a?(String)
98
99
  config[:firewalls].split(/\s+|,\s+|,+/)
99
100
  elsif config[:firewalls].is_a?(Array)
100
101
  config[:firewalls]
101
102
  else
102
- warn('firewalls attribute is not string/array, ignoring')
103
+ warn("firewalls attribute is not string/array, ignoring")
103
104
  []
104
105
  end
105
106
  debug("firewall : #{YAML.dump(fw_ids.inspect)}")
@@ -107,7 +108,7 @@ module Kitchen
107
108
  firewall = client.firewalls.find(id: fw_id)
108
109
  if firewall
109
110
  client.firewalls
110
- .add_droplets([droplet.id], id: firewall.id)
111
+ .add_droplets([droplet.id], id: firewall.id)
111
112
  debug("firewall added: #{firewall.id}")
112
113
  else
113
114
  warn("firewalls id: '#{fw_id}' was not found in api, ignoring")
@@ -129,7 +130,7 @@ module Kitchen
129
130
 
130
131
  break unless droplet
131
132
 
132
- if droplet.status != 'new'
133
+ if droplet.status != "new"
133
134
  client.droplets.delete(id: state[:server_id])
134
135
  break
135
136
  end
@@ -162,11 +163,11 @@ module Kitchen
162
163
  # Total: 63
163
164
  def default_name
164
165
  [
165
- instance.name.gsub(/\W/, '')[0..14],
166
- (Etc.getlogin || 'nologin').gsub(/\W/, '')[0..14],
167
- Socket.gethostname.gsub(/\W/, '')[0..22],
168
- Array.new(7) { rand(36).to_s(36) }.join
169
- ].join('-').tr('_', '-')
166
+ instance.name.gsub(/\W/, "")[0..14],
167
+ (Etc.getlogin || "nologin").gsub(/\W/, "")[0..14],
168
+ Socket.gethostname.gsub(/\W/, "")[0..22],
169
+ Array.new(7) { rand(36).to_s(36) }.join,
170
+ ].join("-").tr("_", "-")
170
171
  end
171
172
 
172
173
  private
@@ -201,8 +202,8 @@ module Kitchen
201
202
  resp = client.droplets.create(droplet)
202
203
 
203
204
  if resp.class != DropletKit::Droplet
204
- error JSON.parse(resp)['message']
205
- error 'Please check your access token is set correctly.'
205
+ error JSON.parse(resp)["message"]
206
+ error "Please check your access token is set correctly."
206
207
  else
207
208
  resp
208
209
  end
@@ -20,7 +20,7 @@
20
20
  module Kitchen
21
21
  module Driver
22
22
  # Version string for Digital Ocean Kitchen driver
23
- DIGITALOCEAN_VERSION = '0.12.0'
23
+ DIGITALOCEAN_VERSION = "0.14.2"
24
24
  end
25
25
  end
26
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-digitalocean
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Fitzgerald
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-13 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: droplet_kit
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '1.17'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '3'
42
+ version: '4'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,35 +49,7 @@ dependencies:
49
49
  version: '1.17'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '3'
53
- - !ruby/object:Gem::Dependency
54
- name: bundler
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: '0'
60
- type: :development
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: '0'
67
- - !ruby/object:Gem::Dependency
68
- name: cane
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: '3.0'
74
- type: :development
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - "~>"
79
- - !ruby/object:Gem::Version
80
- version: '3.0'
52
+ version: '4'
81
53
  - !ruby/object:Gem::Dependency
82
54
  name: countloc
83
55
  requirement: !ruby/object:Gem::Requirement
@@ -135,19 +107,19 @@ dependencies:
135
107
  - !ruby/object:Gem::Version
136
108
  version: '3.8'
137
109
  - !ruby/object:Gem::Dependency
138
- name: rubocop
110
+ name: chefstyle
139
111
  requirement: !ruby/object:Gem::Requirement
140
112
  requirements:
141
- - - "~>"
113
+ - - '='
142
114
  - !ruby/object:Gem::Version
143
- version: '1.1'
115
+ version: 2.2.2
144
116
  type: :development
145
117
  prerelease: false
146
118
  version_requirements: !ruby/object:Gem::Requirement
147
119
  requirements:
148
- - - "~>"
120
+ - - '='
149
121
  - !ruby/object:Gem::Version
150
- version: '1.1'
122
+ version: 2.2.2
151
123
  - !ruby/object:Gem::Dependency
152
124
  name: simplecov
153
125
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +184,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
184
  requirements:
213
185
  - - ">="
214
186
  - !ruby/object:Gem::Version
215
- version: '2.5'
187
+ version: '2.7'
216
188
  required_rubygems_version: !ruby/object:Gem::Requirement
217
189
  requirements:
218
190
  - - ">="
219
191
  - !ruby/object:Gem::Version
220
192
  version: '0'
221
193
  requirements: []
222
- rubygems_version: 3.2.15
194
+ rubygems_version: 3.2.3
223
195
  signing_key:
224
196
  specification_version: 4
225
197
  summary: A Test Kitchen Driver for Digital Ocean