Puppet Class: role::eventbus

Defined in:
puppet/modules/role/manifests/eventbus.pp

Overview

Class role::eventbus

Sets up mediawiki EventBus extension and an EventGate instance. EventGate listens for POSTs of events on port 8192.

By default, eventgate will output events to the /vagrant/logs/eventgate-events.json log file, or to whatever the eventgate::output parameter is set (in hiera). If eventgate::output == 'kafka', Kafka will be installed and events will be produced to Kafka.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'puppet/modules/role/manifests/eventbus.pp', line 11

class role::eventbus {
    # NOTE: Set npm::node_version: 10 in hiera
    $node_version = lookup('npm::node_version', {default_value => undef})
    if (!$node_version or $node_version < 10) {
        warning('EventBus role requires the EventGate service, which requires NodeJS 10. To use it, run `vagrant hiera npm::node_version 10 && vagrant provision`. (Might break other services.)')
    }

    include ::eventgate
    $eventgate_url = $::eventgate::url # Used in EventBus.php.erb template.

    # Configure EventBus extension to produce events to EventGate
    mediawiki::extension { 'EventBus':
        priority => $::load_early,
        settings => template('role/eventbus/EventBus.php.erb'),
    }

}