- set prodinf01n48 as primary cobbler node - ensure the cobbler DNS record is created
78 lines
2.3 KiB
Puppet
78 lines
2.3 KiB
Puppet
# profiles::cobbler::config
|
|
class profiles::cobbler::config {
|
|
|
|
include profiles::cobbler::params
|
|
|
|
$default_password_crypted = $profiles::cobbler::params::default_password_crypted
|
|
$httpd_ssl_certificate = $profiles::cobbler::params::httpd_ssl_certificate
|
|
$httpd_ssl_privatekey = $profiles::cobbler::params::httpd_ssl_privatekey
|
|
$pxe_just_once = $profiles::cobbler::params::pxe_just_once
|
|
$is_cobbler_master = $profiles::cobbler::params::is_cobbler_master
|
|
$service_cname = $profiles::cobbler::params::service_cname
|
|
$next_server = $profiles::cobbler::params::next_server
|
|
$server = $profiles::cobbler::params::server
|
|
|
|
# manage the cobbler settings file
|
|
file { '/etc/cobbler/settings.yaml':
|
|
ensure => 'file',
|
|
content => template('profiles/cobbler/settings.yaml.erb'),
|
|
group => 'apache',
|
|
owner => 'root',
|
|
mode => '0640',
|
|
require => Package['cobbler'],
|
|
notify => Service['cobblerd'],
|
|
}
|
|
|
|
# manage the debmirror config to meet cobbler requirements
|
|
file { '/etc/debmirror.conf':
|
|
ensure => 'file',
|
|
content => template('profiles/cobbler/debmirror.conf.erb'),
|
|
group => 'root',
|
|
owner => 'root',
|
|
mode => '0644',
|
|
require => Package['debmirror'],
|
|
}
|
|
|
|
# manage the httpd ssl configuration
|
|
file { '/etc/httpd/conf.d/ssl.conf':
|
|
ensure => 'file',
|
|
content => template('profiles/cobbler/httpd_ssl.conf.erb'),
|
|
group => 'root',
|
|
owner => 'root',
|
|
mode => '0644',
|
|
require => Package['httpd'],
|
|
notify => Service['httpd'],
|
|
}
|
|
|
|
# fix permissions in /var/lib/cobbler/web.ss
|
|
file {'/var/lib/cobbler/web.ss':
|
|
ensure => 'file',
|
|
group => 'root',
|
|
owner => 'apache',
|
|
mode => '0660',
|
|
require => Package['cobbler'],
|
|
notify => Service['cobblerd'],
|
|
}
|
|
|
|
# manage the main ipxe menu script
|
|
file { '/var/lib/tftpboot/main.ipxe':
|
|
ensure => 'file',
|
|
content => template('profiles/cobbler/main.ipxe.erb'),
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
require => Package['cobbler'],
|
|
}
|
|
|
|
# export cnames for cobbler
|
|
if $is_cobbler_master {
|
|
profiles::dns::record { "${::facts['networking']['fqdn']}_${service_cname}_CNAME":
|
|
value => $::facts['networking']['hostname'],
|
|
type => 'CNAME',
|
|
record => "${service_cname}.",
|
|
zone => $::facts['networking']['domain'],
|
|
order => 10,
|
|
}
|
|
}
|
|
}
|