diff options
author | mh <mh@immerda.ch> | 2012-06-08 12:59:38 -0300 |
---|---|---|
committer | mh <mh@immerda.ch> | 2012-06-08 12:59:38 -0300 |
commit | e65cd45983483fb74a7d6fdd0e54318e04dc2deb (patch) | |
tree | 1ff724764011c25664e380b1d82bfb499f2ffdd7 | |
parent | 9f218e8e4a835cf282f73a3463e478be9a104559 (diff) | |
download | puppet-monkeysphere-e65cd45983483fb74a7d6fdd0e54318e04dc2deb.tar.gz puppet-monkeysphere-e65cd45983483fb74a7d6fdd0e54318e04dc2deb.tar.bz2 |
refactor things for >2.7
-rw-r--r-- | manifests/init.pp | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index c71b3b7..86e5175 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,66 +1,69 @@ # This module is distributed under the GNU Affero General Public License: -# +# # Monkeysphere module for puppet # Copyright (C) 2009-2010 Sarava Group -# +# # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. -# +# # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # # Class for monkeysphere management # -class monkeysphere { +class monkeysphere( + $ssh_port = '', + $publish_key = hiera('monkeysphere_publish_key',false) +) { # The needed packages package { monkeysphere: ensure => installed, } - $ssh_port = $monkeysphere_ssh_port ? { + $port = $monkeysphere::ssh_port ? { '' => '', - default => ":$monkeysphere_ssh_port", + default => ":${monkeyspherer::ssh_port}", } - $key = "ssh://${fqdn}${ssh_port}" + $key = "ssh://${::fqdn}${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", + 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 { + case $monkeysphere::publish_key { false: { - exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key $key": + exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key ${key}": unless => "/usr/local/sbin/monkeysphere-check-key", user => "root", require => [ Package["monkeysphere"], File["/usr/local/sbin/monkeysphere-check-key"] ], } } 'mail': { - $mail_loc = $operatingsystem ? { + $mail_loc = $::operatingsystem ? { 'centos' => '/bin/mail', default => '/usr/bin/mail', } - exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key $key && \ - ${mail_loc} -s 'monkeysphere host pgp key for $fqdn' root < /var/lib/monkeysphere/host_keys.pub.pgp": + exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key ${key} && \ + ${mail_loc} -s 'monkeysphere host pgp key for ${::fqdn}' root < /var/lib/monkeysphere/host_keys.pub.pgp": unless => "/usr/local/sbin/monkeysphere-check-key", user => "root", 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 && \ + exec { "/usr/sbin/monkeysphere-host import-key /etc/ssh/ssh_host_rsa_key ${key} && \ /usr/sbin/monkeysphere-host publish-key": unless => "/usr/local/sbin/monkeysphere-check-key", user => "root", |