File: //var/cache/puppet/lib/facter/project.rb
# [.m] Facts: Hiera and filesystem project paths
require 'puppet'
# {{{ project
Facter.add(:project) do
setcode do
path = Puppet.settings[:certname].split('.')
path.pop(2)
if path.length > 1
path = path.insert(1, path.first.sub(/\d+$/, '')).reverse
list = []
until path.empty? do
list.push(path.join('/'))
path.pop
end
list
else
path
end
end
end
# }}}
# {{{ project_path
Facter.add(:project_path) do
setcode do
path = Puppet.settings[:certname].split('.')
path.pop(2)
if path.length > 1
path[0] = path.first.sub(/\d+$/, '')
path = path.reverse
end
path.join('/')
end
end
# }}}
# {{{ project_name
Facter.add(:project_name) do
setcode do
Facter.value(:domain).sub('.masterhost.ru', '')
end
end
# }}}
# vim: et ts=8 sts=2 sw=2 fdm=marker