- manage the service - manage the package, version lock it - deploy the /etc/puppetlabs/puppet/puppet.conf from template for puppet clients only
51 lines
1.5 KiB
Puppet
51 lines
1.5 KiB
Puppet
# Class: profiles::puppet::client
|
|
#
|
|
# This class manages Puppet client configuration and service.
|
|
#
|
|
# Parameters:
|
|
# vardir - Directory path for variable data.
|
|
# logdir - Directory path for logs.
|
|
# rundir - Directory path for run-time data.
|
|
# pidfile - File path for the PID file.
|
|
# codedir - Directory path for code data.
|
|
# dns_alt_names - Array of alternate DNS names for the server.
|
|
# server - Server's name.
|
|
#
|
|
# site/profile/manifests/puppet/client.pp
|
|
class profiles::puppet::client (
|
|
String $dns_alt_names = $trusted['certname'],
|
|
String $server = 'puppetmaster',
|
|
String $ca_server = 'puppetca',
|
|
String $environment = 'develop',
|
|
Integer $runinterval = 1800,
|
|
Integer $runtimeout = 3600,
|
|
Boolean $show_diff = true,
|
|
Boolean $usecacheonfailure = false,
|
|
String $puppet_version = 'latest',
|
|
) {
|
|
|
|
# Ensure the puppet-agent package is installed and locked to a specific version
|
|
package { 'puppet-agent':
|
|
ensure => $puppet_version,
|
|
}
|
|
|
|
# Ensure the puppet service is running
|
|
service { 'puppet':
|
|
ensure => 'running',
|
|
enable => true,
|
|
hasrestart => true,
|
|
require => Package['puppet-agent'],
|
|
}
|
|
|
|
# Assuming you want to manage puppet.conf with this profile
|
|
file { '/etc/puppetlabs/puppet/puppet.conf':
|
|
ensure => 'present',
|
|
content => template('profiles/puppet/client/puppet.conf.erb'),
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
notify => Service['puppet'],
|
|
}
|
|
}
|
|
|