initial
This commit is contained in:
208
manifests/.svn/text-base/init.pp.svn-base
Normal file
208
manifests/.svn/text-base/init.pp.svn-base
Normal file
@@ -0,0 +1,208 @@
|
||||
# $Id$
|
||||
|
||||
class puppet ($ensure="present",
|
||||
$norunifloggedin=false,
|
||||
$daemonize=true,
|
||||
$run_hour="*/1",
|
||||
$run_minute="10"
|
||||
){
|
||||
|
||||
$puppet_service = $kernel ? {
|
||||
"Darwin" => "org.macports.puppet",
|
||||
"FreeBSD" => "puppetd",
|
||||
default => "puppet"
|
||||
}
|
||||
$factpath="/var/lib/puppet/lib/facter"
|
||||
case $kernel {
|
||||
"Linux": {
|
||||
$puppetpkgs = ["puppet","puppet-common"]
|
||||
Package { provider => "apt" }
|
||||
#Package["puppet-common"]{ before => Package["puppet"] }
|
||||
}
|
||||
default: {
|
||||
$puppetpkgs = "puppet"
|
||||
}
|
||||
}
|
||||
$puppet_linuxversion_real = $PUPPET_VERSION_LINUX ? {
|
||||
"" => "latest",
|
||||
default => $PUPPET_VERSION_LINUX,
|
||||
}
|
||||
# case $kernel {
|
||||
# "Linux": {
|
||||
# exec{"apt-get install -y puppet=$PUPPET_VERSION_LINUX puppet-common=${PUPPET_VERSION_LINUX}":
|
||||
# onlyif => "apt-show-versions -a puppet |tail -1 |grep -q upgradeable",
|
||||
# }
|
||||
# }
|
||||
# default: {
|
||||
package{$puppetpkgs:
|
||||
ensure => $ensure ? {
|
||||
"present" => $kernel ? {
|
||||
"Linux" => $puppet_linuxversion_real,
|
||||
default => $ensure,
|
||||
}
|
||||
},
|
||||
notify => Service["${puppet_service}"],
|
||||
}
|
||||
# }
|
||||
# }
|
||||
|
||||
package{["facter"]: ensure => "${ensure}", }
|
||||
|
||||
|
||||
service { "${puppet_service}":
|
||||
hasstatus => true,
|
||||
enable => "${daemonize}",
|
||||
ensure => "${daemonize}",
|
||||
}
|
||||
|
||||
$cron_real = $daemonize ? {
|
||||
false => "present",
|
||||
true => "absent",
|
||||
default => $ensure,
|
||||
}
|
||||
|
||||
notice("${fqdn} PUPPET-CRON: cron_real: ${cron_real}, daemonize: ${daemonize}, running: ${service_running}")
|
||||
cron { puppetrun:
|
||||
command => "/usr/local/sbin/puppetd_run.sh",
|
||||
user => root,
|
||||
minute => $run_minute,
|
||||
hour => $run_hour,
|
||||
ensure => "${cron_real}",
|
||||
}
|
||||
$maxsleep = 6400
|
||||
file{"/usr/local/sbin/puppetd_run.sh":
|
||||
content => template("puppet/puppetd_run.sh.erb"),
|
||||
mode => 0700,
|
||||
alias => "puppetd_run.sh",
|
||||
ensure => "${ensure}",
|
||||
}
|
||||
case $kernel {
|
||||
"Darwin": {
|
||||
file{"/Library/LaunchDaemons/org.macports.puppet.plist":
|
||||
source => "puppet:///modules/puppet/org.macports.puppet.plist",
|
||||
before => Service["${puppet_service}"],
|
||||
}
|
||||
file{"/opt/local/lib/ruby/site_ruby/1.8/puppet/provider/package/appdmg.rb":
|
||||
ensure => "absent",
|
||||
}
|
||||
}
|
||||
"Linux": {
|
||||
replace {"enable_puppet":
|
||||
file => "/etc/default/puppet",
|
||||
pattern => "START=no",
|
||||
replacement => "START=yes",
|
||||
before => Service["${puppet_service}"],
|
||||
}
|
||||
monit::process{"puppet":
|
||||
start => "/etc/init.d/puppet start",
|
||||
stop => "/etc/init.d/puppet stop",
|
||||
pidfile => "/var/run/puppet/agent.pid",
|
||||
additional => "if totalmem > 400 Mb for 10 cycles then RESTART",
|
||||
ensure => $daemonize ? {
|
||||
"true" => "present",
|
||||
default => "absent",
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$puppet_user = $operatingsystem ? {
|
||||
"Darwin" => $adm,
|
||||
default => "puppet",
|
||||
}
|
||||
$puppet_group = $operatingsystem ? {
|
||||
"Darwin" => "wheel",
|
||||
default => "puppet",
|
||||
}
|
||||
#"FreeBSD" => "/usr/local/etc/puppet/puppet.conf",
|
||||
$puppetconf = $operatingsystem ? {
|
||||
default => "/etc/puppet/puppet.conf",
|
||||
}
|
||||
|
||||
file{$puppetconf:
|
||||
content => template("puppet/puppet.conf.erb"),
|
||||
mode => 0644,
|
||||
owner => $puppet_user,
|
||||
ensure => "${ensure}",
|
||||
# require => [ Package["puppet"] ],
|
||||
}
|
||||
|
||||
#add facter variable to custom facts.
|
||||
file{"/etc/profile.d/puppet.sh":
|
||||
content => "export FACTERLIB=\"${factpath}\"\n",
|
||||
ensure => $ensure,
|
||||
}
|
||||
}
|
||||
|
||||
@@puppet::puppetmaster::privatedir{ $fqdn :
|
||||
l_fqdn => generate('/usr/bin/env', 'perl', '-e', '$_=shift;tr/[A-Z]/[a-z]/;print $_',"$fqdn")
|
||||
}
|
||||
|
||||
class puppet::puppet-dashboard ($ensure="present") {
|
||||
|
||||
package{["libjson-ruby","puppet-dashboard"]:
|
||||
ensure => $ensure,
|
||||
require => Apt::Repository["puppet-dashboard"],
|
||||
}
|
||||
apt::repository{"puppet-dashboard":
|
||||
key => "8347A27F",
|
||||
repository => "deb http://apt.puppetlabs.com/ubuntu lucid main\ndeb-src http://apt.puppetlabs.com/ubuntu lucid main\n",
|
||||
ensure => $ensure,
|
||||
}
|
||||
cron {"purge-reports":
|
||||
command => "cd /usr/share/puppet-dashboard && rake RAILS_ENV=production reports:prune upto=14 unit=day",
|
||||
user => "www-data",
|
||||
hour => "23",
|
||||
minute => "2",
|
||||
monthday => "*/14",
|
||||
ensure => $ensure,
|
||||
}
|
||||
|
||||
cron {"purge-optimizedb":
|
||||
command => "cd /usr/share/puppet-dashboard && rake RAILS_ENV=production db:raw:optimize",
|
||||
user => "www-data",
|
||||
hour => "23",
|
||||
minute => "20",
|
||||
monthday => "*/10",
|
||||
ensure => $ensure,
|
||||
}
|
||||
}
|
||||
|
||||
class puppet::puppetmaster ($ensure="present") {
|
||||
class{"activemq": ensure => $ensure }
|
||||
|
||||
package{"libnet-arp-perl": ensure => $ensure }
|
||||
Ganglia::Gmetric::Cron {
|
||||
source => "puppet/ganglia",
|
||||
ensure => "${ensure}",
|
||||
}
|
||||
ganglia::gmetric::cron{"puppetmaster.rb":
|
||||
runwhen => "5",
|
||||
}
|
||||
ganglia::gmetric::cron{"puppetmaster_compiletime.rb":
|
||||
runwhen => "60",
|
||||
}
|
||||
|
||||
service{"stompserver":
|
||||
ensure => false,
|
||||
enable => false,
|
||||
before => Class["activemq"],
|
||||
}
|
||||
service{"puppetqd":
|
||||
ensure => running,
|
||||
pattern => "puppet queue queue",
|
||||
enable => true,
|
||||
}
|
||||
### remove disk reports from time to time
|
||||
tidy{"${puppet_vardir}/reports":
|
||||
age => "1d",
|
||||
recurse => true,
|
||||
backup => false,
|
||||
}
|
||||
|
||||
# create [private] directories
|
||||
file { $puppet_privdir: ensure => directory }
|
||||
Puppet::Puppetmaster::Privatedir <<| |>>
|
||||
}
|
||||
|
||||
import "defines/*.pp"
|
||||
Reference in New Issue
Block a user