Sha256: 7abb2684157e23bd230382078780699a18fcc6cb32a8d9c7b2306a95d6c15f53
Contents?: true
Size: 1.94 KB
Versions: 3
Compression:
Stored size: 1.94 KB
Contents
require 'etc' module Puppet module Util class RunMode def initialize(name) @name = name.to_sym end attr :name def self.[](name) @run_modes ||= {} if Puppet.features.microsoft_windows? @run_modes[name] ||= WindowsRunMode.new(name) else @run_modes[name] ||= UnixRunMode.new(name) end end def master? name == :master end def agent? name == :agent end def user? name == :user end def run_dir "$vardir/run" end def log_dir "$vardir/log" end private ## # select the system or the user directory depending on the context of # this process. The most common use is determining filesystem path # values for confdir and vardir. The intended semantics are: # {http://projects.puppetlabs.com/issues/16637 #16637} for Puppet 3.x # # @todo this code duplicates {Puppet::Settings#which\_configuration\_file} # as described in {http://projects.puppetlabs.com/issues/16637 #16637} def which_dir( system, user ) File.expand_path(if Puppet.features.root? then system else user end) end end class UnixRunMode < RunMode def conf_dir which_dir("/etc/puppet", "~/.puppet") end def var_dir which_dir("/var/lib/puppet", "~/.puppet/var") end end class WindowsRunMode < RunMode def conf_dir which_dir(File.join(windows_common_base("etc")), File.join(*windows_local_base)) end def var_dir which_dir(File.join(windows_common_base("var")), File.join(*windows_local_base("var"))) end private def windows_common_base(*extra) [Dir::COMMON_APPDATA, "PuppetLabs", "puppet"] + extra end def windows_local_base(*extra) [Dir::LOCAL_APPDATA, "PuppetLabs", "puppet"] + extra end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
puppet-3.0.2.rc1 | lib/puppet/util/run_mode.rb |
puppet-3.0.1 | lib/puppet/util/run_mode.rb |
puppet-3.0.1.rc1 | lib/puppet/util/run_mode.rb |