kafo 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of kafo might be problematic. Click here for more details.
- data/bin/kafo-configure +2 -1
- data/bin/kafofy +2 -1
- data/lib/kafo/configuration.rb +14 -5
- data/lib/kafo/kafo_configure.rb +72 -28
- data/lib/kafo/logger.rb +28 -4
- data/lib/kafo/param.rb +8 -0
- data/lib/kafo/param_builder.rb +2 -0
- data/lib/kafo/progress_bar.rb +21 -6
- data/lib/kafo/progress_bars/black_white.rb +15 -0
- data/lib/kafo/progress_bars/colored.rb +26 -0
- data/lib/kafo/puppet_command.rb +1 -1
- data/lib/kafo/puppet_module.rb +5 -1
- data/lib/kafo/validator.rb +1 -1
- data/lib/kafo/version.rb +1 -1
- metadata +157 -131
- checksums.yaml +0 -7
data/bin/kafo-configure
CHANGED
data/bin/kafofy
CHANGED
@@ -24,7 +24,8 @@ if ARGV.size > 0
|
|
24
24
|
require 'rubygems'
|
25
25
|
require 'kafo'
|
26
26
|
CONFIG_FILE = "/etc/#{name}/#{name}.yaml"
|
27
|
-
KafoConfigure.run
|
27
|
+
result = KafoConfigure.run
|
28
|
+
exit result.nil? ? 0 : result.exit_code
|
28
29
|
EOS
|
29
30
|
File.open(script_name, 'w') { |file| file.write(content) }
|
30
31
|
FileUtils.chmod 0755, script_name
|
data/lib/kafo/configuration.rb
CHANGED
@@ -6,22 +6,27 @@ require 'kafo/password_manager'
|
|
6
6
|
class Configuration
|
7
7
|
attr_reader :config_file, :answer_file
|
8
8
|
|
9
|
+
def self.colors_possible?
|
10
|
+
!`which tput 2> /dev/null`.empty? && `tput colors`.to_i > 0
|
11
|
+
end
|
12
|
+
|
9
13
|
DEFAULT = {
|
10
14
|
:log_dir => '/var/log/kafo',
|
11
|
-
:log_level =>
|
15
|
+
:log_level => 'info',
|
12
16
|
:no_prefix => false,
|
13
17
|
:mapping => {},
|
14
18
|
:answer_file => '/etc/kafo/kafo.yaml',
|
15
19
|
:installer_dir => '.',
|
16
20
|
:modules_dir => './modules',
|
17
|
-
:default_values_dir => '/tmp'
|
21
|
+
:default_values_dir => '/tmp',
|
22
|
+
:colors => Configuration.colors_possible?
|
18
23
|
}
|
19
24
|
|
20
25
|
def initialize(file, persist = true)
|
21
26
|
@config_file = file
|
22
27
|
@persist = persist
|
23
28
|
configure_application
|
24
|
-
@logger =
|
29
|
+
@logger = KafoConfigure.logger
|
25
30
|
|
26
31
|
@answer_file = app[:answer_file]
|
27
32
|
begin
|
@@ -38,7 +43,7 @@ class Configuration
|
|
38
43
|
return true unless @persist
|
39
44
|
FileUtils.touch @config_file
|
40
45
|
File.chmod 0600, @config_file
|
41
|
-
File.open(@config_file, 'w') { |file| file.write(YAML.dump(configuration)) }
|
46
|
+
File.open(@config_file, 'w') { |file| file.write(format(YAML.dump(configuration))) }
|
42
47
|
end
|
43
48
|
|
44
49
|
def configure_application
|
@@ -101,7 +106,7 @@ class Configuration
|
|
101
106
|
filename = file || answer_file
|
102
107
|
FileUtils.touch filename
|
103
108
|
File.chmod 0600, filename
|
104
|
-
File.open(filename, 'w') { |file| file.write(config_header + YAML.dump(data)) }
|
109
|
+
File.open(filename, 'w') { |file| file.write(config_header + format(YAML.dump(data))) }
|
105
110
|
end
|
106
111
|
|
107
112
|
private
|
@@ -115,4 +120,8 @@ class Configuration
|
|
115
120
|
params = params.select { |p| p.default != 'UNSET' }
|
116
121
|
params.map { |param| "#{param.default}" }.join(',')
|
117
122
|
end
|
123
|
+
|
124
|
+
def format(data)
|
125
|
+
data.gsub('!ruby/sym ', ':')
|
126
|
+
end
|
118
127
|
end
|
data/lib/kafo/kafo_configure.rb
CHANGED
@@ -13,14 +13,14 @@ require 'kafo/progress_bar'
|
|
13
13
|
|
14
14
|
class KafoConfigure < Clamp::Command
|
15
15
|
include StringHelper
|
16
|
-
attr_reader :logger
|
17
16
|
|
18
17
|
class << self
|
19
18
|
attr_accessor :config, :root_dir, :config_file, :gem_root, :temp_config_file,
|
20
|
-
:modules_dir, :kafo_modules_dir, :verbose
|
19
|
+
:modules_dir, :kafo_modules_dir, :verbose, :app_options, :logger
|
21
20
|
end
|
22
21
|
|
23
22
|
def initialize(*args)
|
23
|
+
self.class.logger = Logger.new
|
24
24
|
self.class.config_file = config_file
|
25
25
|
self.class.config = Configuration.new(self.class.config_file)
|
26
26
|
self.class.root_dir = File.expand_path(self.class.config.app[:installer_dir])
|
@@ -28,11 +28,20 @@ class KafoConfigure < Clamp::Command
|
|
28
28
|
self.class.modules_dir = File.expand_path(modules_dir)
|
29
29
|
self.class.gem_root = File.join(File.dirname(__FILE__), '../../')
|
30
30
|
self.class.kafo_modules_dir = self.class.config.app[:kafo_modules_dir] || (self.class.gem_root + '/modules')
|
31
|
-
Logger.setup
|
32
|
-
@logger = Logging.logger.root
|
33
31
|
@progress_bar = nil
|
32
|
+
|
34
33
|
super
|
35
|
-
|
34
|
+
|
35
|
+
set_app_options
|
36
|
+
allowed = self.class.app_options.map(&:switches).flatten
|
37
|
+
allowed.map! { |s| s.include?('[no-]') ? [s.sub('[no-]', ''), s.sub('[no-]', 'no-')] : s }.flatten!
|
38
|
+
# we need to parse app config params using clamp even before run method does it
|
39
|
+
# so we limit parsing only to app config options (because of --help and later defined params)
|
40
|
+
parse ARGV.select { |a| a =~ /([a-zA-Z0-9_-]*)([= ].*)?/ && allowed.include?($1) }
|
41
|
+
parse_app_arguments
|
42
|
+
Logger.setup
|
43
|
+
|
44
|
+
set_parameters # here the params gets parsed and we need app config populated
|
36
45
|
set_options
|
37
46
|
end
|
38
47
|
|
@@ -45,9 +54,9 @@ class KafoConfigure < Clamp::Command
|
|
45
54
|
parse_cli_arguments
|
46
55
|
|
47
56
|
if (self.class.verbose = verbose?)
|
48
|
-
|
57
|
+
Logger.setup_verbose
|
49
58
|
else
|
50
|
-
@progress_bar =
|
59
|
+
@progress_bar = self.class.config.app[:colors] ? ProgressBars::Colored.new : ProgressBars::BlackWhite.new
|
51
60
|
end
|
52
61
|
|
53
62
|
unless SystemChecker.check
|
@@ -111,6 +120,12 @@ class KafoConfigure < Clamp::Command
|
|
111
120
|
end
|
112
121
|
end
|
113
122
|
|
123
|
+
def self.app_option(*args, &block)
|
124
|
+
self.app_options ||= []
|
125
|
+
self.app_options.push self.option(*args, &block)
|
126
|
+
self.app_options.last
|
127
|
+
end
|
128
|
+
|
114
129
|
def params
|
115
130
|
@params ||= modules.map(&:params).flatten
|
116
131
|
rescue ModuleName => e
|
@@ -119,7 +134,7 @@ class KafoConfigure < Clamp::Command
|
|
119
134
|
end
|
120
135
|
|
121
136
|
def modules
|
122
|
-
config.modules
|
137
|
+
config.modules.sort
|
123
138
|
end
|
124
139
|
|
125
140
|
def module(name)
|
@@ -132,6 +147,10 @@ class KafoConfigure < Clamp::Command
|
|
132
147
|
|
133
148
|
private
|
134
149
|
|
150
|
+
def logger
|
151
|
+
self.class.logger
|
152
|
+
end
|
153
|
+
|
135
154
|
def exit(code)
|
136
155
|
self.class.exit(code)
|
137
156
|
end
|
@@ -145,27 +164,47 @@ class KafoConfigure < Clamp::Command
|
|
145
164
|
end
|
146
165
|
end
|
147
166
|
|
148
|
-
def
|
149
|
-
self.class.
|
150
|
-
|
151
|
-
self.class.
|
152
|
-
|
153
|
-
|
167
|
+
def set_app_options
|
168
|
+
self.class.app_option ['--[no-]colors'], :flag, 'Use color output on STDOUT',
|
169
|
+
:default => !!config.app[:colors]
|
170
|
+
self.class.app_option ['-d', '--dont-save-answers'], :flag, 'Skip saving answers to answers.yaml?',
|
171
|
+
:default => !!config.app[:dont_save_answers]
|
172
|
+
self.class.app_option '--ignore-undocumented', :flag, 'Ignore inconsistent parameters documentation',
|
173
|
+
:default => false
|
174
|
+
self.class.app_option ['-i', '--interactive'], :flag, 'Run in interactive mode'
|
175
|
+
self.class.app_option '--log-level', 'LEVEL', 'Log level for log file output',
|
176
|
+
:default => config.app[:log_level]
|
177
|
+
self.class.app_option ['-n', '--noop'], :flag, 'Run puppet in noop mode?',
|
178
|
+
:default => false
|
179
|
+
self.class.app_option ['-v', '--verbose'], :flag, 'Display log on STDOUT instead of progressbar'
|
180
|
+
self.class.app_option ['-l', '--verbose-log-level'], 'LEVEL', 'Log level for verbose mode output',
|
181
|
+
:default => 'info'
|
182
|
+
end
|
154
183
|
|
155
|
-
|
184
|
+
def set_options
|
185
|
+
modules.each do |mod|
|
156
186
|
self.class.option d("--[no-]enable-#{mod.name}"),
|
157
187
|
:flag,
|
158
188
|
"Enable puppet module #{mod.name}?",
|
159
189
|
:default => mod.enabled?
|
160
190
|
end
|
161
191
|
|
162
|
-
params.each do |param|
|
192
|
+
params.sort.each do |param|
|
163
193
|
doc = param.doc.nil? ? 'UNDOCUMENTED' : param.doc.join("\n")
|
164
194
|
self.class.option parametrize(param), '', doc,
|
165
195
|
:default => param.value, :multivalued => param.multivalued?
|
166
196
|
end
|
167
197
|
end
|
168
198
|
|
199
|
+
def parse_app_arguments
|
200
|
+
self.class.app_options.each do |option|
|
201
|
+
name = option.attribute_name
|
202
|
+
name = "#{name}?" if option.flag?
|
203
|
+
value = send(name)
|
204
|
+
config.app[name.to_sym] = value.nil? ? option.default_value : value
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
169
208
|
def parse_cli_arguments
|
170
209
|
# enable/disable modules according to CLI
|
171
210
|
config.modules.each { |mod| send("enable_#{mod.name}?") ? mod.enable : mod.disable }
|
@@ -188,7 +227,7 @@ class KafoConfigure < Clamp::Command
|
|
188
227
|
logger.info 'Running validation checks'
|
189
228
|
results = params.map do |param|
|
190
229
|
result = param.valid?
|
191
|
-
|
230
|
+
progress_log(:error, "Parameter #{with_prefix(param)} invalid") if logging && !result
|
192
231
|
result
|
193
232
|
end
|
194
233
|
results.all?
|
@@ -196,6 +235,7 @@ class KafoConfigure < Clamp::Command
|
|
196
235
|
|
197
236
|
def run_installation
|
198
237
|
exit_code = 0
|
238
|
+
exit_status = nil
|
199
239
|
options = [
|
200
240
|
'--verbose',
|
201
241
|
'--debug',
|
@@ -209,19 +249,23 @@ class KafoConfigure < Clamp::Command
|
|
209
249
|
PTY.spawn(command) do |stdin, stdout, pid|
|
210
250
|
begin
|
211
251
|
stdin.each do |line|
|
212
|
-
|
252
|
+
progress_log(*puppet_parse(line))
|
213
253
|
@progress_bar.update(line) if @progress_bar
|
214
254
|
end
|
215
|
-
rescue Errno::EIO
|
216
|
-
if PTY.respond_to?(:check) # ruby >= 1.9.2
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
255
|
+
rescue Errno::EIO # we reach end of input
|
256
|
+
exit_status = PTY.check(pid, true) if PTY.respond_to?(:check) # ruby >= 1.9.2
|
257
|
+
if exit_status.nil? # process is still running or we have old ruby so we don't know
|
258
|
+
begin
|
259
|
+
Process.wait(pid)
|
260
|
+
rescue Errno::ECHILD # process could exit meanwhile so we rescue
|
261
|
+
end
|
262
|
+
exit_code = $?.exitstatus # after check $? should be set correctly
|
263
|
+
else # this should never happen (unless they change PTY.check behavior) in new ruby
|
264
|
+
exit_code = exit_code.exitstatus
|
221
265
|
end
|
222
266
|
end
|
223
267
|
end
|
224
|
-
rescue PTY::ChildExited => e
|
268
|
+
rescue PTY::ChildExited => e # could be raised by Process.wait on older ruby or by PTY.check
|
225
269
|
exit_code = e.status.exitstatus
|
226
270
|
end
|
227
271
|
@progress_bar.close if @progress_bar
|
@@ -230,9 +274,9 @@ class KafoConfigure < Clamp::Command
|
|
230
274
|
exit(exit_code)
|
231
275
|
end
|
232
276
|
|
233
|
-
def
|
234
|
-
@progress_bar.
|
235
|
-
|
277
|
+
def progress_log(method, message)
|
278
|
+
@progress_bar.print_error(message + "\n") if method == :error && @progress_bar
|
279
|
+
logger.send(method, message)
|
236
280
|
end
|
237
281
|
|
238
282
|
def puppet_parse(line)
|
data/lib/kafo/logger.rb
CHANGED
@@ -3,7 +3,11 @@ require 'fileutils'
|
|
3
3
|
require 'logging'
|
4
4
|
|
5
5
|
class Logger
|
6
|
-
|
6
|
+
class << self
|
7
|
+
attr_accessor :loggers
|
8
|
+
end
|
9
|
+
|
10
|
+
PATTERN = "[%5l %d %c] %m\n"
|
7
11
|
Logging.color_scheme('bright',
|
8
12
|
:levels => {
|
9
13
|
:info => :green,
|
@@ -17,8 +21,8 @@ class Logger
|
|
17
21
|
:file => :yellow,
|
18
22
|
:method => :yellow
|
19
23
|
)
|
20
|
-
COLOR_LAYOUT = Logging::Layouts::Pattern.new(:pattern =>
|
21
|
-
NOCOLOR_LAYOUT = Logging::Layouts::Pattern.new(:pattern =>
|
24
|
+
COLOR_LAYOUT = Logging::Layouts::Pattern.new(:pattern => PATTERN, :color_scheme => 'bright')
|
25
|
+
NOCOLOR_LAYOUT = Logging::Layouts::Pattern.new(:pattern => PATTERN, :color_scheme => nil)
|
22
26
|
|
23
27
|
def self.setup
|
24
28
|
begin
|
@@ -27,7 +31,7 @@ class Logger
|
|
27
31
|
puts "No permissions to create log dir #{KafoConfigure.config.app[:log_dir]}"
|
28
32
|
end
|
29
33
|
|
30
|
-
logger = Logging.logger
|
34
|
+
logger = Logging.logger['main']
|
31
35
|
filename = "#{KafoConfigure.config.app[:log_dir]}/#{KafoConfigure.config.app[:log_name] || 'configure.log'}"
|
32
36
|
begin
|
33
37
|
logger.appenders = ::Logging.appenders.rolling_file('configure',
|
@@ -42,5 +46,25 @@ class Logger
|
|
42
46
|
end
|
43
47
|
|
44
48
|
logger.level = KafoConfigure.config.app[:log_level]
|
49
|
+
self.loggers = [logger]
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.setup_verbose
|
53
|
+
logger = Logging.logger['verbose']
|
54
|
+
logger.level = KafoConfigure.config.app[:verbose_log_level]
|
55
|
+
layout = KafoConfigure.config.app[:colors] ? COLOR_LAYOUT : NOCOLOR_LAYOUT
|
56
|
+
logger.appenders = [::Logging.appenders.stdout(:layout => layout)]
|
57
|
+
self.loggers<< logger
|
58
|
+
end
|
59
|
+
|
60
|
+
# proxy to all loggers we have setup
|
61
|
+
def method_missing(*args, &block)
|
62
|
+
self.class.loggers.each do |logger|
|
63
|
+
logger.send *args, &block
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def respond_to?(*args, &block)
|
68
|
+
self.class.loggers.first.respond_to? *args, &block
|
45
69
|
end
|
46
70
|
end
|
data/lib/kafo/param.rb
CHANGED
@@ -70,6 +70,14 @@ class Param
|
|
70
70
|
def multivalued?
|
71
71
|
false
|
72
72
|
end
|
73
|
+
|
74
|
+
def <=> o
|
75
|
+
unless KafoConfigure.config.app[:no_prefix]
|
76
|
+
r = self.module_name <=> o.module_name
|
77
|
+
return r unless r == 0
|
78
|
+
end
|
79
|
+
self.name <=> o.name
|
80
|
+
end
|
73
81
|
end
|
74
82
|
|
75
83
|
require 'kafo/params/boolean'
|
data/lib/kafo/param_builder.rb
CHANGED
data/lib/kafo/progress_bar.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
require 'powerbar'
|
2
2
|
require 'ansi/code'
|
3
3
|
|
4
|
+
# Progress bar base class
|
5
|
+
#
|
6
|
+
# To define new progress bar you can inherit from this class and implement
|
7
|
+
# #finite_template and #infinite_template methods. Also you may find useful to
|
8
|
+
# change more methods like #done_message or #print_error
|
4
9
|
class ProgressBar
|
5
10
|
def initialize
|
6
11
|
@lines = 0
|
@@ -28,7 +33,7 @@ class ProgressBar
|
|
28
33
|
end
|
29
34
|
|
30
35
|
def close
|
31
|
-
@bar.show({ :msg =>
|
36
|
+
@bar.show({ :msg => done_message,
|
32
37
|
:done => @total == :unknown ? @bar.done + 1 : @total,
|
33
38
|
:total => @total }, true)
|
34
39
|
@bar.close
|
@@ -38,20 +43,30 @@ class ProgressBar
|
|
38
43
|
@bar.print line
|
39
44
|
end
|
40
45
|
|
46
|
+
def print_error(line)
|
47
|
+
print line
|
48
|
+
end
|
49
|
+
|
41
50
|
private
|
42
51
|
|
52
|
+
def done_message
|
53
|
+
text = 'Done'
|
54
|
+
text + (' ' * (50 - text.length))
|
55
|
+
end
|
56
|
+
|
43
57
|
def format(line)
|
44
58
|
(line.tr("\r\n", '') + (' ' * 50))[0..49]
|
45
59
|
end
|
46
60
|
|
47
61
|
def finite_template
|
48
|
-
'Installing'
|
49
|
-
ANSI::Code.yellow { ' ${<msg>}' } +
|
50
|
-
ANSI::Code.green { ' [${<percent>%}]' } +
|
51
|
-
' [${<bar>}]'
|
62
|
+
'Installing... [${<percent>%}]'
|
52
63
|
end
|
53
64
|
|
54
65
|
def infinite_template
|
55
|
-
'
|
66
|
+
'Installing...'
|
56
67
|
end
|
68
|
+
|
57
69
|
end
|
70
|
+
|
71
|
+
require 'kafo/progress_bars/colored'
|
72
|
+
require 'kafo/progress_bars/black_white'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module ProgressBars
|
2
|
+
class Colored < ProgressBar
|
3
|
+
|
4
|
+
def print_error(line)
|
5
|
+
print ANSI::Code.red { line }
|
6
|
+
end
|
7
|
+
|
8
|
+
private
|
9
|
+
|
10
|
+
def done_message
|
11
|
+
ANSI::Code.green { super }
|
12
|
+
end
|
13
|
+
|
14
|
+
def finite_template
|
15
|
+
'Installing'.ljust(22) +
|
16
|
+
ANSI::Code.yellow { ' ${<msg>}' } +
|
17
|
+
ANSI::Code.green { ' [${<percent>%}]' } +
|
18
|
+
' [${<bar>}]'
|
19
|
+
end
|
20
|
+
|
21
|
+
def infinite_template
|
22
|
+
'Preparing installation' + ANSI::Code.yellow { ' ${<msg>}' }
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
data/lib/kafo/puppet_command.rb
CHANGED
data/lib/kafo/puppet_module.rb
CHANGED
@@ -16,7 +16,7 @@ class PuppetModule
|
|
16
16
|
@manifest_path = File.join(KafoConfigure.root_dir, '/modules/', module_manifest_path)
|
17
17
|
@parser = parser
|
18
18
|
@validations = []
|
19
|
-
@logger =
|
19
|
+
@logger = KafoConfigure.logger
|
20
20
|
end
|
21
21
|
|
22
22
|
def enabled?
|
@@ -61,6 +61,10 @@ class PuppetModule
|
|
61
61
|
Hash[params.map { |param| [param.name, param.value] }]
|
62
62
|
end
|
63
63
|
|
64
|
+
def <=> o
|
65
|
+
self.name <=> o.name
|
66
|
+
end
|
67
|
+
|
64
68
|
private
|
65
69
|
|
66
70
|
# mapping from configuration with stringified keys
|
data/lib/kafo/validator.rb
CHANGED
data/lib/kafo/version.rb
CHANGED
metadata
CHANGED
@@ -1,151 +1,166 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: kafo
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
5
11
|
platform: ruby
|
6
|
-
authors:
|
12
|
+
authors:
|
7
13
|
- Marek Hulan
|
8
14
|
autorequire:
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
17
|
+
|
18
|
+
date: 2013-10-07 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
14
22
|
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.3'
|
20
|
-
type: :development
|
21
23
|
prerelease: false
|
22
|
-
|
23
|
-
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
24
27
|
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
- - '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 9
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 3
|
33
|
+
version: "1.3"
|
34
34
|
type: :development
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rake
|
35
38
|
prerelease: false
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 4.7.5
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
version: "0"
|
48
48
|
type: :development
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: minitest
|
49
52
|
prerelease: false
|
50
|
-
|
51
|
-
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
55
|
+
requirements:
|
52
56
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 41
|
59
|
+
segments:
|
60
|
+
- 4
|
61
|
+
- 7
|
62
|
+
- 5
|
54
63
|
version: 4.7.5
|
55
|
-
|
64
|
+
type: :development
|
65
|
+
version_requirements: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
56
67
|
name: puppet
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
68
|
prerelease: false
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
- - '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 3.9.0
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 3
|
75
|
+
segments:
|
76
|
+
- 0
|
77
|
+
version: "0"
|
76
78
|
type: :runtime
|
79
|
+
version_requirements: *id004
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rdoc
|
77
82
|
prerelease: false
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
hash: 35
|
89
|
+
segments:
|
90
|
+
- 3
|
91
|
+
- 9
|
92
|
+
- 0
|
82
93
|
version: 3.9.0
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: logging
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - '>='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
94
|
type: :runtime
|
95
|
+
version_requirements: *id005
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: logging
|
91
98
|
prerelease: false
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
- - '>='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
99
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 3
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
version: "0"
|
104
108
|
type: :runtime
|
109
|
+
version_requirements: *id006
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: clamp
|
105
112
|
prerelease: false
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
- - '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
113
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
hash: 3
|
119
|
+
segments:
|
120
|
+
- 0
|
121
|
+
version: "0"
|
118
122
|
type: :runtime
|
123
|
+
version_requirements: *id007
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: highline
|
119
126
|
prerelease: false
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
- - '>='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
127
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
version: "0"
|
132
136
|
type: :runtime
|
137
|
+
version_requirements: *id008
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: powerbar
|
133
140
|
prerelease: false
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
141
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
142
|
+
none: false
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
hash: 3
|
147
|
+
segments:
|
148
|
+
- 0
|
149
|
+
version: "0"
|
150
|
+
type: :runtime
|
151
|
+
version_requirements: *id009
|
139
152
|
description: A gem for making installations based on puppet user friendly
|
140
|
-
email:
|
153
|
+
email:
|
141
154
|
- ares@igloonet.cz
|
142
|
-
executables:
|
155
|
+
executables:
|
143
156
|
- kafo-configure
|
144
157
|
- kafo-export-params
|
145
158
|
- kafofy
|
146
159
|
extensions: []
|
160
|
+
|
147
161
|
extra_rdoc_files: []
|
148
|
-
|
162
|
+
|
163
|
+
files:
|
149
164
|
- bin/kafo-configure
|
150
165
|
- bin/kafo-export-params
|
151
166
|
- bin/kafofy
|
@@ -169,6 +184,8 @@ files:
|
|
169
184
|
- lib/kafo/kafo_configure.rb
|
170
185
|
- lib/kafo/string_helper.rb
|
171
186
|
- lib/kafo/logger.rb
|
187
|
+
- lib/kafo/progress_bars/colored.rb
|
188
|
+
- lib/kafo/progress_bars/black_white.rb
|
172
189
|
- lib/kafo/param.rb
|
173
190
|
- lib/kafo/version.rb
|
174
191
|
- lib/kafo/param_builder.rb
|
@@ -198,30 +215,39 @@ files:
|
|
198
215
|
- LICENSE.txt
|
199
216
|
- Rakefile
|
200
217
|
- README.md
|
218
|
+
has_rdoc: true
|
201
219
|
homepage: https://github.com/theforeman/kafo
|
202
|
-
licenses:
|
220
|
+
licenses:
|
203
221
|
- GPLv3+
|
204
|
-
metadata: {}
|
205
222
|
post_install_message:
|
206
223
|
rdoc_options: []
|
207
|
-
|
224
|
+
|
225
|
+
require_paths:
|
208
226
|
- lib
|
209
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
227
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
228
|
+
none: false
|
229
|
+
requirements:
|
230
|
+
- - ">="
|
231
|
+
- !ruby/object:Gem::Version
|
232
|
+
hash: 3
|
233
|
+
segments:
|
234
|
+
- 0
|
235
|
+
version: "0"
|
236
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
237
|
+
none: false
|
238
|
+
requirements:
|
239
|
+
- - ">="
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
hash: 3
|
242
|
+
segments:
|
243
|
+
- 0
|
244
|
+
version: "0"
|
219
245
|
requirements: []
|
246
|
+
|
220
247
|
rubyforge_project:
|
221
|
-
rubygems_version:
|
248
|
+
rubygems_version: 1.6.2
|
222
249
|
signing_key:
|
223
|
-
specification_version:
|
224
|
-
summary: If you write puppet modules for installing your software, you can use kafo
|
225
|
-
to create powerful installer
|
250
|
+
specification_version: 3
|
251
|
+
summary: If you write puppet modules for installing your software, you can use kafo to create powerful installer
|
226
252
|
test_files: []
|
227
|
-
|
253
|
+
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 7a0d5d908f8ea926b840cdd83bf863de5c3acd2a
|
4
|
-
data.tar.gz: 34fb06c977764e7548ec837640e781a6599b8fe8
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 7f5b4cce32ae6eafb2b02397acdf830a8745c4c32ca465f76519de55b44ea0e6df3a2db6f6ef194f452b871c5c316a7497cde0f731ef0c438c287363d26f3b15
|
7
|
-
data.tar.gz: 48f445d23ff5c7026b5876627a4fd4b7480779b37ebca3394af4b396290a61d6413eb2c3a7b0dd49b52bd8b3ccaeae4c688edd889d07e590bfb553dc9b2dbbc0
|