From 6daf83e2b81d4a33bb1739c9f4b6c9882e6e1ea2 Mon Sep 17 00:00:00 2001 From: Jamie McClelland Date: Sat, 19 Mar 2011 23:27:16 -0400 Subject: ensure config files are in place before executing monkeysphere commands --- manifests/init.pp | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 7ecf5a1..c25e1f7 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -24,20 +24,20 @@ class monkeysphere inherits monkeysphere::defaults { # The needed packages package { monkeysphere: ensure => installed, } - file { - "/etc/monkeysphere/monkeysphere.conf": + file { "monkeysphere_conf": + path => "/etc/monkeysphere/monkeysphere.conf", mode => 644, ensure => present, content => template("monkeysphere/monkeysphere.conf.erb"), } - file { - "/etc/monkeysphere/monkeysphere-host.conf": + file { "monkeysphere_host_conf": + path => "/etc/monkeysphere/monkeysphere-host.conf", mode => 644, ensure => present, content => template("monkeysphere/monkeysphere-host.conf.erb"), } - file { - "/etc/monkeysphere/monkeysphere-authentication.conf": + file { "monkeysphere_authentication_conf": + path => "/etc/monkeysphere/monkeysphere-authentication.conf", mode => 644, ensure => present, content => template("monkeysphere/monkeysphere-authentication.conf.erb"), @@ -59,11 +59,11 @@ define monkeysphere::import_key ( $scheme = 'ssh://', $port = '', $path = '/etc/ default => ":$port" } - $key = "${schema}://${fqdn}${prefixed_port}" + $key = "${scheme}${fqdn}${prefixed_port}" exec { "monkeysphere-host import-key $path $key": alias => "monkeysphere-import-key", - require => [ Package["monkeysphere"] ], + require => [ Package["monkeysphere"], File["monkeysphere_host_conf"] ], unless => "/usr/sbin/monkeysphere-host s | grep $key > /dev/null" } } @@ -72,7 +72,7 @@ define monkeysphere::import_key ( $scheme = 'ssh://', $port = '', $path = '/etc/ define monkeysphere::publish_keys ( $keyid = '--all' ) { exec { "monkeysphere-host publish-keys $keyid": environment => "MONKEYSPHERE_PROMPT=false", - require => [ Package["monkeysphere"], Exec["monkeysphere-import-key"] ], + require => [ Package["monkeysphere"], Exec["monkeysphere-import-key"], File["monkeysphere_host_conf"] ], } } @@ -87,23 +87,29 @@ define monkeysphere::email_keys ( $email = 'root' ) { define monkeysphere::add_id_certifier( $keyid ) { exec { "monkeysphere-authentication add-id-certifier $keyid": environment => "MONKEYSPHERE_PROMPT=false", - require => [ Package["monkeysphere"] ], + require => [ Package["monkeysphere"], File["monkeysphere_authentication_conf"] ], unless => "/usr/sbin/monkeysphere-authentication list-id-certifiers | grep $keyid > /dev/null" } } -define monkeysphere::authorized_user_ids( $source, $user = 'root', $group = $user, $dest_dir = '/root/.monkeysphere', $dest_file = '.authorized_user_ids') { +define monkeysphere::authorized_user_ids( $source, $dest_dir = '/root/.monkeysphere', $dest_file = '.authorized_user_ids', $group = '') { + $user = $title + $calculated_group = $group ? { + '' => $user, + default => $group + } + file { $dest_dir: owner => $user, - group => $group, + group => $calculated_group, mode => 755, ensure => directory, } file { "${dest_dir}/${dest_file}": owner => $user, - group => $group, + group => $calculated_group, mode => 644, source => $source, ensure => present, @@ -111,8 +117,8 @@ define monkeysphere::authorized_user_ids( $source, $user = 'root', $group = $use } exec { "monkeysphere-authentication update-users $user": - require => [ Package["monkeysphere"] ], refreshonly => true, + require => [ File["monkeysphere_authentication_conf"], Package["monkeysphere"] ], subscribe => File["${dest_dir}/${dest_file}"] } } -- cgit v1.2.3