kafo 0.5.1 → 0.5.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
  SHA1:
3
- metadata.gz: d66314335cab1f7223854cd213af5df4e5b87470
4
- data.tar.gz: 04b4fca288a0bb82066d2f11b97dd30503b60939
3
+ metadata.gz: 1e97bd2473d708bd19a6a85e1e4e861420697f58
4
+ data.tar.gz: c3d5788d32f73a7801f0474338c6916f5ac1c354
5
5
  SHA512:
6
- metadata.gz: 6c8900a003356457a5bddb2a96c1c87704b432411fccf2aebdcbb526b01ec69cea47fefdb0ab4dd44d57eaa8ed5504f7ed2ca065074fd0abc02c6dffbf0c4c78
7
- data.tar.gz: a23ae53d9c4bf40cb7b6c1f3d1f80a2cca2626ce50afe6a305ce10d7ad81b797d9b0436a0e788548af1d93901c1605dca7e60471ea69689c6d4f4dd3650706ae
6
+ metadata.gz: e3030707d7cec780ab60a04f7b08c50ec3ae481792ff091d96ab1f823561320ccf8100064aba7583cc561966ea91f0c62dd7c3ccc8cf484aedcfe6f21d7b5695
7
+ data.tar.gz: 841dc1c57a6332259e51e9e63e5ff065f5159b77416b6264d54b36381177a96e4f76bc9e7102ce9a7f673c8db387c96e0d83b43e32a39828f0b84dd43a9bf1b1
@@ -1,5 +1,6 @@
1
1
  # encoding: UTF-8
2
2
  require 'yaml'
3
+ require 'tmpdir'
3
4
  require 'kafo/puppet_module'
4
5
  require 'kafo/password_manager'
5
6
 
@@ -76,8 +77,11 @@ module Kafo
76
77
 
77
78
  def params_default_values
78
79
  @params_default_values ||= begin
80
+ @logger.debug "Creating tmp dir within #{app[:default_values_dir]}..."
81
+ temp_dir = Dir.mktmpdir(nil, app[:default_values_dir])
82
+ KafoConfigure.register_cleanup_path temp_dir
79
83
  @logger.info "Parsing default values from puppet modules..."
80
- command = PuppetCommand.new("#{includes} dump_values(#{params})").append('2>&1').command
84
+ command = PuppetCommand.new("$temp_dir=\"#{temp_dir}\" #{includes} dump_values(#{params})").append('2>&1').command
81
85
  @logger.debug `#{command}`
82
86
  unless $?.exitstatus == 0
83
87
  log = app[:log_dir] + '/' + app[:log_name]
@@ -86,7 +90,7 @@ module Kafo
86
90
  KafoConfigure.exit(:defaults_error)
87
91
  end
88
92
  @logger.info "... finished"
89
- YAML.load_file(File.join(KafoConfigure.config.app[:default_values_dir], 'default_values.yaml'))
93
+ YAML.load_file(File.join(temp_dir, 'default_values.yaml'))
90
94
  end
91
95
  end
92
96
 
@@ -25,12 +25,15 @@ module Kafo
25
25
  class KafoConfigure < Clamp::Command
26
26
  include StringHelper
27
27
 
28
-
29
28
  class << self
30
29
  attr_accessor :config, :root_dir, :config_file, :gem_root, :temp_config_file,
31
30
  :modules_dir, :kafo_modules_dir, :verbose, :app_options, :logger
32
31
  attr_writer :hooking
33
32
 
33
+ def cleanup_paths
34
+ @cleanup_paths ||= []
35
+ end
36
+
34
37
  def hooking
35
38
  @hooking ||= Hooking.new
36
39
  end
@@ -121,6 +124,7 @@ module Kafo
121
124
  end
122
125
 
123
126
  def self.exit(code)
127
+ cleanup
124
128
  @exit_code = translate_exit_code(code)
125
129
  throw :exit
126
130
  end
@@ -144,6 +148,26 @@ module Kafo
144
148
  end
145
149
  end
146
150
 
151
+ def self.cleanup
152
+ # make sure default values are removed from /tmp
153
+ (self.cleanup_paths + ['/tmp/default_values.yaml']).each do |file|
154
+ logger.debug "Cleaning #{file}"
155
+ FileUtils.rm_rf(file)
156
+ end
157
+ end
158
+
159
+ def self.register_cleanup_path(path)
160
+ self.cleanup_paths<< path
161
+ end
162
+
163
+ def register_cleanup_path(path)
164
+ self.class.register_cleanup_path(path)
165
+ end
166
+
167
+ def cleanup_paths
168
+ self.class.cleanup_paths
169
+ end
170
+
147
171
  def help
148
172
  self.class.help(invocation_path, self)
149
173
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  module Kafo
3
- VERSION = "0.5.1"
3
+ VERSION = "0.5.2"
4
4
  end
@@ -9,7 +9,10 @@ module Puppet::Parser::Functions
9
9
  [arg, found_value.nil? ? arg : found_value]
10
10
  end
11
11
  data = Hash[data]
12
- dump_dir = YAML.load_file(lookupvar('kafo_config_file'))[:default_values_dir]
13
- File.open("#{dump_dir}/default_values.yaml", 'w') { |file| file.write(YAML.dump(data)) }
12
+
13
+ dump_dir = lookupvar('temp_dir')
14
+ file_name = "#{dump_dir}/default_values.yaml"
15
+
16
+ File.open(file_name, File::WRONLY|File::CREAT|File::EXCL, 0600) { |file| file.write(YAML.dump(data)) }
14
17
  end
15
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kafo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marek Hulan