X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=facts%2Fportforwarder.rb;h=fe3cebdec80ad452a2090b9004ef88d2badb3346;hb=49d2d53e05ac83ffd34daa59dc9367f5691d72fe;hp=f7eeb91d4818b305f24d68161ad91853f1a4cc0c;hpb=3424eb58d3f2fd92979867dd3ee4afb6382d9fe5;p=mirror%2Fdsa-puppet.git diff --git a/facts/portforwarder.rb b/facts/portforwarder.rb index f7eeb91d4..fe3cebdec 100644 --- a/facts/portforwarder.rb +++ b/facts/portforwarder.rb @@ -1,14 +1,32 @@ -Facter.add("portforwarder") do - setcode do - key = nil - keyfile = '/home/portforwarder/.ssh/id_rsa.pub' - if FileTest.exist?(keyfile) - key = File.open(keyfile).read.chomp +begin + require 'etc' + + Facter.add("portforwarder_key") do + setcode do + key = nil + keyfile = '/home/portforwarder/.ssh/id_rsa.pub' + if FileTest.exist?(keyfile) + key = File.open(keyfile).read.chomp + end + key + end + end + + Facter.add("portforwarder_user_exists") do + setcode do + result = false + begin + if Etc.getpwnam('portforwarder') + result = true + end + rescue ArgumentError + end + result end - key end -end +rescue Exception => e +end # vim:set et: # vim:set ts=4: # vim:set shiftwidth=4: