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