class Kafo::ExecutionEnvironment
Public Class Methods
Source
# File lib/kafo/execution_environment.rb, line 9 def initialize(config, logger = KafoConfigure.logger) @config = config @logger = logger end
Public Instance Methods
Source
# File lib/kafo/execution_environment.rb, line 41 def configure_puppet(settings = {}) @logger.debug("Configuring Puppet in #{directory}") @logger.debug("Writing facts to #{factpath}") FactWriter.write_facts(facts, factpath) hiera_config = configure_hiera settings = { 'environmentpath' => environmentpath, 'factpath' => factpath, 'hiera_config' => hiera_config, 'libdir' => libdir, 'reportdir' => reportdir, 'reports' => 'store', }.merge(settings) PuppetConfigurer.new(puppet_conf, settings) end
Source
# File lib/kafo/execution_environment.rb, line 14 def directory @directory ||= begin directory = Dir.mktmpdir('kafo_installation') @logger.debug("Creating execution environment in #{directory}") directory end end
Source
# File lib/kafo/execution_environment.rb, line 22 def libdir @libdir ||= File.join(directory, 'lib') end
Source
# File lib/kafo/execution_environment.rb, line 26 def reportdir @reportdir ||= File.join(directory, 'reports') end
Source
# File lib/kafo/execution_environment.rb, line 30 def reports # Reports are stored in $reportdir/$certname/$report Dir.glob(File.join(reportdir, '*', '*.*')).sort_by { |path| File.mtime(path) } end
Source
# File lib/kafo/execution_environment.rb, line 35 def store_answers answer_data = HieraConfigurer.generate_data(@config.modules, @config.app[:order]) @logger.debug("Writing temporary answers to #{answer_file}") File.open(answer_file, 'w') { |f| f.write(YAML.dump(answer_data)) } end
Private Instance Methods
Source
# File lib/kafo/execution_environment.rb, line 71 def answer_file File.join(directory, 'answers.yaml') end
Source
# File lib/kafo/execution_environment.rb, line 79 def configure_hiera if @config.app[:hiera_config] File.realpath(@config.app[:hiera_config]) else config_path = File.join(directory, 'hiera.yaml') @logger.debug("Writing default hiera config to #{config_path}") HieraConfigurer.write_default_config(config_path) end end
Source
# File lib/kafo/execution_environment.rb, line 63 def environmentpath File.join(directory, 'environments') end
Source
# File lib/kafo/execution_environment.rb, line 67 def factpath File.join(directory, 'facts') end
Source
# File lib/kafo/execution_environment.rb, line 89 def facts { 'scenario' => { 'id' => @config.scenario_id, 'name' => @config.app[:name], 'answer_file' => answer_file, 'custom' => @config.app[:facts], }, } end
Source
# File lib/kafo/execution_environment.rb, line 75 def puppet_conf File.join(directory, 'puppet.conf') end