Sha256: 6736a6e221397b32d28415bf732b3cfbbc301397010c1f1ec45f848f44b6de57
Contents?: true
Size: 1001 Bytes
Versions: 9
Compression:
Stored size: 1001 Bytes
Contents
#! /usr/bin/env ruby require 'rubygems' require 'yaml' require 'puppetfactory' if File.exist? '/etc/puppetfactory/config.yaml' options = YAML.load_file('/etc/puppetfactory/config.yaml') rescue {} else options = YAML.load_file('/etc/puppetfactory.yaml') rescue {} end options[:plugins] ||= [:LoginShell] options[:logfile] ||= STDOUT options[:session] ||= '12345' options[:master] ||= `hostname -f`.strip $logger = Logger.new(options[:logfile]) plugins = options[:plugins].map do |plugin| require "puppetfactory/plugins/#{plugin.snake_case}" Puppetfactory::Plugins::const_get(plugin).new(options) end resp = plugins.select { |plugin| plugin.respond_to? :login } raise "The login action is not exposed by any plugins" if resp.size == 0 raise "The login action is exposed by multiple loaded plugins! (#{resp.map {|p| p.class }})" unless resp.size == 1 print 'Please enter the session ID: ' raise 'Incorrect session ID' unless STDIN.gets.strip == options[:session] resp.first.send(:login)
Version data entries
9 entries across 9 versions & 1 rubygems