File: //usr/lib/ruby/site_ruby/1.8/facter/Cfkey.rb
# Fact: cfkey
#
# Purpose: Return the public key(s) for CFengine.
#
# Resolution:
# Tries each file of standard `localhost.pub` and `cfkey.pub` locations,
# checks if they appear to be a public key, and then join them all together.
#
# Caveats:
#
## Cfkey.rb
## Facts related to cfengine
##
Facter.add(:Cfkey) do
setcode do
value = nil
["/usr/local/etc/cfkey.pub",
"/etc/cfkey.pub",
"/var/cfng/keys/localhost.pub",
"/var/cfengine/ppkeys/localhost.pub",
"/var/lib/cfengine/ppkeys/localhost.pub",
"/var/lib/cfengine2/ppkeys/localhost.pub"
].each do |file|
if FileTest.file?(file)
File.open(file) { |openfile|
value = openfile.readlines.reject { |line|
line =~ /PUBLIC KEY/
}.collect { |line|
line.chomp
}.join("")
}
end
if value
break
end
end
value
end
end