Mercurial > repos > other > Puppet
annotate modules/mysql/manifests/server/config.pp @ 454:d0e7979c7e8c
Update PHP configs for Ubuntu
Mostly fixing some INI naming so that it is consistent
between packages and what we write (so we don't end up with
mixed/duplicate content)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 13 Aug 2023 15:26:37 +0100 |
parents | c6c9a2cfcfbd |
children | adf6fe9bbc17 |
rev | line source |
---|---|
244 | 1 # @summary |
2 # Private class for MySQL server configuration. | |
3 # | |
4 # @api private | |
5 # | |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 class mysql::server::config { |
389 | 7 $options = $mysql::server::_options |
26
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
8 $includedir = $mysql::server::includedir |
389 | 9 $managed_dirs = $mysql::server::managed_dirs |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 File { |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 owner => 'root', |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 group => $mysql::server::root_group, |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 mode => '0400', |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 } |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 |
26
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
17 if $includedir and $includedir != '' { |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
18 file { $includedir: |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
19 ensure => directory, |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
20 mode => '0755', |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
21 recurse => $mysql::server::purge_conf_dir, |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
22 purge => $mysql::server::purge_conf_dir, |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
23 } |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 |
244 | 25 # on some systems this is /etc/my.cnf.d, while Debian has /etc/mysql/conf.d and FreeBSD something in /usr/local. For the latter systems, |
26 # managing this basedir is also required, to have it available before the package is installed. | |
27 $includeparentdir = dirname($includedir) | |
28 if $includeparentdir != '/' and $includeparentdir != '/etc' { | |
29 file { $includeparentdir: | |
26
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
30 ensure => directory, |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
31 mode => '0755', |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
32 } |
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
33 } |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 } |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 |
389 | 36 #Debian: Creating world readable directories before installing. |
443 | 37 case $facts['os']['family'] { |
389 | 38 'Debian': { |
39 if $managed_dirs { | |
40 $managed_dirs.each | $entry | { | |
41 $dir = $options['mysqld']["${entry}"] | |
443 | 42 |
389 | 43 if ( $dir and $dir != '/usr' and $dir != '/tmp' ) { |
443 | 44 $clean_dir = shell_escape($dir) |
45 $clean_package_name = shell_escape($mysql::server::package_name) | |
46 | |
389 | 47 exec { "${entry}-managed_dir-mkdir": |
443 | 48 command => ['/bin/mkdir', '-p', $clean_dir], |
49 unless => [['/usr/bin/dpkg', '-s', $clean_package_name]], | |
389 | 50 notify => Exec["${entry}-managed_dir-chmod"], |
51 } | |
443 | 52 |
389 | 53 exec { "${entry}-managed_dir-chmod": |
443 | 54 command => ['/bin/chmod', '777', $clean_dir], |
389 | 55 refreshonly => true, |
56 } | |
57 } | |
58 } | |
59 } | |
60 } | |
61 default: {} | |
62 } | |
63 | |
64 if $mysql::server::manage_config_file { | |
26
58d1818c2ded
Update MySQL module (which adds "staging" module)
IBBoard <dev@ibboard.co.uk>
parents:
0
diff
changeset
|
65 file { 'mysql-config-file': |
244 | 66 path => $mysql::server::config_file, |
67 content => template('mysql/my.cnf.erb'), | |
389 | 68 mode => $mysql::server::config_file_mode, |
69 owner => $mysql::server::mycnf_owner, | |
70 group => $mysql::server::mycnf_group, | |
244 | 71 selinux_ignore_defaults => true, |
72 } | |
73 | |
74 # on mariadb systems, $includedir is not defined, but /etc/my.cnf.d has | |
75 # to be managed to place the server.cnf there | |
76 $configparentdir = dirname($mysql::server::config_file) | |
77 # Before setting $configparentdir we first check to make sure that it's value is valid | |
78 if $configparentdir != '/' and $configparentdir != '/etc' { | |
79 # We then check that the value of $includedir is either undefined or that different from $configparentdir | |
80 # We first check that it is undefined due to dirname throwing an error when given undef/empty strings | |
81 if $includedir == undef or $includedir == '' or | |
389 | 82 ($configparentdir != $includedir and $configparentdir != dirname($includedir)) { |
244 | 83 file { $configparentdir: |
84 ensure => directory, | |
85 mode => '0755', | |
86 } | |
87 } | |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
88 } |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
89 } |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
90 } |