Puppet Class: mariadb::server

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

Overview

Parameters:

  • manage_user (Boolean) (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 (Boolean) (defaults to: true)
  • cluster (Any) (defaults to: false)
  • restart (Any) (defaults to: true)
  • service_enabled (Any) (defaults to: true)
  • service_manage (Any) (defaults to: true)
  • service_name (Any) (defaults to: $mariadb::params::service_name)
  • 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 (Any) (defaults to: $mariadb::params::config_dir)
  • root_password (String) (defaults to: $mariadb::params::root_password)
  • override_options (Any) (defaults to: {})
  • auth_pam (Boolean) (defaults to: $mariadb::params::auth_pam)
  • auth_pam_plugin (String) (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: {})


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

class mariadb::server (
  Boolean $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,
  Boolean $dev          = true,
  $cluster              = false,
  $restart              = true,
  $service_enabled      = true,
  $service_manage       = true,
  $service_name         = $mariadb::params::service_name,

  $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,
  $config_dir           = $mariadb::params::config_dir,
  String $root_password = $mariadb::params::root_password,
  $override_options     = {},

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

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

  $options = mysql::normalise_and_deepmerge($mariadb::params::server_default_options, $override_options)

  if $manage_repo {
    class { 'mariadb::repo':
      repo_version => $repo_version,
    }
  }

  if $manage_user {
    Anchor['mariadb::server::start']
    -> class { 'mariadb::server::user': }
    -> Class['mariadb::client::mysql']
  }

  if $manage_timezone {
    Class['mariadb::server::mysql']
    -> class { 'mariadb::server::timezone': }
    -> Anchor['mariadb::server::end']
  }

  anchor { 'mariadb::server::start': }
  -> class { 'mariadb::client::mysql': dev => $dev }
  -> class { 'mariadb::server::mysql': cluster => $cluster }
  -> anchor { 'mariadb::server::end': }

  if $::settings::storeconfigs and $storeconfigs_enabled {
    Mysql::Db <<| tag == $::domain |>> {
      require => Anchor['mariadb::server::end'],
    }
    -> Mariadb::Db_grant <<| tag == $::domain |>> {
      require => Anchor['mariadb::server::end'],
    }
  }
}