specinfra 2.25.1 → 2.26.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/specinfra/backend/base.rb +31 -29
- data/lib/specinfra/backend/docker.rb +87 -85
- data/lib/specinfra/backend/dockerfile.rb +25 -24
- data/lib/specinfra/backend/exec.rb +58 -56
- data/lib/specinfra/backend/lxc.rb +34 -32
- data/lib/specinfra/backend/shell_script.rb +19 -17
- data/lib/specinfra/backend/ssh.rb +131 -129
- data/lib/specinfra/backend/telnet.rb +87 -85
- data/lib/specinfra/backend/winrm.rb +19 -17
- data/lib/specinfra/command/module/systemd.rb +44 -37
- data/lib/specinfra/command/module/zfs.rb +21 -14
- data/lib/specinfra/command/module.rb +6 -1
- data/lib/specinfra/command.rb +4 -1
- data/lib/specinfra/core.rb +18 -0
- data/lib/specinfra/ext/class.rb +9 -0
- data/lib/specinfra/ext/string.rb +14 -0
- data/lib/specinfra/ext.rb +2 -0
- data/lib/specinfra/helper/detect_os.rb +15 -13
- data/lib/specinfra/helper/os.rb +21 -16
- data/lib/specinfra/helper/set.rb +8 -3
- data/lib/specinfra/version.rb +1 -1
- data/lib/specinfra.rb +1 -38
- metadata +6 -2
data/lib/specinfra/command.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'specinfra/version'
|
2
|
+
require 'specinfra/ext'
|
3
|
+
require 'specinfra/helper'
|
4
|
+
require 'specinfra/command'
|
5
|
+
require 'specinfra/command_factory'
|
6
|
+
require 'specinfra/command_result'
|
7
|
+
require 'specinfra/backend'
|
8
|
+
require 'specinfra/configuration'
|
9
|
+
require 'specinfra/runner'
|
10
|
+
require 'specinfra/processor'
|
11
|
+
|
12
|
+
module Specinfra
|
13
|
+
class << self
|
14
|
+
def configuration
|
15
|
+
Specinfra::Configuration
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class String
|
2
|
+
def to_snake_case
|
3
|
+
self.gsub(/::/, '/').
|
4
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
5
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
6
|
+
tr("-", "_").
|
7
|
+
downcase
|
8
|
+
end
|
9
|
+
|
10
|
+
def to_camel_case
|
11
|
+
return self if self !~ /_/ && self =~ /[A-Z]+.*/
|
12
|
+
split('_').map{|e| e.capitalize}.join
|
13
|
+
end
|
14
|
+
end
|
@@ -1,19 +1,21 @@
|
|
1
|
-
module Specinfra
|
2
|
-
|
3
|
-
|
4
|
-
self.
|
5
|
-
|
1
|
+
module Specinfra
|
2
|
+
module Helper
|
3
|
+
class DetectOs
|
4
|
+
def self.detect
|
5
|
+
self.new(Specinfra.backend).detect
|
6
|
+
end
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
def initialize(backend)
|
9
|
+
@backend = backend
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
def run_command(cmd)
|
13
|
+
@backend.run_command(cmd)
|
14
|
+
end
|
14
15
|
|
15
|
-
|
16
|
-
|
16
|
+
def detect
|
17
|
+
raise NotImplementedError
|
18
|
+
end
|
17
19
|
end
|
18
20
|
end
|
19
21
|
end
|
data/lib/specinfra/helper/os.rb
CHANGED
@@ -1,23 +1,28 @@
|
|
1
1
|
require 'specinfra/helper/detect_os'
|
2
2
|
|
3
|
-
module Specinfra
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
module Specinfra
|
4
|
+
module Helper
|
5
|
+
module Os
|
6
|
+
def os
|
7
|
+
property[:os] = {} if ! property[:os]
|
8
|
+
if ! property[:os].include?(:family)
|
9
|
+
property[:os] = detect_os
|
10
|
+
end
|
11
|
+
property[:os]
|
12
|
+
end
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
private
|
15
|
+
def detect_os
|
16
|
+
return Specinfra.configuration.os if Specinfra.configuration.os
|
17
|
+
Specinfra::Helper::DetectOs.subclasses.each do |c|
|
18
|
+
res = c.detect
|
19
|
+
if res
|
20
|
+
res[:arch] ||= Specinfra.backend.run_command('uname -m').stdout.strip
|
21
|
+
return res
|
22
|
+
end
|
23
|
+
end
|
20
24
|
end
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
28
|
+
|
data/lib/specinfra/helper/set.rb
CHANGED
data/lib/specinfra/version.rb
CHANGED
data/lib/specinfra.rb
CHANGED
@@ -1,21 +1,9 @@
|
|
1
|
-
require 'specinfra/
|
2
|
-
require 'specinfra/helper'
|
3
|
-
require 'specinfra/backend'
|
4
|
-
require 'specinfra/command'
|
5
|
-
require 'specinfra/command_factory'
|
6
|
-
require 'specinfra/command_result'
|
7
|
-
require 'specinfra/configuration'
|
8
|
-
require 'specinfra/runner'
|
9
|
-
require 'specinfra/processor'
|
1
|
+
require 'specinfra/core'
|
10
2
|
|
11
3
|
include Specinfra
|
12
4
|
|
13
5
|
module Specinfra
|
14
6
|
class << self
|
15
|
-
def configuration
|
16
|
-
Specinfra::Configuration
|
17
|
-
end
|
18
|
-
|
19
7
|
def command
|
20
8
|
Specinfra::CommandFactory.instance
|
21
9
|
end
|
@@ -52,28 +40,3 @@ if defined?(RSpec)
|
|
52
40
|
end
|
53
41
|
end
|
54
42
|
end
|
55
|
-
|
56
|
-
class Class
|
57
|
-
def subclasses
|
58
|
-
result = []
|
59
|
-
ObjectSpace.each_object(Class) do |k|
|
60
|
-
result << k if k < self
|
61
|
-
end
|
62
|
-
result
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
class String
|
67
|
-
def to_snake_case
|
68
|
-
self.gsub(/::/, '/').
|
69
|
-
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
70
|
-
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
71
|
-
tr("-", "_").
|
72
|
-
downcase
|
73
|
-
end
|
74
|
-
|
75
|
-
def to_camel_case
|
76
|
-
return self if self !~ /_/ && self =~ /[A-Z]+.*/
|
77
|
-
split('_').map{|e| e.capitalize}.join
|
78
|
-
end
|
79
|
-
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|
@@ -330,7 +330,11 @@ files:
|
|
330
330
|
- lib/specinfra/command_factory.rb
|
331
331
|
- lib/specinfra/command_result.rb
|
332
332
|
- lib/specinfra/configuration.rb
|
333
|
+
- lib/specinfra/core.rb
|
333
334
|
- lib/specinfra/ec2_metadata.rb
|
335
|
+
- lib/specinfra/ext.rb
|
336
|
+
- lib/specinfra/ext/class.rb
|
337
|
+
- lib/specinfra/ext/string.rb
|
334
338
|
- lib/specinfra/helper.rb
|
335
339
|
- lib/specinfra/helper/configuration.rb
|
336
340
|
- lib/specinfra/helper/detect_os.rb
|