From d2852466f2961f9af46057f9410b5d96457337f8 Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 20 May 2013 21:56:53 +0200 Subject: add a simple dashboard setup --- manifests/master/dashboard.pp | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 manifests/master/dashboard.pp (limited to 'manifests') diff --git a/manifests/master/dashboard.pp b/manifests/master/dashboard.pp new file mode 100644 index 0000000..16d796e --- /dev/null +++ b/manifests/master/dashboard.pp @@ -0,0 +1,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.yaml': + content => template('puppet/master/dashboard/database.yaml.erb'), + owner => 'puppet-dashboard', + group => 'puppet-dashboard', + mode => '0640'; + '/usr/share/puppet-dashboard/config/settings.yaml': + content => template('puppet/master/dashboard/settings.yaml.erb'), + owner => 'puppet-dashboard', + 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.yaml','/usr/share/puppet-dashboard/config/settings.yaml'], + } + } else { + Service['puppet-dashboard']{ + ensure => stopped, + enable => false, + } + } +} -- cgit v1.2.3