Merge atheme and charybdis modules from parameterize

This commit is contained in:
Ossi Salmi 2015-05-06 13:48:16 +03:00
parent e8c6de331c
commit f04fc7f5d1
4 changed files with 2446 additions and 0 deletions

121
atheme/manifests/init.pp Normal file
View file

@ -0,0 +1,121 @@
# Use default values from charybdis if defined.
#
class atheme::params {
if $::charybdis::services_name {
$services_name = $::charybdis::services_name
} else {
$services_name = 'ircservices.localdomain'
}
if $::charybdis::network_name {
$network_name = $::charybdis::network_name
} else {
$network_name = 'IRC Network'
}
if $::charybdis::admin_name {
$admin_name = $::charybdis::admin_name
} else {
$admin_name = 'Administrator'
}
if $::charybdis::admin_email {
$admin_email = $::charybdis::admin_email
} else {
$admin_email = 'root@localhost'
}
if $::charybdis::server_name {
$uplink_name = $::charybdis::server_name
} else {
$uplink_name = undef
}
if $::charybdis::port {
$uplink_port = $::charybdis::port
} else {
$uplink_port = '6667'
}
if $::charybdis::services_password {
$uplink_password = $::charybdis::services_password
} else {
$uplink_password = undef
}
}
# Install Atheme IRC services.
#
class atheme(
$sid='00B',
$services_name=$atheme::params::services_name,
$services_description='Atheme IRC Services',
$network_name=$atheme::params::network_name,
$admin_name=$atheme::params::admin_name,
$admin_email=$atheme::params::admin_email,
$hidehostsuffix='hiddendomain',
$uplink_name=$atheme::params::uplink_name,
$uplink_port=$atheme::params::uplink_port,
$uplink_password=$atheme::params::uplink_password,
$operators=[],
) inherits atheme::params {
case $::operatingsystem {
'ubuntu': { }
default: {
fail("atheme not supported on ${::operatingsystem}")
}
}
if ! $uplink_name {
fail('Must define $uplink_name')
}
if ! $uplink_password {
fail('Must define $uplink_password')
}
package { 'atheme-services':
ensure => installed,
}
file { '/etc/atheme/atheme.conf':
ensure => present,
mode => '0644',
owner => 'root',
group => 'root',
content => template('atheme/atheme.conf.erb'),
require => Package['atheme-services'],
notify => Service['atheme-services'],
}
augeas { 'atheme-enable':
context => '/files/etc/default/atheme-services',
changes => 'set ENABLED 1',
notify => Service['atheme-services'],
}
service { 'atheme-services':
ensure => running,
enable => true,
hasstatus => false,
}
file { '/var/log/atheme':
ensure => directory,
mode => '0640',
owner => 'irc',
group => 'irc',
recurse => true,
require => Service['atheme-services'],
}
if defined(Service['charybdis']) {
Service['atheme-services'] {
require => Service['charybdis'],
}
}
}

File diff suppressed because it is too large Load diff