Puppet Class: mw_rc_irc::ircserver
- Defined in:
- modules/mw_rc_irc/manifests/ircserver.pp
Overview
Sets up the Wikimedia (read-only) IRCd This is a modified ircd server and is not suitable for a general ircd deployment
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'modules/mw_rc_irc/manifests/ircserver.pp', line 4
class mw_rc_irc::ircserver {
ensure_packages(['ircd-ratbox', 'irssi'])
# public part of the ircd config
file {
default:
mode => '0444',
owner => 'irc',
group => 'irc';
'/usr/etc/ircd.conf':
notify => Service['ircd'],
content => template('mw_rc_irc/ircd.conf.erb');
'/usr/etc/auth.conf':
notify => Service['ircd'],
show_diff => false,
content => secret('mw_rc_irc/auth.conf');
'/usr/etc/operator.conf':
notify => Service['ircd'],
show_diff => false,
content => secret('mw_rc_irc/operator.conf');
'/usr/etc/ircd.motd':
notify => Exec['reload ircd-motd'],
content => template('mw_rc_irc/motd.erb');
}
exec {'reload ircd-motd':
command => '/usr/bin/systemctl kill --signal=SIGUSR1 ircd',
refreshonly => true,
}
systemd::service { 'ircd':
content => file('mw_rc_irc/systemd/ircd.service'),
service_params => {'restart' => '/usr/bin/systemctl reload ircd'},
}
monitoring::service { 'ircd':
description => 'ircd',
check_command => 'check_ircd',
critical => true,
notes_url => 'https://wikitech.wikimedia.org/wiki/Irc.wikimedia.org',
}
prometheus::blackbox::check::tcp { 'mw_rc_irc':
port => 6667,
query_response => [
{ 'send' => 'NICK prober' },
{ 'send' => 'USER prober prober prober :prober' },
{ 'expect' => '^:[^ ]+ 376 .*' }, # end of MOTD
],
}
}
|