# File lib/kafo/execution_environment.rb, line 9 def initialize(config, logger = KafoConfigure.logger) @config = config @logger = logger end
# File lib/kafo/execution_environment.rb, line 28 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, }.merge(settings) PuppetConfigurer.new(puppet_conf, settings) end
# 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
# File lib/kafo/execution_environment.rb, line 22 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
# File lib/kafo/execution_environment.rb, line 55 def answer_file File.join(directory, 'answers.yaml') end
# File lib/kafo/execution_environment.rb, line 63 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
# File lib/kafo/execution_environment.rb, line 47 def environmentpath File.join(directory, 'environments') end
# File lib/kafo/execution_environment.rb, line 51 def factpath File.join(directory, 'facts') end
# File lib/kafo/execution_environment.rb, line 73 def facts { 'scenario' => { 'id' => @config.scenario_id, 'name' => @config.app[:name], 'answer_file' => answer_file, 'custom' => @config.app[:facts], }, } end
# File lib/kafo/execution_environment.rb, line 59 def puppet_conf File.join(directory, 'puppet.conf') end