summaryrefslogtreecommitdiff
path: root/manifests/daemon.pp
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-01-25 15:29:07 -0200
committerSilvio Rhatto <rhatto@riseup.net>2013-01-25 15:29:07 -0200
commit5787a464504aca813c4063a712a4b3715ca156b6 (patch)
tree83a1b922a7de458b5b393aa38a7dc89be324983b /manifests/daemon.pp
parent0d8f86de91ee8bed32cd86075e98fa40cd8a6141 (diff)
downloadpuppet-puppet-5787a464504aca813c4063a712a4b3715ca156b6.tar.gz
puppet-puppet-5787a464504aca813c4063a712a4b3715ca156b6.tar.bz2
Refactoring for autoloading
Diffstat (limited to 'manifests/daemon.pp')
-rw-r--r--manifests/daemon.pp123
1 files changed, 123 insertions, 0 deletions
diff --git a/manifests/daemon.pp b/manifests/daemon.pp
new file mode 100644
index 0000000..27f3651
--- /dev/null
+++ b/manifests/daemon.pp
@@ -0,0 +1,123 @@
+# handles puppetd service
+class puppet::daemon(
+ $master = false,
+ $main_master = false,
+) {
+ include puppet
+
+ case $puppetmaster_port {
+ '': { $puppetmaster_port = "8140" }
+ }
+
+ case $puppetd_runinterval {
+ '': { $puppetd_runinterval = "7200" }
+ }
+
+ case $puppetd_configtimeout {
+ '': { $puppetd_configtimeout = "120" }
+ }
+
+ case $puppetd_server {
+ '': { $puppetd_server = "puppet.$domain" }
+ }
+
+ case $puppetd_ensure {
+ '': {
+ $puppetd_ensure = $lsbdistcodename ? {
+ 'squeeze' => '2.7.18-1~bpo60+1',
+ default => installed,
+ }
+ }
+ }
+
+ package { "puppet-common":
+ ensure => $puppetd_ensure,
+ }
+
+ package { "puppet":
+ ensure => $puppetd_ensure,
+ require => Package["cron", "puppet-common"],
+ }
+
+ file { "/etc/default/puppet":
+ source => "puppet://$server/modules/puppet/puppet",
+ owner => "root",
+ group => "root",
+ mode => 0644,
+ ensure => present,
+ notify => Service["puppet"],
+ }
+
+ service { "puppet":
+ enable => true,
+ ensure => running,
+ hasrestart => true,
+ require => [ Package["puppet"], File["/etc/default/puppet"] ],
+ }
+
+ # name of puppet agent section in config file
+ if $puppetversion <= "0.25.4" {
+ $puppet_agent_name = 'puppetd'
+ } else {
+ $puppet_agent_name = 'agent'
+ }
+
+ # default config file for puppet nodes
+ if ($master != true) or ($main_master != true) {
+ file { "/etc/puppet/puppet.conf":
+ ensure => file,
+ owner => puppet,
+ group => puppet,
+ content => template("puppet/puppet-node.conf.erb"),
+ }
+ } else {
+ file { "/etc/puppet/puppet.conf":
+ ensure => file,
+ owner => puppet,
+ group => puppet,
+ }
+ }
+
+ # cron rule to restart puppet minutes after puppetmaster is restarted
+ cron { "puppet-restart":
+ command => "/etc/init.d/puppet restart > /dev/null 2>&1",
+ user => root,
+ hour => "*/1",
+ minute => "10",
+ ensure => absent,
+ require => Service["puppet"],
+ }
+
+ file { "/usr/local/sbin/check-puppetd.sh":
+ content => template("puppet/check-puppetd.sh.erb"),
+ owner => "puppet",
+ group => "puppet",
+ mode => 0755,
+ ensure => present,
+ }
+
+ cron { "puppetd-check":
+ command => "/usr/local/sbin/check-puppetd.sh > /dev/null",
+ user => root,
+ hour => "*/1",
+ minute => "0",
+ require => File["/usr/local/sbin/check-puppetd.sh"],
+ ensure => present,
+ }
+
+ # thanks to https://labs.riseup.net/code/projects/shared-puppet
+ file { "/etc/cron.d/puppetd":
+ source => "puppet://$server/modules/puppet/cron.d/puppetd",
+ owner => root,
+ group => root,
+ mode => 0644;
+ }
+
+ # restore to original state after the following bug is addressed:
+ # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625626
+ if $lsbdistcodename == 'squeeze' {
+ file { "/etc/logrotate.d/puppetmaster":
+ ensure => absent,
+ }
+ }
+}