Note that exim contains tracker-specific configuration
[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        }.each do |user|
14         Facter.add("#{user}_user_exists") do
15             setcode do
16                 result = false
17                 begin
18                     if Etc.getpwnam(user)
19                         result = true
20                     end
21                 rescue ArgumentError
22                 end
23                 result
24             end
25         end
26
27         Facter.add("#{user}_key") do
28             setcode do
29                 key = nil
30                 begin
31                     pwinfo = Etc.getpwnam(user)
32                     if pwinfo and pwinfo.dir
33                         keyfile = pwinfo.dir + '/.ssh/id_rsa.pub'
34                         if FileTest.exist?(keyfile)
35                             key = File.open(keyfile).read.chomp
36                         end
37                     end
38                 rescue ArgumentError
39                 end
40                 key
41             end
42         end
43     end
44
45 rescue Exception => e
46 end
47 # vim:set et:
48 # vim:set ts=4:
49 # vim:set shiftwidth=4: