summaryrefslogtreecommitdiff
path: root/manifests/master/dashboard.pp
blob: 951ece276c3cd5505cd380e376d1092bd086732d (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
class puppet::master::dashboard(
  $settings       = {},
  $service        = true,
  $mysql_password,
) {

  package{'puppet-dashboard':
    ensure => installed,
  } -> mysql::default_database{
    'dashboard':
      password => $mysql_password;
  } -> file{
    '/usr/share/puppet-dashboard/config/database.yml':
      content => template('puppet/master/dashboard/database.yml.erb'),
      owner   => root,
      group   => 'puppet-dashboard',
      mode    => '0640';
    '/usr/share/puppet-dashboard/config/settings.yml':
      content => template('puppet/master/dashboard/settings.yml.erb'),
      owner   => root,
      group   => 'puppet-dashboard',
      mode    => '0640';
  } ~> exec{
    'rake RAILS_ENV=production db:migrate':
      cwd         => '/usr/share/puppet-dashboard',
      user        => 'puppet-dashboard',
      refreshonly => true;
  } -> service{
    'puppet-dashboard-workers':
      ensure  => running,
      enable  => true;
  }

  service{'puppet-dashboard': }
  if $service {
    Service['puppet-dashboard']{
      ensure  => running,
      enable  => true,
      subscribe => File['/usr/share/puppet-dashboard/config/database.yml','/usr/share/puppet-dashboard/config/settings.yml'],
    }
  } else {
    Service['puppet-dashboard']{
      ensure  => stopped,
      enable  => false,
    }
  }
}