#!/usr/bin/env ruby require 'rubygems' require 'soloist' def fileify(contents) file = Tempfile.new("soloist") file << contents file.flush file end def walk_up_and_find_file(filenames) pwd = FileUtils.pwd file = nil path_to_file = "" while !file && FileUtils.pwd != '/' file = filenames.detect { |f| Dir.glob("*").include?(f) } FileUtils.cd("..") path_to_file << "../" unless file end FileUtils.cd(pwd) file_contents = File.read(path_to_file + file) if file [file_contents, path_to_file] end log_level = ENV['LOG_LEVEL'] || "info" soloistrc_contents, soloistrc_path = walk_up_and_find_file(["soloistrc"]) config_generator = ChefConfigGenerator.new(soloistrc_contents, soloistrc_path) # if ARGV.length >= 1 # json_config = JSON.parse(File.read(json_file)) # json_config["recipes"] = ARGV # json_file = "/tmp/#{File.basename(json_file)}" # puts "OVERRIDING RECIPES: running [#{json_config["recipes"].join(", ")}]. Temp json config file: #{json_file}" # File.open(json_file, "w+"){|f| f<