From 15e94f424341528b2e23fdcf6d4756775903327e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 14 Jan 2023 23:52:29 +0100 Subject: Check for cert by filename prefix. --- lib/facter/letsencrypt_bycertname.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lib/facter/letsencrypt_bycertname.rb (limited to 'lib/facter/letsencrypt_bycertname.rb') diff --git a/lib/facter/letsencrypt_bycertname.rb b/lib/facter/letsencrypt_bycertname.rb new file mode 100644 index 0000000..56556ff --- /dev/null +++ b/lib/facter/letsencrypt_bycertname.rb @@ -0,0 +1,23 @@ +require 'pathname' + +Facter.add(:letsencrypt_bycertname) do + confine kernel: ['FreeBSD', 'Linux', 'OpenBSD'] + + setcode do + certs = {} + + # locate the certificate repository + livedir = ['/etc/letsencrypt/live', '/etc/certbot/live'] + .map { |path| Pathname.new path } + .find(&:directory?) + + unless livedir.nil? + Pathname.new(livedir).children.select(&:directory?).each do |path| + m = path.basename.to_s.match(%r{(.*?)(-\d+)?$}) + certs[m[1]] = path.to_s + end + end + + certs + end +end -- cgit v1.2.3