Defined Type: fifo_log_demux::instance

Defined in:
modules/fifo_log_demux/manifests/instance.pp

Overview

SPDX-License-Identifier: Apache-2.0

Parameters:

  • ensure (Wmflib::Ensure) (defaults to: present)
  • user (String) (defaults to: 'root')
  • fifo (Stdlib::Absolutepath) (defaults to: '/var/run/fifo.pipe')
  • socket (Stdlib::Absolutepath) (defaults to: '/var/run/log.socket')
  • create_fifo (Boolean) (defaults to: false)
  • fifo_owner (Optional[String]) (defaults to: undef)
  • fifo_group (Optional[String]) (defaults to: undef)
  • wanted_by (Optional[String]) (defaults to: undef)
  • fifo_mode (Optional[Stdlib::Filemode]) (defaults to: undef)


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
43
44
45
46
47
# File 'modules/fifo_log_demux/manifests/instance.pp', line 2

define fifo_log_demux::instance(
    Wmflib::Ensure $ensure = present,
    String $user = 'root',
    Stdlib::Absolutepath $fifo = '/var/run/fifo.pipe',
    Stdlib::Absolutepath $socket = '/var/run/log.socket',
    Boolean $create_fifo = false,
    Optional[String] $fifo_owner = undef,
    Optional[String] $fifo_group = undef,
    Optional[String] $wanted_by = undef,
    Optional[Stdlib::Filemode] $fifo_mode = undef,
) {
    include fifo_log_demux

    if $create_fifo and $ensure == 'present' {
        exec { "create_fifo@${title}":
            command => "/usr/bin/mkfifo ${fifo}",
            creates => $fifo,
        }

        file { $fifo:
            ensure  => $ensure,
            owner   => $fifo_owner,
            group   => $fifo_group,
            mode    => $fifo_mode,
            require => Exec["create_fifo@${title}"],
        }
    }

    # Removing this as we had Wants= in the [Install] section which would
    # perpetually keep the dependency on fifo-log-demux that we're trying to
    # remove from web servers. Once this is deployed we can remove this.
    file { '/etc/systemd/system/trafficserver.service.wants/fifo-log-demux@notpurge.service':
      ensure => 'absent',
    }
    file { '/etc/systemd/system/nginx.service.requires/fifo-log-demux@ncredir_access_log.service':
      ensure => 'absent',
    }

    systemd::service { "fifo-log-demux@${title}":
        ensure  => $ensure,
        # See above comment regarding removal of dependencies.
        # This can be uncommented when deployed.
        # restart => true,
        content => systemd_template('fifo-log-demux@'),
    }
}