File: //var/lib/puppet/lib/facter/cpanel.rb
#Facter
Facter.add("cpanel_installed") do
setcode do
result = "false"
if File.exists?("/var/cpanel")
result = "true"
end
result
end
end
Facter.add("cpanel_iplist_exists") do
setcode do
result = "false"
if File.exists?("/var/cpanel/userhomes/cpanel/.cpanel/securitypolicy/iplist/root")
result = "true"
end
result
end
end
Facter.add("cpanel_version") do
setcode do
result = "0"
if File.exists?("/usr/local/cpanel/version")
fin = File.open("/usr/local/cpanel/version")
lines = fin.readlines
if lines.length == 1 && /^(\d+)((\.\d+)|(-\w+))*$/.match(lines[0])
result = lines[0]
end
fin.close
end
result.strip
end
end
Facter.add("cpanel_mail_server") do
setcode do
result = "false"
if File.exists?("/var/cpanel/cpanel.config")
fin = File.open("/var/cpanel/cpanel.config")
lines = fin.readlines
lines.each do |line|
if line =~ /^mailserver=(\w+)\s*$/
result = $1
end
end
end
result.downcase.strip
end
end
Facter.add("cpanel_testing_pool") do
setcode do
result = "false"
if File.exists?("/var/cpanel/.hdtestingpool")
result = "true"
end
result
end
end
Facter.add("cpanel_hardened_kernel") do
setcode do
result = "false"
if File.exists?("/etc/yum.repos.d/cPkernel.repo")
result = "true"
end
result
end
end
Facter.add("cpanel_easyapache4") do
setcode do
result = "false"
if File.exists?("/etc/cpanel/ea4/is_ea4")
result = "true"
end
result
end
end
Facter.add("cpanel_kernelcare") do
setcode do
result = "false"
if File.exists?("/etc/yum.repos.d/kernelcare.repo")
result = "true"
end
result
end
end
Facter.add("cpanel_kernelcare_licensed") do
setcode do
result = "false"
if File.exists?("/usr/bin/kcarectl")
license = Facter::Util::Resolution.exec("/usr/bin/kcarectl --license-info")
if /^Valid license found for ip/i.match(license)
result = "true"
end
end
result
end
end