Puppet Class: profile::etherpad
- Defined in:
- modules/profile/manifests/etherpad.pp
Overview
sets up an Etherpad lite server
2 3 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 |
# File 'modules/profile/manifests/etherpad.pp', line 2
class profile::etherpad(
Stdlib::IP::Address $listen_ip = lookup('profile::etherpad::listen_ip'),
){
include ::passwords::etherpad_lite
include ::profile::prometheus::etherpad_exporter
class { '::etherpad':
etherpad_db_user => $passwords::etherpad_lite::etherpad_db_user,
etherpad_db_host => $passwords::etherpad_lite::etherpad_db_host,
etherpad_db_name => $passwords::etherpad_lite::etherpad_db_name,
etherpad_db_pass => $passwords::etherpad_lite::etherpad_db_pass,
etherpad_ip => $listen_ip,
}
# Icinga process monitoring, T82936
nrpe::monitor_service { 'etherpad-lite-proc':
description => 'etherpad_lite_process_running',
nrpe_command => "/usr/lib/nagios/plugins/check_procs -c 1:1 --ereg-argument-array='^/usr/bin/nodejs /usr/share/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js'",
notes_url => 'https://wikitech.wikimedia.org/wiki/Etherpad.wikimedia.org',
}
monitoring::service { 'etherpad-lite-http':
description => 'etherpad.wikimedia.org HTTP',
check_command => 'check_http_port_url!9001!/',
notes_url => 'https://wikitech.wikimedia.org/wiki/Etherpad.wikimedia.org',
}
ferm::service { 'etherpad_service':
proto => 'tcp',
port => '9001',
srange => '$CACHES',
}
# Ship etherpad server logs to ELK using startmsg_regex pattern to join multi-line events based on datestamp
# example: [2018-11-30 21:32:43.412]
rsyslog::input::file { 'etherpad-multiline':
path => '/var/log/etherpad-lite/etherpad-lite.log',
startmsg_regex => '^\\\\[[0-9,-\\\\ \\\\:]+\\\\]',
}
}
|