Puppet Class: proxysql::install

Defined in:
manifests/install.pp

Summary

This class is called from proxysql for install.

Overview



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
# File 'manifests/install.pp', line 4

class proxysql::install {
  if $proxysql::package_source {
    case $facts['os']['family'] {
      'Debian': {
        $real_package_source = '/root/proxysql-package.deb'

        archive { $real_package_source:
          ensure        => present,
          source        => $proxysql::package_source,
          checksum      => $proxysql::package_checksum_value,
          checksum_type => $proxysql::package_checksum_type,
          before        => Package[$proxysql::package_name],
        }
      }
      default: {
        $real_package_source = $proxysql::package_source
      }
    }

    ensure_packages($proxysql::package_dependencies)
    package { $proxysql::package_name:
      ensure          => $proxysql::package_ensure,
      source          => $real_package_source,
      provider        => $proxysql::package_provider,
      install_options => $proxysql::package_install_options,
    }
  } else {
    # Install from a repo
    package { $proxysql::package_name:
      ensure          => $proxysql::package_ensure,
      install_options => $proxysql::package_install_options,
    }
  }

  file { 'proxysql-datadir':
    ensure => directory,
    path   => $proxysql::datadir,
    owner  => $proxysql::sys_owner,
    group  => $proxysql::sys_group,
    mode   => $proxysql::datadir_mode,
  }

  if $proxysql::errorlog_file {
    file { $proxysql::errorlog_file:
      ensure => file,
      path   => $proxysql::errorlog_file,
      owner  => $proxysql::errorlog_file_owner,
      group  => $proxysql::errorlog_file_group,
      mode   => $proxysql::errorlog_file_mode,
    }
  }

  if $proxysql::manage_mysql_client {
    class { 'mysql::client':
      package_name    => $proxysql::mysql_client_package_name,
      bindings_enable => false,
    }

    Class['mysql::client::install']
    -> Class['proxysql::admin_credentials']

    Class['mysql::client::install']
    -> Class['proxysql::reload_config']
  }
}