prepare unifying roleaccount facter
[mirror/dsa-puppet.git] / modules / debian_org / lib / facter / roleaccounts.rb
index d95dc04..f00623f 100644 (file)
@@ -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