aboutsummaryrefslogtreecommitdiff
path: root/manifests/authorized_user_ids.pp
blob: d400890702d4a85de7b7a3641c015949ee034130 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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}"] 
  }
}