Puppet Class: profile::mariadb::misc::tendril

Defined in:
modules/profile/manifests/mariadb/misc/tendril.pp

Overview

tendril.wikimedia.org db



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
48
49
50
51
52
53
54
# File 'modules/profile/manifests/mariadb/misc/tendril.pp', line 2

class profile::mariadb::misc::tendril {

    include mariadb::packages_wmf

    require_package('libodbc1') # hack to fix CONNECT dependency

    include passwords::misc::scripts

    class { 'profile::mariadb::monitor::prometheus':
        mysql_group => 'misc',
        mysql_shard => 'tendril',
        mysql_role  => 'standalone', # FIXME
    }
    class { 'mariadb::monitor_disk':
        is_critical   => false,
        contact_group => 'admins',
    }

    class { 'mariadb::monitor_process':
        is_critical   => false,
        contact_group => 'admins',
    }

    mariadb::monitor_readonly { [ 'tendril' ]:
        read_only     => false,
        is_critical   => false,
        contact_group => 'admins',
    }

    if os_version('debian >= buster') {
        $basedir = '/opt/wmf-mariadb104'
    } else {
        $basedir = '/opt/wmf-mariadb101'
    }
    class { 'mariadb::config':
        basedir       => $basedir,
        config        => 'profile/mariadb/mysqld_config/tendril.my.cnf.erb',
        datadir       => '/srv/sqldata',
        tmpdir        => '/srv/tmp',
        binlog_format => 'ROW',
        p_s           => 'on',
        ssl           => 'puppet-cert',
    }

    # Firewall rules for the tendril db hosts so they can be accessed
    # by tendril and dbtree web server (on a public ip)
    ferm::service { 'tendril-backend':
        proto   => 'tcp',
        port    => '3306',
        notrack => true,
        srange  => '@resolve((dbmonitor1001.wikimedia.org dbmonitor2001.wikimedia.org))',
    }
}