Puppet Class: proxysql::admin_credentials

Defined in:
manifests/admin_credentials.pp

Summary

This class is called from proxysql for service config.

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

class proxysql::admin_credentials {
  if $proxysql::manage_mycnf_file {
    $mycnf_file_name = $proxysql::mycnf_file_name
    $admin_credentials = $proxysql::config_settings['admin_variables']['admin_credentials']
    $admin_interfaces = $proxysql::config_settings['admin_variables']['mysql_ifaces']
    exec { 'proxysql-admin-credentials':
      command => "/usr/bin/mysql --defaults-extra-file=${mycnf_file_name} --execute=\"
        SET admin-admin_credentials = '${admin_credentials}'; \
        SET admin-mysql_ifaces = '${admin_interfaces}'; \
        LOAD ADMIN VARIABLES TO RUNTIME; \
        SAVE ADMIN VARIABLES TO DISK;\"
      ",
      onlyif  => "/usr/bin/test \
        `/usr/bin/mysql --defaults-extra-file=${mycnf_file_name} -BN \
          --execute=\"SELECT variable_value FROM global_variables WHERE variable_name='admin-admin_credentials'\"` != '${admin_credentials}' \
        -o `/usr/bin/mysql --defaults-extra-file=${mycnf_file_name} -BN \
          --execute=\"SELECT variable_value FROM global_variables WHERE variable_name='admin-mysql_ifaces'\"` != '${admin_interfaces}'
      ",
      before  => File['root-mycnf-file'],
    }

    file { 'root-mycnf-file':
      ensure  => file,
      path    => $proxysql::mycnf_file_name,
      content => template('proxysql/my.cnf.erb'),
      owner   => $proxysql::sys_owner,
      group   => $proxysql::sys_group,
      mode    => '0400',
    }
  }
}