Puppet Class: trafficserver

Defined in:
modules/trafficserver/manifests/init.pp

Overview

Parameters:

  • user (String) (defaults to: 'trafficserver')
  • packages (Array[String]) (defaults to: ['trafficserver', 'trafficserver-experimental-plugins'])


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/trafficserver/manifests/init.pp', line 12

class trafficserver(
  String        $user         = 'trafficserver',
  Array[String] $packages     = ['trafficserver', 'trafficserver-experimental-plugins'],
) {
    # Mask trafficserver.service if the package is not installed yet. The
    # unless is deplorable but there is no way in Puppet to execute a command
    # only if a package is being installed but before package installation.
    systemd::mask { 'trafficserver.service':
        unless => '/usr/bin/dpkg -s trafficserver | /bin/grep -q "^Status: install ok installed$"',
    }

    ## Packages
    package { $packages:
        ensure  => present,
        require => [ Exec['apt-get update'], Systemd::Mask['trafficserver.service'] ],
    }

    # Script used to depool, restart and pool an ATS instance
    file { '/usr/local/sbin/ats-restart':
        ensure => present,
        source => 'puppet:///modules/trafficserver/ats_restart.sh',
        mode   => '0555',
        owner  => 'root',
        group  => 'root',
    }

    rsyslog::conf { 'trafficserver':
        content  => file('trafficserver/rsyslog.conf'),
        priority => 20,
    }
}