Puppet Class: mariadb::cluster

Inherits:
mariadb::params
Defined in:
manifests/cluster.pp

Overview

Parameters:

  • manage_user (Any) (defaults to: $mariadb::params::manage_user)
  • manage_timezone (Any) (defaults to: $mariadb::params::manage_timezone)
  • manage_repo (Boolean) (defaults to: $mariadb::params::manage_repo)
  • repo_version (Any) (defaults to: $mariadb::params::repo_version)
  • dev (Any) (defaults to: true)
  • restart (Any) (defaults to: false)
  • service_enabled (Any) (defaults to: true)
  • service_manage (Any) (defaults to: true)
  • user (Any) (defaults to: $mariadb::params::user)
  • comment (Any) (defaults to: $mariadb::params::comment)
  • uid (Any) (defaults to: $mariadb::params::uid)
  • gid (Any) (defaults to: $mariadb::params::gid)
  • home (Any) (defaults to: $mariadb::params::home)
  • shell (Any) (defaults to: $mariadb::params::shell)
  • group (Any) (defaults to: $mariadb::params::group)
  • groups (Any) (defaults to: $mariadb::params::groups)
  • config_file (Any) (defaults to: $mariadb::params::config_file)
  • includedir (Any) (defaults to: $mariadb::params::includedir)
  • config_dir (Stdlib::Absolutepath) (defaults to: $mariadb::params::config_dir)
  • wsrep_cluster_address (Any) (defaults to: $mariadb::params::wsrep_cluster_address)
  • wsrep_cluster_peers (Any) (defaults to: $mariadb::params::wsrep_cluster_peers)
  • wsrep_cluster_port (Any) (defaults to: $mariadb::params::wsrep_cluster_port)
  • wsrep_cluster_name (Any) (defaults to: $mariadb::params::wsrep_cluster_name)
  • wsrep_sst_user (Any) (defaults to: $mariadb::params::wsrep_sst_user)
  • wsrep_sst_user_peers (Any) (defaults to: $mariadb::params::wsrep_sst_user_peers)
  • wsrep_sst_password (Any) (defaults to: $mariadb::params::wsrep_sst_password)
  • wsrep_sst_user_tls_options (Any) (defaults to: undef)
  • wsrep_sst_user_grant_options (Any) (defaults to: undef)
  • wsrep_sst_method (Enum['mariabackup', 'mysqldump', 'rsync', 'rsync_wan', 'xtrabackup', 'xtrabackup-v2']) (defaults to: $mariadb::params::wsrep_sst_method)
  • root_password (Any) (defaults to: $mariadb::params::root_password)
  • override_options (Any) (defaults to: {})
  • galera_override_options (Any) (defaults to: {})
  • auth_pam (Any) (defaults to: $mariadb::params::auth_pam)
  • auth_pam_plugin (Any) (defaults to: $mariadb::params::auth_pam_plugin)
  • storeconfigs_enabled (Any) (defaults to: false)
  • users (Any) (defaults to: {})
  • grants (Any) (defaults to: {})
  • databases (Any) (defaults to: {})


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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'manifests/cluster.pp', line 39

class mariadb::cluster (
  $manage_user                  = $mariadb::params::manage_user,
  $manage_timezone              = $mariadb::params::manage_timezone,
  Boolean $manage_repo          = $mariadb::params::manage_repo,
  $repo_version                 = $mariadb::params::repo_version,
  $dev                          = true,
  $restart                      = false,
  $service_enabled              = true,
  $service_manage               = true,

  $user                         = $mariadb::params::user,
  $comment                      = $mariadb::params::comment,
  $uid                          = $mariadb::params::uid,
  $gid                          = $mariadb::params::gid,
  $home                         = $mariadb::params::home,
  $shell                        = $mariadb::params::shell,
  $group                        = $mariadb::params::group,
  $groups                       = $mariadb::params::groups,

  $config_file                  = $mariadb::params::config_file,
  $includedir                   = $mariadb::params::includedir,
  Stdlib::Absolutepath $config_dir = $mariadb::params::config_dir,
  $wsrep_cluster_address        = $mariadb::params::wsrep_cluster_address,
  $wsrep_cluster_peers          = $mariadb::params::wsrep_cluster_peers,
  $wsrep_cluster_port           = $mariadb::params::wsrep_cluster_port,
  $wsrep_cluster_name           = $mariadb::params::wsrep_cluster_name,
  $wsrep_sst_user               = $mariadb::params::wsrep_sst_user,
  $wsrep_sst_user_peers         = $mariadb::params::wsrep_sst_user_peers,
  $wsrep_sst_password           = $mariadb::params::wsrep_sst_password,
  $wsrep_sst_user_tls_options   = undef,
  $wsrep_sst_user_grant_options = undef,
  Enum['mariabackup', 'mysqldump', 'rsync', 'rsync_wan', 'xtrabackup', 'xtrabackup-v2'] $wsrep_sst_method = $mariadb::params::wsrep_sst_method, # lint:ignore:140chars
  $root_password                = $mariadb::params::root_password,
  $override_options             = {},
  $galera_override_options      = {},

  $auth_pam                     = $mariadb::params::auth_pam,
  $auth_pam_plugin              = $mariadb::params::auth_pam_plugin,
  $storeconfigs_enabled         = false,

  $users                        = {},
  $grants                       = {},
  $databases                    = {},
) inherits mariadb::params {

  $cluster_options = mysql::normalise_and_deepmerge($mariadb::params::cluster_default_options, $override_options)
  $galera_options  = mysql::normalise_and_deepmerge($mariadb::params::galera_default_options, $galera_override_options)

  anchor { 'mariadb::cluster::start': }
  -> class { 'mariadb::server':
    manage_user          => $manage_user,
    manage_timezone      => $manage_timezone,
    manage_repo          => $manage_repo,
    repo_version         => $repo_version,
    dev                  => $dev,
    cluster              => true,
    restart              => $restart,
    service_enabled      => $service_enabled,
    service_manage       => $service_manage,
    user                 => $user,
    comment              => $comment,
    uid                  => $uid,
    gid                  => $gid,
    home                 => $home,
    shell                => $shell,
    group                => $group,
    groups               => $groups,
    config_file          => $config_file,
    includedir           => $includedir,
    config_dir           => $config_dir,
    root_password        => $root_password,
    auth_pam             => $auth_pam,
    auth_pam_plugin      => $auth_pam_plugin,
    storeconfigs_enabled => $storeconfigs_enabled,
    users                => $users,
    grants               => $grants,
    databases            => $databases,
  }
  -> class { 'mariadb::cluster::auth': }
  -> class { 'mariadb::cluster::galera_config': }
  -> anchor { 'mariadb::cluster::end': }
}