class Ronin::Puppet

Public Class Methods

new() click to toggle source
# File lib/ronin/puppet.rb, line 23
def initialize
  @run_list = "#{Ronin::Config[:artifact_path]}/ronin.pp"
  @modules = Ronin::RunList.new.artifacts
end

Public Instance Methods

clean_up() click to toggle source
# File lib/ronin/puppet.rb, line 46
def clean_up
  Ronin::Log.info("Cleaning up Puppet run list at #{@run_list}.")
  File.delete(@run_list)
end
create_run_list() click to toggle source
# File lib/ronin/puppet.rb, line 28
def create_run_list
  Ronin::Log.info("Building Puppet run list at #{@run_list}.")
  File.open(@run_list, "w") do |f|
    @modules.each do |mod|
      Ronin::Log.info("Adding module '#{mod}' to run list.")
      f.write "include #{mod}\n"
    end
  end
end
run() click to toggle source
# File lib/ronin/puppet.rb, line 38
def run
  self.create_run_list
  Ronin::Log.info("Running Puppet, logging to #{Ronin::Config[:interpreter_log_path]}/ronin-puppet.log.")
  @cmd = Mixlib::ShellOut.new("#{Ronin::Util.find_cmd("puppet")} apply --ordering manifest --logdest #{Ronin::Config[:log_path]}/ronin-puppet.log --modulepath #{Ronin::Config[:artifact_path]} #{@run_list}")
  @cmd.run_command
  self.clean_up
end