Puppet Class: role::thumbor

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

Overview

Class: role::thumbor

Installs a Thumbor instance



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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'puppet/modules/role/manifests/thumbor.pp', line 4

class role::thumbor (
) {
    require ::role::varnish
    require ::role::statsd
    require ::role::memcached
    require ::role::pagedtiffhandler
    require ::role::pdfhandler
    require ::role::poolcounter
    require ::role::swift
    require ::role::three_d
    require ::role::timedmediahandler
    require ::role::multimedia
    require ::role::vipsscaler
    require ::role::wikimediamaintenance
    include ::apache::mod::proxy
    include ::apache::mod::proxy_http
    include ::apache::mod::headers
    include ::thumbor

    # This will generate a list of ports starting at 8889, with
    # as many ports as there are CPUs on the machine.
    $ports = sequence_array(8889, $::processorcount)

# Switch the haproxy section out for this to have nginx front thumbor
#    file { '/etc/nginx/prometheus.lua':
#        ensure => present,
#        source => 'puppet:///modules/role/thumbor/prometheus.lua',
#    }
#
#    nginx::site { 'thumbor':
#        content => template('role/thumbor/nginx.conf.erb'),
#        notify  => Service['nginx'],
#        require => File['/etc/nginx/prometheus.lua'],
#    }

    haproxy::site { 'thumbor':
        content => template('role/thumbor/haproxy.cfg.erb'),
    }

    mediawiki::settings { 'thumbor-repo':
        values   => template('role/thumbor/local_repo.php.erb'),
        # Needs to be higher priority that swift for the local repo override
        priority => 20,
    }

    mediawiki::settings { 'thumbor':
        values => {
            'wgUploadThumbnailRenderMethod' => 'http',
            'wgTiffUseTiffinfo'             => false,
            'wgIgnoreImageErrors'           => true,
            'wgDjvuRenderer'                => '/usr/bin/ddjvu',
            'wgDjvuDump'                    => '/usr/bin/djvudump',
            'wgDjvuToXML'                   => '/usr/bin/djvutoxml',
            'wgDjvuTxt'                     => '/usr/bin/djvutxt',
            'wgDjvuPostProcessor'           => '/usr/bin/ppmtojpeg',
            'wgDjvuOutputExtension'         => 'jpg',
            'wgFileExtensions'              => [
                'apng',
                'png',
                'gif',
                'jpg',
                'jpe',
                'jpeg',
                'xcf',
                'svg',
                'ogv',
                'webm',
                'djvu',
                'pdf',
                'stl',
                'tiff',
                'tif',
                'webp',
            ],
        },
    }
}