aboutsummaryrefslogtreecommitdiff
path: root/lib/facter/monkeysphere.rb
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2013-01-02 20:55:28 +0100
committermh <mh@immerda.ch>2013-01-02 20:56:27 +0100
commit23398fc3f0178f73fa3dee5149426b1b28ce3a8a (patch)
tree2ab3f84da5aa561fa54bdf71a6ca2bd26655e0bc /lib/facter/monkeysphere.rb
parent6321144806ec67ff2d5a12df95b00f1250b8fcca (diff)
parentc4913fb3e46624494a0935ec133b25db735afc30 (diff)
downloadpuppet-monkeysphere-23398fc3f0178f73fa3dee5149426b1b28ce3a8a.tar.gz
puppet-monkeysphere-23398fc3f0178f73fa3dee5149426b1b28ce3a8a.tar.bz2
Merge remote-tracking branch 'vireo/master' into merge
Conflicts: .gitignore manifests/init.pp
Diffstat (limited to 'lib/facter/monkeysphere.rb')
-rw-r--r--lib/facter/monkeysphere.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/facter/monkeysphere.rb b/lib/facter/monkeysphere.rb
new file mode 100644
index 0000000..1d7d68e
--- /dev/null
+++ b/lib/facter/monkeysphere.rb
@@ -0,0 +1,42 @@
+has_hostkey = false
+pgp_fingerprint = ' '
+pgp_id = ' '
+ssh_fingerprint = ' '
+
+if File.exist?('/usr/sbin/monkeysphere-host')
+
+ sk = %x{/usr/sbin/monkeysphere-host show-keys}
+ if $? == 0
+ has_hostkey = true
+ sk.lines.each do |line|
+ m = line.match('^OpenPGP fingerprint:(.*)$')
+ if m
+ pgp_fingerprint = m[1].strip
+ end
+ m = line.match('^uid (.*)$')
+ if m
+ pgp_id = m[1].strip
+ end
+ m = line.match('^ssh fingerprint:(.*)$')
+ if m
+ ssh_fingerprint = m[1].strip
+ end
+ end
+ end
+end
+
+Facter.add("monkeysphere_has_hostkey") do
+ setcode{ has_hostkey }
+end
+
+Facter.add("monkeysphere_pgp_fp") do
+ setcode{ pgp_fingerprint }
+end
+
+Facter.add("monkeysphere_pgp_id") do
+ setcode{ pgp_id }
+end
+
+Facter.add("monkeysphere_ssh_fp") do
+ setcode{ ssh_fingerprint }
+end