rundock 0.5.4 → 0.5.7
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/.rubocop.yml +6 -0
- data/Rakefile +5 -5
- data/circle.yml +2 -0
- data/lib/rundock/backend.rb +7 -7
- data/lib/rundock/builder/backend_builder.rb +8 -8
- data/lib/rundock/builder/default_ssh_builder.rb +8 -6
- data/lib/rundock/builder/operation_builder.rb +5 -5
- data/lib/rundock/builder/target_group_builder.rb +9 -11
- data/lib/rundock/builder/task_builder.rb +8 -11
- data/lib/rundock/cli.rb +1 -1
- data/lib/rundock/ext/hash.rb +1 -1
- data/lib/rundock/gem/helper.rb +26 -0
- data/lib/rundock/gem/tasks.rb +2 -0
- data/lib/rundock/hook_factory.rb +5 -5
- data/lib/rundock/logger.rb +21 -21
- data/lib/rundock/operation_factory.rb +5 -5
- data/lib/rundock/plugin/operation/deploy.rb +10 -10
- data/lib/rundock/runner.rb +7 -5
- data/lib/rundock/version.rb +1 -1
- metadata +29 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8a23e3b42a6d06189c3ccedafbce905f5216e77
|
4
|
+
data.tar.gz: e8556f0984bb264a72ec144ff3995a4879f09d70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d98ebcc2c7b3dcf7ba6fa71d0c512f3d103a0bb0c823f6149527ee5c95cbf1073fb51453427ce4550b7b4ff6f2ed82cf358f17b845f3e54452cf5bc80df82309
|
7
|
+
data.tar.gz: 59f74b1b9a5e75559f19879669aa628c60c1f764167f05569724e5b72c2cf78eb285d0f8262e5b11a763d6b50b60c629f229eb385c4f528603598ed9e72a66f6
|
data/.rubocop.yml
CHANGED
data/Rakefile
CHANGED
@@ -67,11 +67,11 @@ def do_rundock_scenarios(platform)
|
|
67
67
|
end
|
68
68
|
|
69
69
|
Dir.glob(scenario_files_pattern).each do |scenario|
|
70
|
-
if scenario =~ /use_default_ssh/ && platform != 'localhost'
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
70
|
+
default_ssh_opt = if scenario =~ /use_default_ssh/ && platform != 'localhost'
|
71
|
+
" -d #{base_dir}/integration_default_ssh.yml"
|
72
|
+
else
|
73
|
+
''
|
74
|
+
end
|
75
75
|
|
76
76
|
options = ''
|
77
77
|
if scenario =~ %r{^*scenarios/(.*hooks_by_option)_scenario.yml$}
|
data/circle.yml
CHANGED
data/lib/rundock/backend.rb
CHANGED
@@ -65,8 +65,8 @@ module Rundock
|
|
65
65
|
Logger.formatter.indent do
|
66
66
|
Logger.debug("cwd: #{exec_options[:cwd]}") if exec_options[:cwd]
|
67
67
|
Logger.debug("sudo: #{exec_options[:sudo]}") if exec_options[:sudo]
|
68
|
-
Logger.error(
|
69
|
-
Logger.info(
|
68
|
+
Logger.error(result.stderr.strip) unless result.stderr.strip.blank?
|
69
|
+
Logger.info(result.stdout.strip) unless result.stdout.strip.blank?
|
70
70
|
Logger.debug("errexit: #{exec_options[:errexit]}")
|
71
71
|
Logger.debug("exit status: #{exit_status}")
|
72
72
|
end
|
@@ -111,11 +111,11 @@ module Rundock
|
|
111
111
|
private
|
112
112
|
|
113
113
|
def parse(options)
|
114
|
-
if options[:ssh_config] && FileTest.exists?(options[:ssh_config])
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
114
|
+
ssh_opts = if options[:ssh_config] && FileTest.exists?(options[:ssh_config])
|
115
|
+
Net::SSH::Config.for(options[:host], [options[:ssh_config]])
|
116
|
+
else
|
117
|
+
Net::SSH::Config.for(options[:host])
|
118
|
+
end
|
119
119
|
|
120
120
|
# priority = node_attributes > cli options
|
121
121
|
ssh_opts[:host_name] = options[:host]
|
@@ -55,14 +55,14 @@ module Rundock
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def parse_backend_type
|
58
|
-
if localhost? &&
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
58
|
+
backend_type = if localhost? &&
|
59
|
+
!@node_info[@nodename.to_sym][:ssh_opts][:port] &&
|
60
|
+
!@node_info[@nodename.to_sym][:ssh_opts][:user] &&
|
61
|
+
!@node_info[@nodename.to_sym][:ssh_opts][:ssh_config]
|
62
|
+
:local
|
63
|
+
else
|
64
|
+
:ssh
|
65
|
+
end
|
66
66
|
|
67
67
|
backend_type
|
68
68
|
end
|
@@ -3,7 +3,9 @@ require 'yaml'
|
|
3
3
|
module Rundock
|
4
4
|
module Builder
|
5
5
|
class DefaultSshBuilder < Base
|
6
|
-
|
6
|
+
RUNDOCK_PACKAGE_PATH = Gem::Specification.find_by_path('rundock')
|
7
|
+
PRESET_SSH_OPTIONS_DEFAULT_ROOT = RUNDOCK_PACKAGE_PATH.nil? ? '.' : RUNDOCK_PACKAGE_PATH.full_gem_path
|
8
|
+
PRESET_SSH_OPTIONS_DEFAULT_FILE_PATH = "#{PRESET_SSH_OPTIONS_DEFAULT_ROOT}/default_ssh.yml"
|
7
9
|
|
8
10
|
def initialize(options)
|
9
11
|
super(options)
|
@@ -12,11 +14,11 @@ module Rundock
|
|
12
14
|
def build
|
13
15
|
opts = {}
|
14
16
|
|
15
|
-
if @options[:default_ssh_opts] && FileTest.exist?(@options[:default_ssh_opts])
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
def_ssh_file = if @options[:default_ssh_opts] && FileTest.exist?(@options[:default_ssh_opts])
|
18
|
+
@options[:default_ssh_opts]
|
19
|
+
else
|
20
|
+
PRESET_SSH_OPTIONS_DEFAULT_FILE_PATH
|
21
|
+
end
|
20
22
|
|
21
23
|
File.open(def_ssh_file) do |f|
|
22
24
|
YAML.load_documents(f) do |y|
|
@@ -116,11 +116,11 @@ module Rundock
|
|
116
116
|
|
117
117
|
unless recursive
|
118
118
|
# apply cli options
|
119
|
-
if !cli_options.key?(:run_anyway)
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
119
|
+
node_attributes.errexit = if !cli_options.key?(:run_anyway)
|
120
|
+
true
|
121
|
+
else
|
122
|
+
!cli_options[:run_anyway]
|
123
|
+
end
|
124
124
|
node_attributes.dry_run = (cli_options && cli_options[:dry_run]) ? true : false
|
125
125
|
end
|
126
126
|
|
@@ -8,18 +8,16 @@ module Rundock
|
|
8
8
|
def build(scenario_targets)
|
9
9
|
targets = {} unless scenario_targets
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
Logger.warn("Targetgroup path is not available. (#{@options[:targetgroup]})")
|
20
|
-
end
|
11
|
+
return scenario_targets unless @options[:targetgroup]
|
12
|
+
|
13
|
+
if FileTest.exist?(@options[:targetgroup])
|
14
|
+
targets.merge!(YAML.load_file(@options[:targetgroup]).deep_symbolize_keys)
|
15
|
+
Logger.info("merged target file #{@options[:targetgroup]}")
|
16
|
+
elsif FileTest.exist?(DEFAULT_TARGET_GROUP_FILE_PATH)
|
17
|
+
Logger.warn("targetgroup file is not found. use #{DEFAULT_TARGET_GROUP_FILE_PATH}")
|
18
|
+
targets.merge!(YAML.load_file(DEFAULT_TARGET_GROUP_FILE_PATH).deep_symbolize_keys)
|
21
19
|
else
|
22
|
-
|
20
|
+
Logger.warn("Targetgroup path is not available. (#{@options[:targetgroup]})")
|
23
21
|
end
|
24
22
|
|
25
23
|
targets
|
@@ -8,18 +8,15 @@ module Rundock
|
|
8
8
|
def build(scenario_tasks)
|
9
9
|
tasks = {} unless scenario_tasks
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
else
|
19
|
-
Logger.warn("Task path is not available. (#{@options[:tasks]})")
|
20
|
-
end
|
11
|
+
return scenario_tasks unless @options[:tasks]
|
12
|
+
if FileTest.exist?(@options[:tasks])
|
13
|
+
tasks.merge!(YAML.load_file(@options[:tasks]).deep_symbolize_keys)
|
14
|
+
Logger.info("merged tasks file #{@options[:tasks]}")
|
15
|
+
elsif FileTest.exist?(DEFAULT_TASKS_FILE_PATH)
|
16
|
+
Logger.warn("tasks file is not found. use #{DEFAULT_TASKS_FILE_PATH}")
|
17
|
+
tasks.merge!(YAML.load_file(DEFAULT_TASKS_FILE_PATH).deep_symbolize_keys)
|
21
18
|
else
|
22
|
-
|
19
|
+
Logger.warn("Task path is not available. (#{@options[:tasks]})")
|
23
20
|
end
|
24
21
|
|
25
22
|
tasks
|
data/lib/rundock/cli.rb
CHANGED
data/lib/rundock/ext/hash.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'bundler/vendored_thor' unless defined?(Thor)
|
2
|
+
require 'bundler'
|
3
|
+
|
4
|
+
module Rundock
|
5
|
+
module Gem
|
6
|
+
class Helper < Bundler::GemHelper
|
7
|
+
def install
|
8
|
+
desc "Run rundock with default configuration"
|
9
|
+
task :rundock => 'rundock:do'
|
10
|
+
|
11
|
+
namespace :rundock do
|
12
|
+
desc 'Run rundock with scenariofile.(env:SCENARIO_FILE_PATH)'
|
13
|
+
task 'do' do
|
14
|
+
if ENV['SCENARIO_FILE_PATH']
|
15
|
+
system("rundock do #{ENV['SCENARIO_FILE_PATH']}")
|
16
|
+
else
|
17
|
+
system('rundock do')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
data/lib/rundock/hook_factory.rb
CHANGED
@@ -17,11 +17,11 @@ module Rundock
|
|
17
17
|
|
18
18
|
obj = nil
|
19
19
|
klass.split('::').map do |k|
|
20
|
-
if obj.nil?
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
obj = if obj.nil?
|
21
|
+
Kernel.const_get(k)
|
22
|
+
else
|
23
|
+
obj = obj.const_get(k)
|
24
|
+
end
|
25
25
|
end
|
26
26
|
|
27
27
|
hook = obj.new(name, attributes)
|
data/lib/rundock/logger.rb
CHANGED
@@ -101,22 +101,22 @@ module Rundock
|
|
101
101
|
end
|
102
102
|
|
103
103
|
def formatted_message(severity, datetime, progname, msg)
|
104
|
-
if !@show_header
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
104
|
+
out = if !@show_header
|
105
|
+
"%s\n" % [msg2str(msg)]
|
106
|
+
elsif !@date_header
|
107
|
+
"%5s: %s%s\n" % [
|
108
|
+
severity,
|
109
|
+
' ' * 2 * indent_depth,
|
110
|
+
msg2str(msg)]
|
111
|
+
elsif @short_header
|
112
|
+
"%s: %s%s\n" % [severity[0, 1], ' ' * 2 * indent_depth, msg2str(msg)]
|
113
|
+
else
|
114
|
+
"[%s] %5s: %s%s\n" % [
|
115
|
+
datetime.strftime('%Y-%m-%dT%H:%M:%S.%L'),
|
116
|
+
severity,
|
117
|
+
' ' * 2 * indent_depth,
|
118
|
+
msg2str(msg)]
|
119
|
+
end
|
120
120
|
|
121
121
|
out
|
122
122
|
end
|
@@ -135,10 +135,10 @@ module Rundock
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def colorize(msg, severity)
|
138
|
-
if @color
|
139
|
-
|
140
|
-
|
141
|
-
|
138
|
+
col = if @color
|
139
|
+
@color
|
140
|
+
else
|
141
|
+
case severity
|
142
142
|
when 'INFO'
|
143
143
|
:clear
|
144
144
|
when 'WARN'
|
@@ -148,7 +148,7 @@ module Rundock
|
|
148
148
|
else
|
149
149
|
:clear
|
150
150
|
end
|
151
|
-
|
151
|
+
end
|
152
152
|
|
153
153
|
ANSI.public_send(col) { msg }
|
154
154
|
end
|
@@ -17,11 +17,11 @@ module Rundock
|
|
17
17
|
|
18
18
|
obj = nil
|
19
19
|
klass.split('::').map do |k|
|
20
|
-
if obj.nil?
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
obj = if obj.nil?
|
21
|
+
Kernel.const_get(k)
|
22
|
+
else
|
23
|
+
obj.const_get(k)
|
24
|
+
end
|
25
25
|
end
|
26
26
|
|
27
27
|
operation = obj.new(instruction, attributes)
|
@@ -51,11 +51,11 @@ module Rundock
|
|
51
51
|
|
52
52
|
is_erb = opt.key?(:erb) && opt[:erb]
|
53
53
|
|
54
|
-
if opt.key?(:trim_mode)
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
54
|
+
trim_mode = if opt.key?(:trim_mode)
|
55
|
+
opt[:trim_mode]
|
56
|
+
else
|
57
|
+
DEFAULT_TRIM_MODE
|
58
|
+
end
|
59
59
|
|
60
60
|
erb_options = ''
|
61
61
|
erb_options = " erb: true trim_mode: #{trim_mode}" if is_erb
|
@@ -63,11 +63,11 @@ module Rundock
|
|
63
63
|
Logger.info("deploy localhost: #{opt[:src]} remote:#{attributes[:nodeinfo][:host]}:#{opt[:dst]}#{erb_options}")
|
64
64
|
Logger.debug("deploy erb binding: #{opt[:binding]}") if is_erb
|
65
65
|
|
66
|
-
if is_erb
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
66
|
+
val_binding = if is_erb
|
67
|
+
extract_map(backend, opt[:binding])
|
68
|
+
else
|
69
|
+
{}
|
70
|
+
end
|
71
71
|
|
72
72
|
if is_erb
|
73
73
|
erb_content = conv_erb(opt[:src], trim_mode, val_binding)
|
data/lib/rundock/runner.rb
CHANGED
@@ -29,11 +29,13 @@ module Rundock
|
|
29
29
|
|
30
30
|
def build(options)
|
31
31
|
if options[:scenario] || options[:targetgroup]
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
raise ScenarioNotFoundError,
|
33
|
+
"'#{options[:scenario]}' scenario file is not found." if options[:scenario] &&
|
34
|
+
!FileTest.exist?(options[:scenario])
|
35
|
+
raise ScenarioNotFoundError,
|
36
|
+
"'#{options[:targetgroup]}' targetgroup file is not found." if options[:command] &&
|
37
|
+
options[:targetgroup] &&
|
38
|
+
!FileTest.exist?(options[:targetgroup])
|
37
39
|
|
38
40
|
options[:scenario] = options[:targetgroup] if options[:command] && options[:targetgroup]
|
39
41
|
|
data/lib/rundock/version.rb
CHANGED
metadata
CHANGED
@@ -1,131 +1,131 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rundock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- hiracy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.9'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: serverspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '2.1'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rubocop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: specinfra
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 2.31.0
|
76
|
-
- - <
|
76
|
+
- - "<"
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: 3.0.0
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: 2.31.0
|
86
|
-
- - <
|
86
|
+
- - "<"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 3.0.0
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: ansi
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- -
|
93
|
+
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '0'
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: thor
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- -
|
107
|
+
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- -
|
114
|
+
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: net-ssh
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- -
|
121
|
+
- - ">="
|
122
122
|
- !ruby/object:Gem::Version
|
123
123
|
version: '0'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- -
|
128
|
+
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
131
|
description:
|
@@ -136,10 +136,10 @@ executables:
|
|
136
136
|
extensions: []
|
137
137
|
extra_rdoc_files: []
|
138
138
|
files:
|
139
|
-
- .gitignore
|
140
|
-
- .rspec
|
141
|
-
- .rubocop.yml
|
142
|
-
- .travis.yml
|
139
|
+
- ".gitignore"
|
140
|
+
- ".rspec"
|
141
|
+
- ".rubocop.yml"
|
142
|
+
- ".travis.yml"
|
143
143
|
- CHANGELOG.md
|
144
144
|
- Gemfile
|
145
145
|
- LICENSE
|
@@ -167,6 +167,8 @@ files:
|
|
167
167
|
- lib/rundock/cli.rb
|
168
168
|
- lib/rundock/ext/hash.rb
|
169
169
|
- lib/rundock/ext/object/blank.rb
|
170
|
+
- lib/rundock/gem/helper.rb
|
171
|
+
- lib/rundock/gem/tasks.rb
|
170
172
|
- lib/rundock/hook/base.rb
|
171
173
|
- lib/rundock/hook_factory.rb
|
172
174
|
- lib/rundock/logger.rb
|
@@ -242,17 +244,17 @@ require_paths:
|
|
242
244
|
- lib
|
243
245
|
required_ruby_version: !ruby/object:Gem::Requirement
|
244
246
|
requirements:
|
245
|
-
- -
|
247
|
+
- - ">="
|
246
248
|
- !ruby/object:Gem::Version
|
247
249
|
version: '0'
|
248
250
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
251
|
requirements:
|
250
|
-
- -
|
252
|
+
- - ">="
|
251
253
|
- !ruby/object:Gem::Version
|
252
254
|
version: '0'
|
253
255
|
requirements: []
|
254
256
|
rubyforge_project:
|
255
|
-
rubygems_version: 2.
|
257
|
+
rubygems_version: 2.6.3
|
256
258
|
signing_key:
|
257
259
|
specification_version: 4
|
258
260
|
summary: Simple and extensible server orchestration framework
|