class Runbook::Configuration
Constants
- GlobalConfigFile
- ProjectConfigFile
- UserConfigFile
Attributes
_airbrussh_context[RW]
enable_sudo_prompt[RW]
ssh_kit[RW]
use_same_sudo_password[R]
Public Class Methods
_load_cli_config()
click to toggle source
# File lib/runbook/configuration.rb, line 85 def self._load_cli_config if cli_config_file && File.exist?(cli_config_file) load(cli_config_file) end end
_load_global_config()
click to toggle source
# File lib/runbook/configuration.rb, line 63 def self._load_global_config load(GlobalConfigFile) if File.exist?(GlobalConfigFile) end
_load_project_config()
click to toggle source
# File lib/runbook/configuration.rb, line 67 def self._load_project_config dir = Dir.pwd loop do config_path = File.join(dir, ProjectConfigFile) if File.exist?(config_path) load(config_path) return end break if File.identical?(dir, "/") dir = File.join(dir, "..") end end
_load_user_config()
click to toggle source
# File lib/runbook/configuration.rb, line 80 def self._load_user_config user_config_file = File.join(ENV["HOME"], UserConfigFile) load(user_config_file) if File.exist?(user_config_file) end
cli_config_file()
click to toggle source
# File lib/runbook/configuration.rb, line 31 def self.cli_config_file @cli_config_file end
cli_config_file=(cli_config_file)
click to toggle source
# File lib/runbook/configuration.rb, line 35 def self.cli_config_file=(cli_config_file) @cli_config_file = cli_config_file end
load_config()
click to toggle source
# File lib/runbook/configuration.rb, line 47 def self.load_config return if @loaded @loaded = true _load_global_config _load_project_config _load_user_config _load_cli_config # Set defaults Runbook.configure end
loaded()
click to toggle source
# File lib/runbook/configuration.rb, line 39 def self.loaded @loaded end
loaded=(loaded)
click to toggle source
# File lib/runbook/configuration.rb, line 43 def self.loaded=(loaded) @loaded = loaded end
new()
click to toggle source
# File lib/runbook/configuration.rb, line 91 def initialize self.ssh_kit = SSHKit.config formatter = Airbrussh::Formatter.new( $stdout, banner: nil, command_output: true, context: AirbrusshContext, ) ssh_kit.output = formatter self._airbrussh_context = formatter.formatters.find do |fmt| fmt.is_a?(Airbrussh::ConsoleFormatter) end.context self.enable_sudo_prompt = true self.use_same_sudo_password = true end
reconfigure()
click to toggle source
# File lib/runbook/configuration.rb, line 58 def self.reconfigure @loaded = false load_config end
Public Instance Methods
password_cache_key(host)
click to toggle source
# File lib/runbook/configuration.rb, line 113 def password_cache_key(host) "#{host.user}@#{host.hostname}" end
use_same_sudo_password=(use_same_pwd)
click to toggle source
# File lib/runbook/configuration.rb, line 107 def use_same_sudo_password=(use_same_pwd) @use_same_sudo_password = use_same_pwd SSHKit::Sudo::InteractionHandler.class_eval do if use_same_pwd use_same_password! else def password_cache_key(host) "#{host.user}@#{host.hostname}" end end end end