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