diff options
author | Micah <micah@riseup.net> | 2015-10-09 20:21:58 +0000 |
---|---|---|
committer | Micah <micah@riseup.net> | 2015-10-09 20:21:58 +0000 |
commit | ba81744a42548de60bb4f48c66a7e95cd050ad4a (patch) | |
tree | 664fea7e838b553ba0864b8dc61cc5323251c4c1 /manifests/authorized_user_ids.pp | |
parent | f661c786095e99087773f01351cebe00837f68a7 (diff) | |
parent | 39631404dc41f706ad665ad2770e9c48b98a98fa (diff) | |
download | puppet-monkeysphere-master.tar.gz puppet-monkeysphere-master.tar.bz2 |
merge the mayfirst, koumbit and sarava changes
the monkeysphere module in shared is very old (2 years 4 months)! since then, sarava and koumbit have done significant work to improve on the module.
mayfirst did changes to allow choosing a keyserver, added flexibility, user configs and so on.
sarava fixed some bugs.
koumbit merged both with the shared modules, did a style cleanup and autoloading, added RAW_AUTHORIZED_KEYS, silence some warnings and randomized cron jobs.
this still fails in puppet 3.x, but is an improvement over what's already present.
See merge request !1
Diffstat (limited to 'manifests/authorized_user_ids.pp')
-rw-r--r-- | manifests/authorized_user_ids.pp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/manifests/authorized_user_ids.pp b/manifests/authorized_user_ids.pp new file mode 100644 index 0000000..09fd182 --- /dev/null +++ b/manifests/authorized_user_ids.pp @@ -0,0 +1,53 @@ +define monkeysphere::authorized_user_ids( + $user_ids, + $dest_dir = '/root/.monkeysphere', + $dest_file = 'authorized_user_ids', + $group = '') { + + $user = $title + $calculated_group = $group ? { + '' => $user, + default => $group + } + + # don't require user if it's root because root is not handled + # by puppet + case $user { + root: { + file { + $dest_dir: + owner => $user, + group => $calculated_group, + mode => 755, + ensure => directory, + } + } + default: { + file { + $dest_dir: + owner => $user, + group => $calculated_group, + mode => 755, + ensure => directory, + require => User[$user] + } + } + } + + file { + "${dest_dir}/${dest_file}": + owner => $user, + group => $calculated_group, + mode => 644, + content => template('monkeysphere/authorized_user_ids.erb'), + ensure => present, + recurse => true, + require => File[$dest_dir] + } + + exec { "monkeysphere-authentication update-users $user": + refreshonly => true, + require => [ File["monkeysphere_authentication_conf"], Package["monkeysphere"] ], + subscribe => File["${dest_dir}/${dest_file}"] + } +} |