freighthop 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Puppetfile +1 -0
- data/Puppetfile.lock +3 -0
- data/Vagrantfile +1 -1
- data/bin/fh +2 -78
- data/lib/freighthop/cli/help.rb +69 -0
- data/lib/freighthop/cli/ssh.rb +46 -0
- data/lib/freighthop/cli/vagrant.rb +26 -0
- data/lib/freighthop/cli.rb +40 -0
- data/lib/freighthop/config.rb +4 -0
- data/lib/freighthop/vagrant_env.rb +24 -0
- data/lib/freighthop/version.rb +1 -1
- data/lib/freighthop.rb +7 -4
- data/local_modules/freighthop/manifests/database/mysql.pp +20 -0
- data/local_modules/freighthop/manifests/database/postgres.pp +6 -6
- data/local_modules/freighthop/manifests/database.pp +6 -8
- data/local_modules/freighthop/manifests/init.pp +1 -8
- data/local_modules/freighthop/manifests/params.pp +0 -3
- data/modules/apt/CHANGELOG +12 -2
- data/modules/apt/Gemfile +6 -5
- data/modules/apt/Gemfile.lock +40 -5
- data/modules/apt/Modulefile +1 -1
- data/modules/apt/README.md +2 -1
- data/modules/apt/Rakefile +1 -0
- data/modules/apt/manifests/init.pp +4 -1
- data/modules/apt/manifests/ppa.pp +1 -1
- data/modules/apt/manifests/update.pp +1 -0
- data/modules/apt/metadata.json +21 -13
- data/modules/apt/spec/defines/ppa_spec.rb +3 -3
- data/modules/apt/spec/defines/source_spec.rb +2 -2
- data/modules/apt/spec/spec_helper_system.rb +30 -0
- data/modules/apt/spec/system/apt_builddep_spec.rb +38 -0
- data/modules/apt/spec/system/apt_key_spec.rb +53 -0
- data/modules/apt/spec/system/apt_ppa_spec.rb +59 -0
- data/modules/apt/spec/system/apt_source_spec.rb +51 -0
- data/modules/apt/spec/system/basic_spec.rb +10 -0
- data/modules/apt/spec/system/class_spec.rb +20 -0
- data/modules/apt/templates/source.list.erb +2 -2
- data/modules/freighthop/manifests/database/mysql.pp +20 -0
- data/modules/freighthop/manifests/database/postgres.pp +6 -6
- data/modules/freighthop/manifests/database.pp +6 -8
- data/modules/freighthop/manifests/init.pp +1 -8
- data/modules/freighthop/manifests/params.pp +0 -3
- data/modules/mysql/CHANGELOG +403 -0
- data/modules/mysql/Gemfile +24 -0
- data/modules/mysql/Gemfile.lock +129 -0
- data/modules/mysql/LICENSE +201 -0
- data/modules/mysql/Modulefile +9 -0
- data/modules/mysql/README.md +492 -0
- data/modules/mysql/Rakefile +2 -0
- data/modules/mysql/TODO +8 -0
- data/modules/mysql/files/mysqltuner.pl +966 -0
- data/modules/mysql/lib/puppet/parser/functions/mysql_deepmerge.rb +52 -0
- data/modules/mysql/lib/puppet/parser/functions/mysql_password.rb +15 -0
- data/modules/mysql/lib/puppet/parser/functions/mysql_strip_hash.rb +21 -0
- data/modules/mysql/lib/puppet/provider/database/mysql.rb +52 -0
- data/modules/mysql/lib/puppet/provider/database_grant/mysql.rb +210 -0
- data/modules/mysql/lib/puppet/provider/database_user/mysql.rb +76 -0
- data/modules/mysql/lib/puppet/provider/mysql.rb +67 -0
- data/modules/mysql/lib/puppet/provider/mysql_database/mysql.rb +68 -0
- data/modules/mysql/lib/puppet/provider/mysql_grant/mysql.rb +115 -0
- data/modules/mysql/lib/puppet/provider/mysql_user/mysql.rb +115 -0
- data/modules/mysql/lib/puppet/type/database.rb +21 -0
- data/modules/mysql/lib/puppet/type/database_grant.rb +79 -0
- data/modules/mysql/lib/puppet/type/database_user.rb +31 -0
- data/modules/mysql/lib/puppet/type/mysql_database.rb +22 -0
- data/modules/mysql/lib/puppet/type/mysql_grant.rb +72 -0
- data/modules/mysql/lib/puppet/type/mysql_user.rb +45 -0
- data/modules/mysql/manifests/backup.pp +31 -0
- data/modules/mysql/manifests/bindings/java.pp +10 -0
- data/modules/mysql/manifests/bindings/perl.pp +10 -0
- data/modules/mysql/manifests/bindings/php.pp +10 -0
- data/modules/mysql/manifests/bindings/python.pp +10 -0
- data/modules/mysql/manifests/bindings/ruby.pp +10 -0
- data/modules/mysql/manifests/bindings.pp +33 -0
- data/modules/mysql/manifests/client/install.pp +8 -0
- data/modules/mysql/manifests/client.pp +27 -0
- data/modules/mysql/manifests/db.pp +59 -0
- data/modules/mysql/manifests/init.pp +100 -0
- data/modules/mysql/manifests/params.pp +230 -0
- data/modules/mysql/manifests/server/account_security.pp +22 -0
- data/modules/mysql/manifests/server/backup.pp +56 -0
- data/modules/mysql/manifests/server/config.pp +31 -0
- data/modules/mysql/manifests/server/install.pp +9 -0
- data/modules/mysql/manifests/server/monitor.pp +24 -0
- data/modules/mysql/manifests/server/mysqltuner.pp +9 -0
- data/modules/mysql/manifests/server/providers.pp +8 -0
- data/modules/mysql/manifests/server/root_password.pp +21 -0
- data/modules/mysql/manifests/server/service.pp +19 -0
- data/modules/mysql/manifests/server.pp +69 -0
- data/modules/mysql/metadata.json +289 -0
- data/modules/mysql/spec/classes/mysql_bindings_spec.rb +58 -0
- data/modules/mysql/spec/classes/mysql_client_spec.rb +16 -0
- data/modules/mysql/spec/classes/mysql_server_account_security_spec.rb +41 -0
- data/modules/mysql/spec/classes/mysql_server_backup_spec.rb +112 -0
- data/modules/mysql/spec/classes/mysql_server_monitor_spec.rb +31 -0
- data/modules/mysql/spec/classes/mysql_server_mysqltuner_spec.rb +5 -0
- data/modules/mysql/spec/classes/mysql_server_spec.rb +162 -0
- data/modules/mysql/spec/defines/mysql_db_spec.rb +51 -0
- data/modules/mysql/spec/spec.opts +6 -0
- data/modules/mysql/spec/spec_helper.rb +5 -0
- data/modules/mysql/spec/spec_helper_system.rb +28 -0
- data/modules/mysql/spec/system/mysql_account_delete_spec.rb +35 -0
- data/modules/mysql/spec/system/mysql_backup_spec.rb +77 -0
- data/modules/mysql/spec/system/mysql_bindings_spec.rb +90 -0
- data/modules/mysql/spec/system/mysql_db_spec.rb +61 -0
- data/modules/mysql/spec/system/mysql_server_monitor_spec.rb +30 -0
- data/modules/mysql/spec/system/mysql_server_root_password_spec.rb +71 -0
- data/modules/mysql/spec/system/mysql_server_spec.rb +85 -0
- data/modules/mysql/spec/system/types/mysql_grant_spec.rb +314 -0
- data/modules/mysql/spec/system/types/mysql_user_spec.rb +35 -0
- data/modules/mysql/spec/unit/mysql_password_spec.rb +27 -0
- data/modules/mysql/spec/unit/puppet/functions/mysql_deepmerge_spec.rb +77 -0
- data/modules/mysql/spec/unit/puppet/provider/database/mysql_spec.rb +86 -0
- data/modules/mysql/spec/unit/puppet/provider/database_grant/mysql_spec.rb +95 -0
- data/modules/mysql/spec/unit/puppet/provider/database_user/mysql_spec.rb +119 -0
- data/modules/mysql/spec/unit/puppet/provider/mysql_database/mysql_spec.rb +118 -0
- data/modules/mysql/spec/unit/puppet/provider/mysql_user/mysql_spec.rb +130 -0
- data/modules/mysql/spec/unit/puppet/type/mysql_database_spec.rb +29 -0
- data/modules/mysql/spec/unit/puppet/type/mysql_user_spec.rb +30 -0
- data/modules/mysql/templates/my.cnf.erb +17 -0
- data/modules/mysql/templates/my.cnf.pass.erb +7 -0
- data/modules/mysql/templates/my.conf.cnf.erb +17 -0
- data/modules/mysql/templates/mysqlbackup.sh.erb +57 -0
- data/modules/mysql/tests/backup.pp +8 -0
- data/modules/mysql/tests/bindings.pp +3 -0
- data/modules/mysql/tests/init.pp +1 -0
- data/modules/mysql/tests/java.pp +1 -0
- data/modules/mysql/tests/mysql_database.pp +12 -0
- data/modules/mysql/tests/mysql_grant.pp +5 -0
- data/modules/mysql/tests/mysql_user.pp +23 -0
- data/modules/mysql/tests/perl.pp +1 -0
- data/modules/mysql/tests/python.pp +1 -0
- data/modules/mysql/tests/ruby.pp +1 -0
- data/modules/mysql/tests/server/account_security.pp +4 -0
- data/modules/mysql/tests/server/config.pp +11 -0
- data/modules/mysql/tests/server.pp +3 -0
- data/modules/postgresql/Changelog +191 -0
- data/modules/postgresql/Gemfile +1 -0
- data/modules/postgresql/Gemfile.lock +9 -0
- data/modules/postgresql/LICENSE +198 -12
- data/modules/postgresql/Modulefile +2 -2
- data/modules/postgresql/NOTICE +14 -0
- data/modules/postgresql/README.md +435 -184
- data/modules/postgresql/files/validate_postgresql_connection.sh +31 -0
- data/modules/postgresql/lib/puppet/provider/postgresql_conf/parsed.rb +37 -0
- data/modules/postgresql/lib/puppet/provider/postgresql_psql/ruby.rb +4 -0
- data/modules/postgresql/lib/puppet/type/postgresql_conf.rb +31 -0
- data/modules/postgresql/lib/puppet/type/postgresql_psql.rb +4 -0
- data/modules/postgresql/manifests/client.pp +17 -16
- data/modules/postgresql/manifests/globals.pp +95 -0
- data/modules/postgresql/manifests/lib/devel.pp +15 -0
- data/modules/postgresql/manifests/lib/java.pp +15 -0
- data/modules/postgresql/manifests/lib/python.pp +13 -0
- data/modules/postgresql/manifests/params.pp +127 -222
- data/modules/postgresql/manifests/repo/apt_postgresql_org.pp +30 -0
- data/modules/postgresql/manifests/repo/yum_postgresql_org.pp +38 -0
- data/modules/postgresql/manifests/repo.pp +22 -0
- data/modules/postgresql/manifests/server/config.pp +113 -0
- data/modules/postgresql/manifests/server/config_entry.pp +43 -0
- data/modules/postgresql/manifests/server/contrib.pp +27 -0
- data/modules/postgresql/manifests/server/database.pp +75 -0
- data/modules/postgresql/manifests/server/database_grant.pp +18 -0
- data/modules/postgresql/manifests/server/db.pp +36 -0
- data/modules/postgresql/manifests/server/firewall.pp +21 -0
- data/modules/postgresql/manifests/server/grant.pp +81 -0
- data/modules/postgresql/manifests/server/initdb.pp +52 -0
- data/modules/postgresql/manifests/server/install.pp +49 -0
- data/modules/postgresql/manifests/server/passwd.pp +34 -0
- data/modules/postgresql/manifests/server/pg_hba_rule.pp +54 -0
- data/modules/postgresql/manifests/server/plperl.pp +27 -0
- data/modules/postgresql/manifests/server/reload.pp +15 -0
- data/modules/postgresql/manifests/{role.pp → server/role.pp} +19 -33
- data/modules/postgresql/manifests/server/service.pp +40 -0
- data/modules/postgresql/manifests/{table_grant.pp → server/table_grant.pp} +4 -4
- data/modules/postgresql/manifests/server/tablespace.pp +42 -0
- data/modules/postgresql/manifests/server.pp +61 -83
- data/modules/postgresql/manifests/validate_db_connection.pp +49 -50
- data/modules/postgresql/metadata.json +123 -73
- data/modules/postgresql/spec/spec_helper_system.rb +13 -1
- data/modules/postgresql/spec/system/client_spec.rb +22 -0
- data/modules/postgresql/spec/system/common_patterns_spec.rb +53 -0
- data/modules/postgresql/spec/system/contrib_spec.rb +33 -0
- data/modules/postgresql/spec/system/lib/devel_spec.rb +22 -0
- data/modules/postgresql/spec/system/lib/java_spec.rb +25 -0
- data/modules/postgresql/spec/system/lib/python_spec.rb +24 -0
- data/modules/postgresql/spec/system/postgresql_psql_spec.rb +51 -0
- data/modules/postgresql/spec/system/server/config_entry_spec.rb +32 -0
- data/modules/postgresql/spec/system/server/database_grant_spec.rb +54 -0
- data/modules/postgresql/spec/system/server/database_spec.rb +35 -0
- data/modules/postgresql/spec/system/server/db_spec.rb +143 -0
- data/modules/postgresql/spec/system/server/grant_spec.rb +55 -0
- data/modules/postgresql/spec/system/server/pg_hba_rule_spec.rb +85 -0
- data/modules/postgresql/spec/system/server/plperl_spec.rb +29 -0
- data/modules/postgresql/spec/system/server/role_spec.rb +103 -0
- data/modules/postgresql/spec/system/server/table_grant_spec.rb +72 -0
- data/modules/postgresql/spec/system/server/tablespace_spec.rb +74 -0
- data/modules/postgresql/spec/system/server_spec.rb +217 -0
- data/modules/postgresql/spec/system/validate_db_connection_spec.rb +91 -0
- data/modules/postgresql/spec/unit/classes/client_spec.rb +27 -2
- data/modules/postgresql/spec/unit/classes/globals_spec.rb +28 -0
- data/modules/postgresql/spec/unit/classes/lib/devel_spec.rb +12 -0
- data/modules/postgresql/spec/unit/classes/{postgresql_java_spec.rb → lib/java_spec.rb} +9 -19
- data/modules/postgresql/spec/unit/classes/lib/python_spec.rb +31 -0
- data/modules/postgresql/spec/unit/classes/params_spec.rb +2 -1
- data/modules/postgresql/spec/unit/classes/repo_spec.rb +17 -0
- data/modules/postgresql/spec/unit/classes/server/contrib_spec.rb +42 -0
- data/modules/postgresql/spec/unit/classes/server/initdb_spec.rb +28 -0
- data/modules/postgresql/spec/unit/classes/server/plperl_spec.rb +45 -0
- data/modules/postgresql/spec/unit/classes/server_spec.rb +83 -2
- data/modules/postgresql/spec/unit/defines/server/config_entry_spec.rb +23 -0
- data/modules/postgresql/spec/unit/defines/server/database_grant_spec.rb +26 -0
- data/modules/postgresql/spec/unit/defines/server/database_spec.rb +16 -0
- data/modules/postgresql/spec/unit/defines/server/db_spec.rb +28 -0
- data/modules/postgresql/spec/unit/defines/{database_grant_spec.rb → server/grant_spec.rb} +7 -4
- data/modules/postgresql/spec/unit/defines/{pg_hba_rule_spec.rb → server/pg_hba_rule_spec.rb} +59 -2
- data/modules/postgresql/spec/unit/defines/server/role_spec.rb +23 -0
- data/modules/postgresql/spec/unit/defines/server/table_grant_spec.rb +27 -0
- data/modules/postgresql/spec/unit/defines/server/tablespace_spec.rb +23 -0
- data/modules/postgresql/spec/unit/defines/validate_db_connection_spec.rb +22 -9
- data/modules/postgresql/spec/unit/provider/postgresql_conf/parsed_spec.rb +112 -0
- data/modules/postgresql/spec/unit/puppet/provider/postgresql_psql/ruby_spec.rb +29 -0
- data/modules/postgresql/spec/unit/puppet/type/postgresql_psql_spec.rb +1 -0
- data/modules/postgresql/spec/unit/type/postgresql_conf_spec.rb +50 -0
- metadata +177 -53
- data/modules/postgresql/examples/init.pp +0 -1
- data/modules/postgresql/examples/official-postgresql-repos.pp +0 -19
- data/modules/postgresql/examples/postgresql_database.pp +0 -22
- data/modules/postgresql/examples/postgresql_db.pp +0 -30
- data/modules/postgresql/examples/postgresql_grant.pp +0 -14
- data/modules/postgresql/examples/postgresql_pg_hba_rule.pp +0 -18
- data/modules/postgresql/examples/postgresql_pgconf_extras.pp +0 -19
- data/modules/postgresql/examples/postgresql_tablespace.pp +0 -73
- data/modules/postgresql/examples/postgresql_user.pp +0 -28
- data/modules/postgresql/examples/server.pp +0 -10
- data/modules/postgresql/lib/facter/postgres_default_version.rb +0 -69
- data/modules/postgresql/manifests/config/afterservice.pp +0 -47
- data/modules/postgresql/manifests/config/beforeservice.pp +0 -171
- data/modules/postgresql/manifests/config.pp +0 -74
- data/modules/postgresql/manifests/contrib.pp +0 -29
- data/modules/postgresql/manifests/database.pp +0 -85
- data/modules/postgresql/manifests/database_grant.pp +0 -35
- data/modules/postgresql/manifests/database_user.pp +0 -60
- data/modules/postgresql/manifests/db.pp +0 -77
- data/modules/postgresql/manifests/devel.pp +0 -27
- data/modules/postgresql/manifests/grant.pp +0 -77
- data/modules/postgresql/manifests/init.pp +0 -145
- data/modules/postgresql/manifests/initdb.pp +0 -52
- data/modules/postgresql/manifests/java.pp +0 -29
- data/modules/postgresql/manifests/package_source/apt_postgresql_org.pp +0 -21
- data/modules/postgresql/manifests/package_source/yum_postgresql_org.pp +0 -30
- data/modules/postgresql/manifests/pg_hba.pp +0 -19
- data/modules/postgresql/manifests/pg_hba_rule.pp +0 -41
- data/modules/postgresql/manifests/plperl.pp +0 -24
- data/modules/postgresql/manifests/psql.pp +0 -56
- data/modules/postgresql/manifests/python.pp +0 -18
- data/modules/postgresql/manifests/tablespace.pp +0 -59
- data/modules/postgresql/spec/system/install_spec.rb +0 -707
- data/modules/postgresql/spec/system/non_defaults_spec.rb +0 -114
- data/modules/postgresql/spec/unit/classes/contrib_spec.rb +0 -11
- data/modules/postgresql/spec/unit/classes/devel_spec.rb +0 -11
- data/modules/postgresql/spec/unit/classes/init_spec.rb +0 -71
- data/modules/postgresql/spec/unit/classes/postgresql_python_spec.rb +0 -53
- data/modules/postgresql/spec/unit/defines/database_spec.rb +0 -14
- data/modules/postgresql/spec/unit/defines/database_user_spec.rb +0 -19
- data/modules/postgresql/spec/unit/defines/db_spec.rb +0 -20
- data/modules/postgresql/spec/unit/defines/pg_hba_spec.rb +0 -20
- data/modules/postgresql/spec/unit/defines/psql_spec.rb +0 -20
- data/modules/postgresql/spec/unit/defines/role_spec.rb +0 -14
- data/modules/postgresql/spec/unit/defines/tablespace_spec.rb +0 -19
- data/modules/postgresql/spec/unit/facts/postgres_default_version_spec.rb +0 -14
@@ -0,0 +1,100 @@
|
|
1
|
+
#
|
2
|
+
class mysql(
|
3
|
+
$basedir = '',
|
4
|
+
$bind_address = '',
|
5
|
+
$client_package_ensure = '',
|
6
|
+
$client_package_name = '',
|
7
|
+
$config_file = '',
|
8
|
+
$config_template = '',
|
9
|
+
$datadir = '',
|
10
|
+
$default_engine = '',
|
11
|
+
$etc_root_password = '',
|
12
|
+
$log_error = '',
|
13
|
+
$manage_config_file = '',
|
14
|
+
$manage_service = '',
|
15
|
+
$max_allowed_packet = '',
|
16
|
+
$max_connections = '',
|
17
|
+
$old_root_password = '',
|
18
|
+
$package_ensure = '',
|
19
|
+
$php_package_name = '',
|
20
|
+
$pidfile = '',
|
21
|
+
$port = '',
|
22
|
+
$purge_conf_dir = '',
|
23
|
+
$restart = '',
|
24
|
+
$root_group = '',
|
25
|
+
$root_password = '',
|
26
|
+
$server_package_name = '',
|
27
|
+
$service_name = '',
|
28
|
+
$service_provider = '',
|
29
|
+
$socket = '',
|
30
|
+
$ssl = '',
|
31
|
+
$ssl_ca = '',
|
32
|
+
$ssl_cert = '',
|
33
|
+
$ssl_key = '',
|
34
|
+
$tmpdir = '',
|
35
|
+
$attempt_compatibility_mode = false,
|
36
|
+
) {
|
37
|
+
|
38
|
+
if $attempt_compatibility_mode {
|
39
|
+
notify { "An attempt has been made below to automatically apply your custom
|
40
|
+
settings to mysql::server. Please verify this works in a safe test
|
41
|
+
environment.": }
|
42
|
+
|
43
|
+
$override_options = {
|
44
|
+
'client' => {
|
45
|
+
'port' => $port,
|
46
|
+
'socket' => $socket
|
47
|
+
},
|
48
|
+
'mysqld_safe' => {
|
49
|
+
'log_error' => $log_error,
|
50
|
+
'socket' => $socket,
|
51
|
+
},
|
52
|
+
'mysqld' => {
|
53
|
+
'basedir' => $basedir,
|
54
|
+
'bind_address' => $bind_address,
|
55
|
+
'datadir' => $datadir,
|
56
|
+
'log_error' => $log_error,
|
57
|
+
'max_allowed_packet' => $max_allowed_packet,
|
58
|
+
'max_connections' => $max_connections,
|
59
|
+
'pid_file' => $pidfile,
|
60
|
+
'port' => $port,
|
61
|
+
'socket' => $socket,
|
62
|
+
'ssl-ca' => $ssl_ca,
|
63
|
+
'ssl-cert' => $ssl_cert,
|
64
|
+
'ssl-key' => $ssl_key,
|
65
|
+
'tmpdir' => $tmpdir,
|
66
|
+
},
|
67
|
+
'mysqldump' => {
|
68
|
+
'max_allowed_packet' => $max_allowed_packet,
|
69
|
+
},
|
70
|
+
'config_file' => $config_file,
|
71
|
+
'etc_root_password' => $etc_root_password,
|
72
|
+
'manage_config_file' => $manage_config_file,
|
73
|
+
'old_root_password' => $old_root_password,
|
74
|
+
'purge_conf_dir' => $purge_conf_dir,
|
75
|
+
'restart' => $restart,
|
76
|
+
'root_group' => $root_group,
|
77
|
+
'root_password' => $root_password,
|
78
|
+
'service_name' => $service_name,
|
79
|
+
'ssl' => $ssl
|
80
|
+
}
|
81
|
+
$filtered_options = mysql_strip_hash($override_options)
|
82
|
+
validate_hash($filtered_options)
|
83
|
+
notify { $filtered_options: }
|
84
|
+
class { 'mysql::server':
|
85
|
+
override_options => $filtered_options,
|
86
|
+
}
|
87
|
+
|
88
|
+
} else {
|
89
|
+
fail("ERROR: This class has been deprecated and the functionality moved
|
90
|
+
into mysql::server. If you run mysql::server without correctly calling
|
91
|
+
mysql:: server with the new override_options hash syntax you will revert
|
92
|
+
your MySQL to the stock settings. Do not proceed without removing this
|
93
|
+
class and using mysql::server correctly.
|
94
|
+
|
95
|
+
If you are brave you may set attempt_compatibility_mode in this class which
|
96
|
+
attempts to automap the previous settings to appropriate calls to
|
97
|
+
mysql::server")
|
98
|
+
}
|
99
|
+
|
100
|
+
}
|
@@ -0,0 +1,230 @@
|
|
1
|
+
# Private class: See README.md.
|
2
|
+
class mysql::params {
|
3
|
+
|
4
|
+
$manage_config_file = true
|
5
|
+
$old_root_password = ''
|
6
|
+
$purge_conf_dir = false
|
7
|
+
$restart = false
|
8
|
+
$root_password = 'UNSET'
|
9
|
+
$server_package_ensure = 'present'
|
10
|
+
$server_service_manage = true
|
11
|
+
$server_service_enabled = true
|
12
|
+
# mysql::bindings
|
13
|
+
$bindings_enable = false
|
14
|
+
$java_package_ensure = 'present'
|
15
|
+
$java_package_provider = undef
|
16
|
+
$perl_package_ensure = 'present'
|
17
|
+
$perl_package_provider = undef
|
18
|
+
$php_package_ensure = 'present'
|
19
|
+
$php_package_provider = undef
|
20
|
+
$python_package_ensure = 'present'
|
21
|
+
$python_package_provider = undef
|
22
|
+
$ruby_package_ensure = 'present'
|
23
|
+
$ruby_package_provider = undef
|
24
|
+
|
25
|
+
|
26
|
+
case $::osfamily {
|
27
|
+
'RedHat': {
|
28
|
+
if $::operatingsystem == 'Fedora' and (is_integer($::operatingsystemrelease) and $::operatingsystemrelease >= 19 or $::operatingsystemrelease == "Rawhide") {
|
29
|
+
$client_package_name = 'mariadb'
|
30
|
+
$server_package_name = 'mariadb-server'
|
31
|
+
} else {
|
32
|
+
$client_package_name = 'mysql'
|
33
|
+
$server_package_name = 'mysql-server'
|
34
|
+
}
|
35
|
+
$basedir = '/usr'
|
36
|
+
$config_file = '/etc/my.cnf'
|
37
|
+
$datadir = '/var/lib/mysql'
|
38
|
+
$log_error = '/var/log/mysqld.log'
|
39
|
+
$pidfile = '/var/run/mysqld/mysqld.pid'
|
40
|
+
$root_group = 'root'
|
41
|
+
$server_service_name = 'mysqld'
|
42
|
+
$socket = '/var/lib/mysql/mysql.sock'
|
43
|
+
$ssl_ca = '/etc/mysql/cacert.pem'
|
44
|
+
$ssl_cert = '/etc/mysql/server-cert.pem'
|
45
|
+
$ssl_key = '/etc/mysql/server-key.pem'
|
46
|
+
$tmpdir = '/tmp'
|
47
|
+
# mysql::bindings
|
48
|
+
$java_package_name = 'mysql-connector-java'
|
49
|
+
$perl_package_name = 'perl-DBD-MySQL'
|
50
|
+
$php_package_name = 'php-mysql'
|
51
|
+
$python_package_name = 'MySQL-python'
|
52
|
+
$ruby_package_name = 'ruby-mysql'
|
53
|
+
}
|
54
|
+
|
55
|
+
'Suse': {
|
56
|
+
$client_package_name = $::operatingsystem ? {
|
57
|
+
/OpenSuSE/ => 'mysql-community-server-client',
|
58
|
+
/(SLES|SLED)/ => 'mysql-client',
|
59
|
+
}
|
60
|
+
$server_package_name = $::operatingsystem ? {
|
61
|
+
/OpenSuSE/ => 'mysql-community-server',
|
62
|
+
/(SLES|SLED)/ => 'mysql',
|
63
|
+
}
|
64
|
+
$basedir = '/usr'
|
65
|
+
$config_file = '/etc/my.cnf'
|
66
|
+
$datadir = '/var/lib/mysql'
|
67
|
+
$log_error = $::operatingsystem ? {
|
68
|
+
/OpenSuSE/ => '/var/log/mysql/mysqld.log',
|
69
|
+
/(SLES|SLED)/ => '/var/log/mysqld.log',
|
70
|
+
}
|
71
|
+
$pidfile = $::operatingsystem ? {
|
72
|
+
/OpenSuSE/ => '/var/run/mysql/mysqld.pid',
|
73
|
+
/(SLES|SLED)/ => '/var/lib/mysql/mysqld.pid',
|
74
|
+
}
|
75
|
+
$root_group = 'root'
|
76
|
+
$server_service_name = 'mysql'
|
77
|
+
$socket = $::operatingsystem ? {
|
78
|
+
/OpenSuSE/ => '/var/run/mysql/mysql.sock',
|
79
|
+
/(SLES|SLED)/ => '/var/lib/mysql/mysql.sock',
|
80
|
+
}
|
81
|
+
$ssl_ca = '/etc/mysql/cacert.pem'
|
82
|
+
$ssl_cert = '/etc/mysql/server-cert.pem'
|
83
|
+
$ssl_key = '/etc/mysql/server-key.pem'
|
84
|
+
$tmpdir = '/tmp'
|
85
|
+
# mysql::bindings
|
86
|
+
$java_package_name = 'mysql-connector-java'
|
87
|
+
$perl_package_name = 'perl-DBD-mysql'
|
88
|
+
$php_package_name = 'apache2-mod_php5'
|
89
|
+
$python_package_name = 'python-mysql'
|
90
|
+
$ruby_package_name = $::operatingsystem ? {
|
91
|
+
/OpenSuSE/ => 'rubygem-mysql',
|
92
|
+
/(SLES|SLED)/ => 'ruby-mysql',
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
'Debian': {
|
97
|
+
$client_package_name = 'mysql-client'
|
98
|
+
$server_package_name = 'mysql-server'
|
99
|
+
|
100
|
+
$basedir = '/usr'
|
101
|
+
$config_file = '/etc/mysql/my.cnf'
|
102
|
+
$datadir = '/var/lib/mysql'
|
103
|
+
$log_error = '/var/log/mysql/error.log'
|
104
|
+
$pidfile = '/var/run/mysqld/mysqld.pid'
|
105
|
+
$root_group = 'root'
|
106
|
+
$server_service_name = 'mysql'
|
107
|
+
$socket = '/var/run/mysqld/mysqld.sock'
|
108
|
+
$ssl_ca = '/etc/mysql/cacert.pem'
|
109
|
+
$ssl_cert = '/etc/mysql/server-cert.pem'
|
110
|
+
$ssl_key = '/etc/mysql/server-key.pem'
|
111
|
+
$tmpdir = '/tmp'
|
112
|
+
# mysql::bindings
|
113
|
+
$java_package_name = 'libmysql-java'
|
114
|
+
$perl_package_name = 'libdbd-mysql-perl'
|
115
|
+
$php_package_name = 'php5-mysql'
|
116
|
+
$python_package_name = 'python-mysqldb'
|
117
|
+
$ruby_package_name = 'libmysql-ruby'
|
118
|
+
}
|
119
|
+
|
120
|
+
'FreeBSD': {
|
121
|
+
$client_package_name = 'databases/mysql55-client'
|
122
|
+
$server_package_name = 'databases/mysql55-server'
|
123
|
+
$basedir = '/usr/local'
|
124
|
+
$config_file = '/var/db/mysql/my.cnf'
|
125
|
+
$datadir = '/var/db/mysql'
|
126
|
+
$log_error = "/var/db/mysql/${::hostname}.err"
|
127
|
+
$pidfile = '/var/db/mysql/mysql.pid'
|
128
|
+
$root_group = 'wheel'
|
129
|
+
$server_service_name = 'mysql-server'
|
130
|
+
$socket = '/tmp/mysql.sock'
|
131
|
+
$ssl_ca = undef
|
132
|
+
$ssl_cert = undef
|
133
|
+
$ssl_key = undef
|
134
|
+
$tmpdir = '/tmp'
|
135
|
+
# mysql::bindings
|
136
|
+
$java_package_name = 'databases/mysql-connector-java'
|
137
|
+
$perl_package_name = 'p5-DBD-mysql'
|
138
|
+
$php_package_name = 'php5-mysql'
|
139
|
+
$python_package_name = 'databases/py-MySQLdb'
|
140
|
+
$ruby_package_name = 'databases/ruby-mysql'
|
141
|
+
}
|
142
|
+
|
143
|
+
default: {
|
144
|
+
case $::operatingsystem {
|
145
|
+
'Amazon': {
|
146
|
+
$client_package_name = 'mysql'
|
147
|
+
$server_package_name = 'mysql-server'
|
148
|
+
$basedir = '/usr'
|
149
|
+
$config_file = '/etc/my.cnf'
|
150
|
+
$datadir = '/var/lib/mysql'
|
151
|
+
$log_error = '/var/log/mysqld.log'
|
152
|
+
$pidfile = '/var/run/mysqld/mysqld.pid'
|
153
|
+
$root_group = 'root'
|
154
|
+
$server_service_name = 'mysqld'
|
155
|
+
$socket = '/var/lib/mysql/mysql.sock'
|
156
|
+
$ssl_ca = '/etc/mysql/cacert.pem'
|
157
|
+
$ssl_cert = '/etc/mysql/server-cert.pem'
|
158
|
+
$ssl_key = '/etc/mysql/server-key.pem'
|
159
|
+
$tmpdir = '/tmp'
|
160
|
+
# mysql::bindings
|
161
|
+
$java_package_name = 'mysql-connector-java'
|
162
|
+
$perl_package_name = 'perl-DBD-MySQL'
|
163
|
+
$php_package_name = 'php-mysql'
|
164
|
+
$python_package_name = 'MySQL-python'
|
165
|
+
$ruby_package_name = 'ruby-mysql'
|
166
|
+
}
|
167
|
+
|
168
|
+
default: {
|
169
|
+
fail("Unsupported osfamily: ${::osfamily} operatingsystem: ${::operatingsystem}, module ${module_name} only support osfamily RedHat, Debian, and FreeBSD, or operatingsystem Amazon")
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
173
|
+
}
|
174
|
+
|
175
|
+
case $::operatingsystem {
|
176
|
+
'Ubuntu': {
|
177
|
+
$service_provider = upstart
|
178
|
+
}
|
179
|
+
default: {
|
180
|
+
$service_provider = undef
|
181
|
+
}
|
182
|
+
}
|
183
|
+
|
184
|
+
$default_options = {
|
185
|
+
'client' => {
|
186
|
+
'port' => '3306',
|
187
|
+
'socket' => $mysql::params::socket,
|
188
|
+
},
|
189
|
+
'mysqld_safe' => {
|
190
|
+
'nice' => '0',
|
191
|
+
'log_error' => $mysql::params::log_error,
|
192
|
+
'socket' => $mysql::params::socket,
|
193
|
+
},
|
194
|
+
'mysqld' => {
|
195
|
+
'basedir' => $mysql::params::basedir,
|
196
|
+
'bind_address' => '127.0.0.1',
|
197
|
+
'datadir' => $mysql::params::datadir,
|
198
|
+
'expire_logs_days' => '10',
|
199
|
+
'key_buffer' => '16M',
|
200
|
+
'log_error' => $mysql::params::log_error,
|
201
|
+
'max_allowed_packet' => '16M',
|
202
|
+
'max_binlog_size' => '100M',
|
203
|
+
'max_connections' => '151',
|
204
|
+
'myisam_recover' => 'BACKUP',
|
205
|
+
'pid_file' => $mysql::params::pidfile,
|
206
|
+
'port' => '3306',
|
207
|
+
'query_cache_limit' => '1M',
|
208
|
+
'query_cache_size' => '16M',
|
209
|
+
'skip-external-locking' => true,
|
210
|
+
'socket' => $mysql::params::socket,
|
211
|
+
'ssl' => false,
|
212
|
+
'ssl-ca' => $mysql::params::ssl_ca,
|
213
|
+
'ssl-cert' => $mysql::params::ssl_cert,
|
214
|
+
'ssl-key' => $mysql::params::ssl_key,
|
215
|
+
'thread_cache_size' => '8',
|
216
|
+
'thread_stack' => '256K',
|
217
|
+
'tmpdir' => $mysql::params::tmpdir,
|
218
|
+
'user' => 'mysql',
|
219
|
+
},
|
220
|
+
'mysqldump' => {
|
221
|
+
'max_allowed_packet' => '16M',
|
222
|
+
'quick' => true,
|
223
|
+
'quote-names' => true,
|
224
|
+
},
|
225
|
+
'isamchk' => {
|
226
|
+
'key_buffer' => '16M',
|
227
|
+
},
|
228
|
+
}
|
229
|
+
|
230
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class mysql::server::account_security {
|
2
|
+
mysql_user {
|
3
|
+
[ "root@${::fqdn}",
|
4
|
+
'root@127.0.0.1',
|
5
|
+
'root@::1',
|
6
|
+
"@${::fqdn}",
|
7
|
+
'@localhost',
|
8
|
+
'@%']:
|
9
|
+
ensure => 'absent',
|
10
|
+
require => Anchor['mysql::server::end'],
|
11
|
+
}
|
12
|
+
if ($::fqdn != $::hostname) {
|
13
|
+
mysql_user { ["root@${::hostname}", "@${::hostname}"]:
|
14
|
+
ensure => 'absent',
|
15
|
+
require => Anchor['mysql::server::end'],
|
16
|
+
}
|
17
|
+
}
|
18
|
+
mysql_database { 'test':
|
19
|
+
ensure => 'absent',
|
20
|
+
require => Anchor['mysql::server::end'],
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# See README.me for usage.
|
2
|
+
class mysql::server::backup (
|
3
|
+
$backupuser,
|
4
|
+
$backuppassword,
|
5
|
+
$backupdir,
|
6
|
+
$backupcompress = true,
|
7
|
+
$backuprotate = 30,
|
8
|
+
$delete_before_dump = false,
|
9
|
+
$backupdatabases = [],
|
10
|
+
$file_per_database = false,
|
11
|
+
$ensure = 'present',
|
12
|
+
$time = ['23', '5'],
|
13
|
+
) {
|
14
|
+
|
15
|
+
mysql_user { "${backupuser}@localhost":
|
16
|
+
ensure => $ensure,
|
17
|
+
password_hash => mysql_password($backuppassword),
|
18
|
+
provider => 'mysql',
|
19
|
+
require => Class['mysql::server::config'],
|
20
|
+
}
|
21
|
+
|
22
|
+
mysql_grant { "${backupuser}@localhost/*.*":
|
23
|
+
ensure => present,
|
24
|
+
user => "${backupuser}@localhost",
|
25
|
+
table => '*.*',
|
26
|
+
privileges => [ 'SELECT', 'RELOAD', 'LOCK TABLES', 'SHOW VIEW' ],
|
27
|
+
require => Mysql_user["${backupuser}@localhost"],
|
28
|
+
}
|
29
|
+
|
30
|
+
cron { 'mysql-backup':
|
31
|
+
ensure => $ensure,
|
32
|
+
command => '/usr/local/sbin/mysqlbackup.sh',
|
33
|
+
user => 'root',
|
34
|
+
hour => $time[0],
|
35
|
+
minute => $time[1],
|
36
|
+
require => File['mysqlbackup.sh'],
|
37
|
+
}
|
38
|
+
|
39
|
+
file { 'mysqlbackup.sh':
|
40
|
+
ensure => $ensure,
|
41
|
+
path => '/usr/local/sbin/mysqlbackup.sh',
|
42
|
+
mode => '0700',
|
43
|
+
owner => 'root',
|
44
|
+
group => 'root',
|
45
|
+
content => template('mysql/mysqlbackup.sh.erb'),
|
46
|
+
}
|
47
|
+
|
48
|
+
file { 'mysqlbackupdir':
|
49
|
+
ensure => 'directory',
|
50
|
+
path => $backupdir,
|
51
|
+
mode => '0700',
|
52
|
+
owner => 'root',
|
53
|
+
group => 'root',
|
54
|
+
}
|
55
|
+
|
56
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# See README.me for options.
|
2
|
+
class mysql::server::config {
|
3
|
+
|
4
|
+
$options = $mysql::server::options
|
5
|
+
|
6
|
+
File {
|
7
|
+
owner => 'root',
|
8
|
+
group => $mysql::server::root_group,
|
9
|
+
mode => '0400',
|
10
|
+
notify => Class['mysql::server::service'],
|
11
|
+
}
|
12
|
+
|
13
|
+
file { '/etc/mysql':
|
14
|
+
ensure => directory,
|
15
|
+
mode => '0755',
|
16
|
+
}
|
17
|
+
|
18
|
+
file { '/etc/mysql/conf.d':
|
19
|
+
ensure => directory,
|
20
|
+
mode => '0755',
|
21
|
+
recurse => $mysql::server::purge_conf_dir,
|
22
|
+
purge => $mysql::server::purge_conf_dir,
|
23
|
+
}
|
24
|
+
|
25
|
+
if $mysql::server::manage_config_file {
|
26
|
+
file { $mysql::server::config_file:
|
27
|
+
content => template('mysql/my.cnf.erb'),
|
28
|
+
mode => '0644',
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#This is a helper class to add a monitoring user to the database
|
2
|
+
class mysql::server::monitor (
|
3
|
+
$mysql_monitor_username,
|
4
|
+
$mysql_monitor_password,
|
5
|
+
$mysql_monitor_hostname
|
6
|
+
) {
|
7
|
+
|
8
|
+
Anchor['mysql::server::end'] -> Class['mysql::server::monitor']
|
9
|
+
|
10
|
+
mysql_user { "${mysql_monitor_username}@${mysql_monitor_hostname}":
|
11
|
+
ensure => present,
|
12
|
+
password_hash => mysql_password($mysql_monitor_password),
|
13
|
+
require => Class['mysql::server::service'],
|
14
|
+
}
|
15
|
+
|
16
|
+
mysql_grant { "${mysql_monitor_username}@${mysql_monitor_hostname}/*.*":
|
17
|
+
ensure => present,
|
18
|
+
user => "${mysql_monitor_username}@${mysql_monitor_hostname}",
|
19
|
+
table => '*.*',
|
20
|
+
privileges => [ 'PROCESS', 'SUPER' ],
|
21
|
+
require => Mysql_user["${mysql_monitor_username}@${mysql_monitor_hostname}"],
|
22
|
+
}
|
23
|
+
|
24
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Convenience class to call each of the three providers with the corresponding
|
2
|
+
# hashes provided in mysql::server.
|
3
|
+
# See README.md for details.
|
4
|
+
class mysql::server::providers {
|
5
|
+
create_resources('mysql_user', $mysql::server::users)
|
6
|
+
create_resources('mysql_grant', $mysql::server::grants)
|
7
|
+
create_resources('mysql_database', $mysql::server::databases)
|
8
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#
|
2
|
+
class mysql::server::root_password {
|
3
|
+
|
4
|
+
$options = $mysql::server::options
|
5
|
+
|
6
|
+
# manage root password if it is set
|
7
|
+
if $mysql::server::root_password != 'UNSET' {
|
8
|
+
mysql_user { 'root@localhost':
|
9
|
+
ensure => present,
|
10
|
+
password_hash => mysql_password($mysql::server::root_password),
|
11
|
+
}
|
12
|
+
|
13
|
+
file { "${::root_home}/.my.cnf":
|
14
|
+
content => template('mysql/my.cnf.pass.erb'),
|
15
|
+
owner => 'root',
|
16
|
+
mode => '0600',
|
17
|
+
require => Mysql_user['root@localhost'],
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#
|
2
|
+
class mysql::server::service {
|
3
|
+
|
4
|
+
if $mysql::server::real_service_enabled {
|
5
|
+
$service_ensure = 'running'
|
6
|
+
} else {
|
7
|
+
$service_ensure = 'stopped'
|
8
|
+
}
|
9
|
+
|
10
|
+
if $mysql::server::real_service_manage {
|
11
|
+
service { 'mysqld':
|
12
|
+
ensure => $service_ensure,
|
13
|
+
name => $mysql::server::service_name,
|
14
|
+
enable => $mysql::server::real_service_enabled,
|
15
|
+
provider => $mysql::server::service_provider,
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# Class: mysql::server: See README.md for documentation.
|
2
|
+
class mysql::server (
|
3
|
+
$config_file = $mysql::params::config_file,
|
4
|
+
$manage_config_file = $mysql::params::manage_config_file,
|
5
|
+
$old_root_password = $mysql::params::old_root_password,
|
6
|
+
$override_options = {},
|
7
|
+
$package_ensure = $mysql::params::server_package_ensure,
|
8
|
+
$package_name = $mysql::params::server_package_name,
|
9
|
+
$purge_conf_dir = $mysql::params::purge_conf_dir,
|
10
|
+
$remove_default_accounts = false,
|
11
|
+
$restart = $mysql::params::restart,
|
12
|
+
$root_group = $mysql::params::root_group,
|
13
|
+
$root_password = $mysql::params::root_password,
|
14
|
+
$service_enabled = $mysql::params::server_service_enabled,
|
15
|
+
$service_manage = $mysql::params::server_service_manage,
|
16
|
+
$service_name = $mysql::params::server_service_name,
|
17
|
+
$service_provider = $mysql::params::server_service_provider,
|
18
|
+
$users = {},
|
19
|
+
$grants = {},
|
20
|
+
$databases = {},
|
21
|
+
|
22
|
+
# Deprecated parameters
|
23
|
+
$enabled = undef,
|
24
|
+
$manage_service = undef
|
25
|
+
) inherits mysql::params {
|
26
|
+
|
27
|
+
# Deprecated parameters.
|
28
|
+
if $enabled {
|
29
|
+
crit('This parameter has been renamed to service_enabled.')
|
30
|
+
$real_service_enabled = $enabled
|
31
|
+
} else {
|
32
|
+
$real_service_enabled = $service_enabled
|
33
|
+
}
|
34
|
+
if $manage_service {
|
35
|
+
crit('This parameter has been renamed to service_manage.')
|
36
|
+
$real_service_manage = $manage_service
|
37
|
+
} else {
|
38
|
+
$real_service_manage = $service_manage
|
39
|
+
}
|
40
|
+
|
41
|
+
# Create a merged together set of options. Rightmost hashes win over left.
|
42
|
+
$options = mysql_deepmerge($mysql::params::default_options, $override_options)
|
43
|
+
|
44
|
+
Class['mysql::server::root_password'] -> Mysql::Db <| |>
|
45
|
+
|
46
|
+
include '::mysql::server::install'
|
47
|
+
include '::mysql::server::config'
|
48
|
+
include '::mysql::server::service'
|
49
|
+
include '::mysql::server::root_password'
|
50
|
+
include '::mysql::server::providers'
|
51
|
+
|
52
|
+
if $remove_default_accounts {
|
53
|
+
class { '::mysql::server::account_security':
|
54
|
+
require => Anchor['mysql::server::end'],
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
anchor { 'mysql::server::start': }
|
59
|
+
anchor { 'mysql::server::end': }
|
60
|
+
|
61
|
+
Anchor['mysql::server::start'] ->
|
62
|
+
Class['mysql::server::install'] ->
|
63
|
+
Class['mysql::server::config'] ->
|
64
|
+
Class['mysql::server::service'] ->
|
65
|
+
Class['mysql::server::root_password'] ->
|
66
|
+
Class['mysql::server::providers'] ->
|
67
|
+
Anchor['mysql::server::end']
|
68
|
+
|
69
|
+
}
|