aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/init.pp20
1 files changed, 14 insertions, 6 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index de91cc8..991a8df 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -30,29 +30,37 @@ class monkeysphere {
$key = "ssh://${fqdn}${ssh_port}"
+ file { "/usr/local/sbin/monkeysphere-check-key":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 0755,
+ content => "#!/bin/bash\n/usr/bin/gpg --homedir /var/lib/monkeysphere/host --list-keys '=$key' &> /dev/null || false",
+ }
+
# Server host key publication
case $monkeysphere_publish_key {
false: {
exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key $key":
- unless => "/usr/bin/gpg --homedir /var/lib/monkeysphere/host --list-keys '=$key' &> /dev/null",
+ unless => "/usr/local/sbin/monkeysphere-check-key",
user => "root",
- require => Package["monkeysphere"],
+ require => [ Package["monkeysphere"], File["/usr/local/sbin/monkeysphere-check-key"] ],
}
}
'mail': {
exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key $key && \
/usr/bin/mail -s 'monkeysphere host pgp key for $fqdn' root < /var/lib/monkeysphere/host_keys.pub.pgp":
- unless => "/usr/bin/gpg --homedir /var/lib/monkeysphere/host --list-keys '=$key' &> /dev/null",
+ unless => "/usr/local/sbin/monkeysphere-check-key",
user => "root",
- require => Package["monkeysphere"],
+ require => [ Package["monkeysphere"], File["/usr/local/sbin/monkeysphere-check-key"] ],
}
}
default: {
exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key $key && \
/usr/sbin/monkeysphere-host publish-key":
- unless => "/usr/bin/gpg --homedir /var/lib/monkeysphere/host --list-keys '=$key' &> /dev/null",
+ unless => "/usr/local/sbin/monkeysphere-check-key",
user => "root",
- require => Package["monkeysphere"],
+ require => [ Package["monkeysphere"], File["/usr/local/sbin/monkeysphere-check-key"] ],
}
}
}