Various fixes for irc module
This commit is contained in:
parent
f19ae66ba5
commit
089082ef20
4 changed files with 85 additions and 18 deletions
|
@ -1,5 +1,10 @@
|
|||
# Install IRC server.
|
||||
#
|
||||
# === Global variables
|
||||
#
|
||||
# $irc_motd:
|
||||
# IRC server message of the day.
|
||||
#
|
||||
class irc::server {
|
||||
|
||||
package { "ircd-ratbox":
|
||||
|
@ -8,9 +13,18 @@ class irc::server {
|
|||
|
||||
file { "/var/lib/ratbox":
|
||||
ensure => directory,
|
||||
mode => "0700",
|
||||
owner => "irc",
|
||||
group => "irc",
|
||||
mode => "0700",
|
||||
require => Package["ircd-ratbox"],
|
||||
}
|
||||
|
||||
file { "/etc/ircd-ratbox/ircd.motd":
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
owner => "irc",
|
||||
group => "irc",
|
||||
content => "${irc_motd}",
|
||||
require => Package["ircd-ratbox"],
|
||||
}
|
||||
|
||||
|
@ -38,12 +52,48 @@ class irc::services inherits irc::server {
|
|||
|
||||
# Configure IRC network.
|
||||
#
|
||||
define irc::network($desc, $servername, $serverdesc,
|
||||
$port, $sslport, $operpass, $userpass="",
|
||||
$services=false, $servpass="") {
|
||||
# === Parameters
|
||||
#
|
||||
# $name:
|
||||
# IRC network name.
|
||||
# $desc:
|
||||
# IRC network description.
|
||||
# $servername:
|
||||
# Name of this IRC server.
|
||||
# $serverdesc:
|
||||
# Desription of this IRC server.
|
||||
# $port:
|
||||
# Port to listen.
|
||||
# $sslport:
|
||||
# Port to listen with SSL.
|
||||
# $sslcert:
|
||||
# Certificate source. Defaults to generated self signed cert.
|
||||
# $operator:
|
||||
# List of allowed operators. Defaults to ["*@127.0.0.1"].
|
||||
# $operpass:
|
||||
# Password required for gaining operator privileges.
|
||||
# $userpass:
|
||||
# Password required for joining this server.
|
||||
# $service:
|
||||
# Enabled IRC services. Defaults to false.
|
||||
# $servpass:
|
||||
# Password for IRC services.
|
||||
# $ident:
|
||||
# Use ident service. Defaults to false.
|
||||
#
|
||||
define irc::network($desc, $servername, $serverdesc, $port, $sslport,
|
||||
$sslcert="", $operator=["*@127.0.0.1"], $operpass,
|
||||
$userpass="", $services=false, $servpass="",
|
||||
$ident=false) {
|
||||
|
||||
include irc::server
|
||||
|
||||
if $ident == false {
|
||||
$disable_identd = "yes";
|
||||
} else {
|
||||
$disable_identd = "no";
|
||||
}
|
||||
|
||||
file { "/var/lib/ratbox/${name}":
|
||||
ensure => directory,
|
||||
owner => "irc",
|
||||
|
@ -66,12 +116,23 @@ define irc::network($desc, $servername, $serverdesc,
|
|||
require => File["/var/lib/ratbox/${name}"],
|
||||
}
|
||||
|
||||
ssl::certificate { "/var/lib/ratbox/${name}/ircd.pem":
|
||||
cn => $servername,
|
||||
mode => "0600",
|
||||
owner => "irc",
|
||||
group => "irc",
|
||||
require => File["/var/lib/ratbox/${name}"],
|
||||
if $sslcert {
|
||||
file { "/var/lib/ratbox/${name}/ircd.pem":
|
||||
ensure => present,
|
||||
mode => "0600",
|
||||
owner => "irc",
|
||||
group => "irc",
|
||||
source => "${sslcert}",
|
||||
require => File["/var/lib/ratbox/${name}"],
|
||||
}
|
||||
} else {
|
||||
ssl::certificate { "/var/lib/ratbox/${name}/ircd.pem":
|
||||
cn => "${servername}",
|
||||
mode => "0600",
|
||||
owner => "irc",
|
||||
group => "irc",
|
||||
require => File["/var/lib/ratbox/${name}"],
|
||||
}
|
||||
}
|
||||
|
||||
ssl::dhparam { "/var/lib/ratbox/${name}/dh.pem":
|
||||
|
@ -102,6 +163,7 @@ define irc::network($desc, $servername, $serverdesc,
|
|||
ensure => running,
|
||||
enable => true,
|
||||
status => "pgrep -u irc -f /var/lib/ratbox/${name}",
|
||||
restart => "/etc/init.d/ircd-${name} reload",
|
||||
}
|
||||
|
||||
if $services == true {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue