commit 56ee9b1bd66c2397218c18d6dd13ffd457dd9166 Author: Timo Makinen Date: Wed Aug 19 23:58:09 2009 +0300 Initial version of puppet module. diff --git a/puppet/manifests/init.pp b/puppet/manifests/init.pp new file mode 100644 index 0000000..5d4831a --- /dev/null +++ b/puppet/manifests/init.pp @@ -0,0 +1,59 @@ + +class puppet::client { + + case $operatingsystem { + OpenBSD: { $vardir = "/var/puppet" } + default: { $vardir = "/var/lib/puppet" } + } + + case $operatingsystem { + centos,fedora: { + package { "ruby-shadow": + ensure => installed, + } + } + } + + package { "puppet": + name => $operatingsystem ? { + OpenBSD => "ruby-puppet", + default => "puppet", + }, + ensure => present, + } + + file { "/etc/puppet/puppet.conf": + ensure => present, + content => template("puppet/puppet.conf.erb"), + mode => 0600, + owner => root, + group => $operatingsystem ? { + OpenBSD => wheel, + default => root + }, + require => Package["puppet"], + notify => Service["puppet"], + } + + service { "puppet": + ensure => running, + enable => true, + require => Package["puppet"], + } + + case $operatingsystem { + OpenBSD: { + Service["puppet"] { + binary => "/usr/local/bin/puppetd", + start => "/usr/local/bin/puppetd", + pattern => puppetd, + } + } + default: { + Service["puppet"] { + hasrestart => true, + } + } + } + +} diff --git a/puppet/templates/puppet.conf.erb b/puppet/templates/puppet.conf.erb new file mode 100644 index 0000000..67fa186 --- /dev/null +++ b/puppet/templates/puppet.conf.erb @@ -0,0 +1,42 @@ +[main] + # Where Puppet stores dynamic and growing data. + # The default value is '/var/puppet'. + vardir = <%= vardir %> + +<% if kernel == 'Linux' -%> + # The Puppet log directory. + # The default value is '$vardir/log'. + logdir = /var/log/puppet + + # Where Puppet PID files are kept. + # The default value is '$vardir/run'. + rundir = /var/run/puppet + + # Where SSL certificates are kept. + # The default value is '$confdir/ssl'. + ssldir = $vardir/ssl + +<% end -%> + # Enable sending reports to puppet server. + report = true + + # Enable sync of plugins and facts + pluginsync = true + pluginsignore = .svn CVS RCS + factpath = $vardir/lib/facter + +[puppetd] + # The file in which puppetd stores a list of the classes + # associated with the retrieved configuratiion. Can be loaded in + # the separate ``puppet`` executable using the ``--loadclasses`` + # option. + # The default value is '$confdir/classes.txt'. + classfile = $vardir/classes.txt + + # Where puppetd caches the local configuration. An + # extension indicating the cache format is added automatically. + # The default value is '$confdir/localconfig'. + localconfig = $vardir/localconfig + + # Enable dot graphs of configuration depencies + graph = true