20bd717283869c790bcf408db2c3d295895ac18f
[mirror/dsa-puppet.git] / modules / debian_org / lib / facter / roleaccounts.rb
1 begin
2     require 'etc'
3
4     %w{buildd git portforwarder postgres staticsync weblogsync dnsadm geodnssync}.each do |user|
5         Facter.add("#{user}_user_exists") do
6             setcode do
7                 result = false
8                 begin
9                     if Etc.getpwnam(user)
10                         result = true
11                     end
12                 rescue ArgumentError
13                 end
14                 result
15             end
16         end
17
18         Facter.add("#{user}_key") do
19             setcode do
20                 key = nil
21                 begin
22                     pwinfo = Etc.getpwnam(user)
23                     if pwinfo and pwinfo.dir
24                         keyfile = pwinfo.dir + '/.ssh/id_rsa.pub'
25                         if FileTest.exist?(keyfile)
26                             key = File.open(keyfile).read.chomp
27                         end
28                     end
29                 rescue ArgumentError
30                 end
31                 key
32             end
33         end
34     end
35
36 rescue Exception => e
37 end
38 # vim:set et:
39 # vim:set ts=4:
40 # vim:set shiftwidth=4: