X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fdebian_org%2Flib%2Ffacter%2Froleaccounts.rb;h=f00623fda98a7365fb89488a7fd4b458dd4f0e8a;hb=f730778ea3422c96c978e2bef1b3fda703094707;hp=d95dc04193a401b7fc9739180b27829b9d825a8b;hpb=249b713a08d35bffb1cd52739be6f5808baa5a5f;p=mirror%2Fdsa-puppet.git diff --git a/modules/debian_org/lib/facter/roleaccounts.rb b/modules/debian_org/lib/facter/roleaccounts.rb index d95dc0419..f00623fda 100644 --- a/modules/debian_org/lib/facter/roleaccounts.rb +++ b/modules/debian_org/lib/facter/roleaccounts.rb @@ -1,6 +1,38 @@ begin require 'etc' + %w{git}.each do |user| + Facter.add("#{user}_user_exists") do + setcode do + result = false + begin + if Etc.getpwnam(user) + result = true + end + rescue ArgumentError + end + result + end + end + + Facter.add("#{user}_key") do + setcode do + key = nil + begin + pwinfo = Etc.getpwnam(user) + if pwinfo and pwinfo.dir + keyfile = pwinfo.dir + '/.ssh/id_rsa.pub' + if FileTest.exist?(keyfile) + key = File.open(keyfile).read.chomp + end + end + rescue ArgumentError + end + key + end + end + end + Facter.add("postgresql_key") do setcode do key = nil