From f730778ea3422c96c978e2bef1b3fda703094707 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sat, 7 Sep 2019 17:21:39 +0200 Subject: [PATCH] prepare unifying roleaccount facter --- modules/debian_org/lib/facter/roleaccounts.rb | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/modules/debian_org/lib/facter/roleaccounts.rb b/modules/debian_org/lib/facter/roleaccounts.rb index b3a1a803c..f00623fda 100644 --- a/modules/debian_org/lib/facter/roleaccounts.rb +++ b/modules/debian_org/lib/facter/roleaccounts.rb @@ -1,14 +1,35 @@ begin require 'etc' - Facter.add("git_key") do - setcode do - key = nil - keyfile = '/home/git/.ssh/id_rsa.pub' - if FileTest.exist?(keyfile) - key = File.open(keyfile).read.chomp + %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 - key end end -- 2.20.1