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
@@ -1,93 +1,71 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# == Class: postgresql::server
|
4
|
-
# Manages the installation of the postgresql server. manages the package and
|
5
|
-
# service.
|
6
|
-
#
|
7
|
-
# === Parameters:
|
8
|
-
# [*package_name*] - name of package
|
9
|
-
# [*service_name*] - name of service
|
10
|
-
#
|
11
|
-
# Configuration:
|
12
|
-
# Advanced configuration setting parameters can be placed into 'postgresql_puppet_extras.conf' (located in the same
|
13
|
-
# folder as 'postgresql.conf'). You can manage that file as a normal puppet file resource, or however you see fit;
|
14
|
-
# which gives you complete control over the settings. Any value you specify in that file will override any existing
|
15
|
-
# value set in the templated version.
|
16
|
-
#
|
17
|
-
# Actions:
|
18
|
-
#
|
19
|
-
# Requires:
|
20
|
-
#
|
21
|
-
# Sample Usage:
|
22
|
-
#
|
1
|
+
# This installs a PostgreSQL server. See README.md for more details.
|
23
2
|
class postgresql::server (
|
24
|
-
$ensure
|
25
|
-
$package_name = $postgresql::params::server_package_name,
|
26
|
-
$package_ensure = 'present',
|
27
|
-
$service_name = $postgresql::params::service_name,
|
28
|
-
$service_provider = $postgresql::params::service_provider,
|
29
|
-
$service_status = $postgresql::params::service_status,
|
30
|
-
$config_hash = {},
|
31
|
-
$datadir = $postgresql::params::datadir
|
32
|
-
) inherits postgresql::params {
|
3
|
+
$ensure = $postgresql::params::ensure,
|
33
4
|
|
34
|
-
|
35
|
-
service { 'postgresqld':
|
36
|
-
ensure => stopped,
|
37
|
-
name => $service_name,
|
38
|
-
enable => false,
|
39
|
-
provider => $service_provider,
|
40
|
-
hasstatus => true,
|
41
|
-
status => $service_status,
|
42
|
-
}->
|
43
|
-
package { 'postgresql-server':
|
44
|
-
ensure => purged,
|
45
|
-
name => $package_name,
|
46
|
-
tag => 'postgresql',
|
47
|
-
}->
|
48
|
-
file { $datadir:
|
49
|
-
ensure => absent,
|
50
|
-
recurse => true,
|
51
|
-
force => true,
|
52
|
-
}
|
53
|
-
} else {
|
54
|
-
package { 'postgresql-server':
|
55
|
-
ensure => $package_ensure,
|
56
|
-
name => $package_name,
|
57
|
-
tag => 'postgresql',
|
58
|
-
}
|
5
|
+
$version = $postgresql::params::version,
|
59
6
|
|
60
|
-
|
61
|
-
'postgresql::config' => $config_hash,
|
62
|
-
}
|
7
|
+
$postgres_password = undef,
|
63
8
|
|
64
|
-
|
9
|
+
$package_name = $postgresql::params::server_package_name,
|
10
|
+
$package_ensure = $ensure,
|
65
11
|
|
66
|
-
|
67
|
-
ensure => running,
|
68
|
-
name => $service_name,
|
69
|
-
enable => true,
|
70
|
-
require => Package['postgresql-server'],
|
71
|
-
provider => $service_provider,
|
72
|
-
hasstatus => true,
|
73
|
-
status => $service_status,
|
74
|
-
}
|
12
|
+
$plperl_package_name = $postgresql::params::plperl_package_name,
|
75
13
|
|
76
|
-
|
77
|
-
|
14
|
+
$service_name = $postgresql::params::service_name,
|
15
|
+
$service_provider = $postgresql::params::service_provider,
|
16
|
+
$service_status = $postgresql::params::service_status,
|
17
|
+
$default_database = $postgresql::params::default_database,
|
78
18
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
19
|
+
$listen_addresses = $postgresql::params::listen_addresses,
|
20
|
+
$ip_mask_deny_postgres_user = $postgresql::params::ip_mask_deny_postgres_user,
|
21
|
+
$ip_mask_allow_all_users = $postgresql::params::ip_mask_allow_all_users,
|
22
|
+
$ipv4acls = $postgresql::params::ipv4acls,
|
23
|
+
$ipv6acls = $postgresql::params::ipv6acls,
|
84
24
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
25
|
+
$initdb_path = $postgresql::params::initdb_path,
|
26
|
+
$createdb_path = $postgresql::params::createdb_path,
|
27
|
+
$psql_path = $postgresql::params::psql_path,
|
28
|
+
$pg_hba_conf_path = $postgresql::params::pg_hba_conf_path,
|
29
|
+
$postgresql_conf_path = $postgresql::params::postgresql_conf_path,
|
30
|
+
|
31
|
+
$datadir = $postgresql::params::datadir,
|
32
|
+
|
33
|
+
$pg_hba_conf_defaults = $postgresql::params::pg_hba_conf_defaults,
|
34
|
+
|
35
|
+
$user = $postgresql::params::user,
|
36
|
+
$group = $postgresql::params::group,
|
37
|
+
|
38
|
+
$needs_initdb = $postgresql::params::needs_initdb,
|
92
39
|
|
40
|
+
$encoding = $postgresql::params::encoding,
|
41
|
+
$locale = $postgresql::params::locale,
|
42
|
+
|
43
|
+
$manage_firewall = $postgresql::params::manage_firewall,
|
44
|
+
$manage_pg_hba_conf = $postgresql::params::manage_pg_hba_conf,
|
45
|
+
$firewall_supported = $postgresql::params::firewall_supported
|
46
|
+
) inherits postgresql::params {
|
47
|
+
$pg = 'postgresql::server'
|
48
|
+
|
49
|
+
if ($ensure == 'present' or $ensure == true) {
|
50
|
+
# Reload has its own ordering, specified by other defines
|
51
|
+
class { "${pg}::reload": require => Class["${pg}::install"] }
|
52
|
+
|
53
|
+
anchor { "${pg}::start": }->
|
54
|
+
class { "${pg}::install": }->
|
55
|
+
class { "${pg}::initdb": }->
|
56
|
+
class { "${pg}::config": }->
|
57
|
+
class { "${pg}::service": }->
|
58
|
+
class { "${pg}::passwd": }->
|
59
|
+
class { "${pg}::firewall": }->
|
60
|
+
anchor { "${pg}::end": }
|
61
|
+
} else {
|
62
|
+
anchor { "${pg}::start": }->
|
63
|
+
class { "${pg}::firewall": }->
|
64
|
+
class { "${pg}::passwd": }->
|
65
|
+
class { "${pg}::service": }->
|
66
|
+
class { "${pg}::install": }->
|
67
|
+
class { "${pg}::initdb": }->
|
68
|
+
class { "${pg}::config": }->
|
69
|
+
anchor { "${pg}::end": }
|
70
|
+
}
|
93
71
|
}
|
@@ -1,65 +1,62 @@
|
|
1
|
-
# Define: postgresql::validate_db_connection
|
2
|
-
#
|
3
1
|
# This type validates that a successful postgres connection can be established
|
4
2
|
# between the node on which this resource is run and a specified postgres
|
5
3
|
# instance (host/port/user/password/database name).
|
6
4
|
#
|
7
|
-
#
|
8
|
-
# [*database_host*] - the hostname or IP address of the machine where the
|
9
|
-
# postgres server should be running.
|
10
|
-
# [*database_port*] - the port on which postgres server should be
|
11
|
-
# listening (defaults to 5432).
|
12
|
-
# [*database_username*] - the postgres username
|
13
|
-
# [*database_password*] - the postgres user's password
|
14
|
-
# [*database_name*] - the database name that the connection should be
|
15
|
-
# established against
|
16
|
-
#
|
17
|
-
# NOTE: to some degree this type assumes that you've created the corresponding
|
18
|
-
# postgres database instance that you are validating by using the
|
19
|
-
# `postgresql::db` or `postgresql::database` type provided by this module
|
20
|
-
# elsewhere in your manifests.
|
21
|
-
#
|
22
|
-
# Actions:
|
23
|
-
#
|
24
|
-
# Attempts to establish a connection to the specified postgres database. If
|
25
|
-
# a connection cannot be established, the resource will fail; this allows you
|
26
|
-
# to use it as a dependency for other resources that would be negatively
|
27
|
-
# impacted if they were applied without the postgres connection being available.
|
28
|
-
#
|
29
|
-
# Requires:
|
30
|
-
#
|
31
|
-
# `psql` commandline tool (will automatically install the system's postgres
|
32
|
-
# client package if it is not already installed.)
|
33
|
-
#
|
34
|
-
# Sample Usage:
|
35
|
-
#
|
36
|
-
# postgresql::validate_db_connection { 'validate my postgres connection':
|
37
|
-
# database_host => 'my.postgres.host',
|
38
|
-
# database_username => 'mydbuser',
|
39
|
-
# database_password => 'mydbpassword',
|
40
|
-
# database_name => 'mydbname',
|
41
|
-
# }
|
42
|
-
#
|
43
|
-
|
5
|
+
# See README.md for more details.
|
44
6
|
define postgresql::validate_db_connection(
|
45
|
-
$database_host,
|
46
|
-
$database_name,
|
47
|
-
$database_password,
|
48
|
-
$database_username,
|
49
|
-
$database_port
|
7
|
+
$database_host = undef,
|
8
|
+
$database_name = undef,
|
9
|
+
$database_password = undef,
|
10
|
+
$database_username = undef,
|
11
|
+
$database_port = undef,
|
12
|
+
$run_as = undef,
|
13
|
+
$sleep = 2,
|
14
|
+
$tries = 10,
|
15
|
+
$create_db_first = true
|
50
16
|
) {
|
51
17
|
require postgresql::client
|
18
|
+
include postgresql::params
|
52
19
|
|
53
|
-
|
54
|
-
|
20
|
+
$psql_path = $postgresql::params::psql_path
|
21
|
+
|
22
|
+
$cmd_init = "${psql_path} --tuples-only --quiet "
|
23
|
+
$cmd_host = $database_host ? {
|
24
|
+
default => "-h ${database_host} ",
|
25
|
+
undef => "",
|
26
|
+
}
|
27
|
+
$cmd_user = $database_username ? {
|
28
|
+
default => "-U ${database_username} ",
|
29
|
+
undef => "",
|
30
|
+
}
|
31
|
+
$cmd_port = $database_port ? {
|
32
|
+
default => "-p ${database_port} ",
|
33
|
+
undef => "",
|
34
|
+
}
|
35
|
+
$cmd_dbname = $database_name ? {
|
36
|
+
default => "--dbname ${database_name} ",
|
37
|
+
undef => "--dbname ${postgresql::params::default_database} ",
|
38
|
+
}
|
39
|
+
$env = $database_password ? {
|
40
|
+
default => "PGPASSWORD=${database_password}",
|
41
|
+
undef => undef,
|
42
|
+
}
|
43
|
+
$cmd = join([$cmd_init, $cmd_host, $cmd_user, $cmd_port, $cmd_dbname])
|
44
|
+
$validate_cmd = "/usr/local/bin/validate_postgresql_connection.sh ${sleep} ${tries} '${cmd}'"
|
45
|
+
|
46
|
+
# This is more of a safety valve, we add a little extra to compensate for the
|
47
|
+
# time it takes to run each psql command.
|
48
|
+
$timeout = (($sleep + 2) * $tries)
|
55
49
|
|
56
50
|
$exec_name = "validate postgres connection for ${database_host}/${database_name}"
|
57
51
|
exec { $exec_name:
|
58
|
-
command => '
|
59
|
-
unless =>
|
52
|
+
command => "echo 'Unable to connect to defined database using: ${cmd}' && false",
|
53
|
+
unless => $validate_cmd,
|
60
54
|
cwd => '/tmp',
|
61
|
-
environment =>
|
55
|
+
environment => $env,
|
62
56
|
logoutput => 'on_failure',
|
57
|
+
user => $run_as,
|
58
|
+
path => '/bin',
|
59
|
+
timeout => $timeout,
|
63
60
|
require => Package['postgresql-client'],
|
64
61
|
}
|
65
62
|
|
@@ -72,5 +69,7 @@ define postgresql::validate_db_connection(
|
|
72
69
|
# We accomplish this by using Puppet's resource collection syntax to search
|
73
70
|
# for the Database resource in our current catalog; if it exists, the
|
74
71
|
# appropriate relationship is created here.
|
75
|
-
|
72
|
+
if($create_db_first) {
|
73
|
+
Postgresql::Server::Database<|title == $database_name|> -> Exec[$exec_name]
|
74
|
+
}
|
76
75
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "puppetlabs-postgresql",
|
3
|
-
"version": "2.
|
3
|
+
"version": "3.2.0",
|
4
4
|
"source": "git://github.com/puppetlabs/puppet-postgresql.git",
|
5
5
|
"author": "Inkling/Puppet Labs",
|
6
6
|
"license": "ASL 2.0",
|
@@ -21,11 +21,41 @@
|
|
21
21
|
"version_requirement": ">=1.1.0 <2.0.0"
|
22
22
|
},
|
23
23
|
{
|
24
|
-
"name": "
|
25
|
-
"version_requirement": ">= 0.2.0"
|
24
|
+
"name": "puppetlabs/concat",
|
25
|
+
"version_requirement": ">= 1.0.0 <2.0.0"
|
26
26
|
}
|
27
27
|
],
|
28
28
|
"types": [
|
29
|
+
{
|
30
|
+
"name": "postgresql_conf",
|
31
|
+
"doc": "This type allows puppet to manage postgresql.conf parameters.",
|
32
|
+
"properties": [
|
33
|
+
{
|
34
|
+
"name": "ensure",
|
35
|
+
"doc": "The basic property that the resource should be in. Valid values are `present`, `absent`."
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"name": "value",
|
39
|
+
"doc": "The value to set for this parameter."
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"name": "target",
|
43
|
+
"doc": "The path to postgresql.conf"
|
44
|
+
}
|
45
|
+
],
|
46
|
+
"parameters": [
|
47
|
+
{
|
48
|
+
"name": "name",
|
49
|
+
"doc": "The postgresql parameter name to manage. Values can match `/^[\\w\\.]+$/`."
|
50
|
+
}
|
51
|
+
],
|
52
|
+
"providers": [
|
53
|
+
{
|
54
|
+
"name": "parsed",
|
55
|
+
"doc": "Set key/values in postgresql.conf."
|
56
|
+
}
|
57
|
+
]
|
58
|
+
},
|
29
59
|
{
|
30
60
|
"name": "postgresql_psql",
|
31
61
|
"doc": "",
|
@@ -48,6 +78,10 @@
|
|
48
78
|
"name": "db",
|
49
79
|
"doc": "The name of the database to execute the SQL command against."
|
50
80
|
},
|
81
|
+
{
|
82
|
+
"name": "search_path",
|
83
|
+
"doc": "The schema search path to use when executing the SQL command"
|
84
|
+
},
|
51
85
|
{
|
52
86
|
"name": "psql_path",
|
53
87
|
"doc": "The path to psql executable."
|
@@ -78,85 +112,101 @@
|
|
78
112
|
}
|
79
113
|
],
|
80
114
|
"checksums": {
|
81
|
-
"Changelog": "
|
82
|
-
"Gemfile": "
|
83
|
-
"Gemfile.lock": "
|
84
|
-
"LICENSE": "
|
85
|
-
"Modulefile": "
|
86
|
-
"
|
115
|
+
"Changelog": "3bff00e6b5ac42cd8055ee8d7337c4ff",
|
116
|
+
"Gemfile": "d29b809bd75c2aa7c160e45e66483d8c",
|
117
|
+
"Gemfile.lock": "9c04244f3ad5b505c9f36daf40a5677f",
|
118
|
+
"LICENSE": "746fe83ebbf8970af0a9ea13962293e9",
|
119
|
+
"Modulefile": "6a824d502980df77edf9d414b5e3e2f2",
|
120
|
+
"NOTICE": "d8ffc52f00e00877b45d2b77e709f69e",
|
121
|
+
"README.md": "049d45d3aa128c29e16e9a0dcf67517f",
|
87
122
|
"Rakefile": "7e458ced5c7b798430ee6371f860057e",
|
88
|
-
"examples/init.pp": "f7772943903ec859df2e43b61b700fd4",
|
89
|
-
"examples/official-postgresql-repos.pp": "44e02f3c93b7d5edf1647d608c4e6310",
|
90
|
-
"examples/postgresql_database.pp": "8c631bdc1a57c3e82b203ec3d5dde5e1",
|
91
|
-
"examples/postgresql_db.pp": "2db756a3dea26055fd9aa8e63201ec4d",
|
92
|
-
"examples/postgresql_grant.pp": "6f1e08c4f7394b32573a70acc314c3a7",
|
93
|
-
"examples/postgresql_pg_hba_rule.pp": "4591748c68d75a1014991de70a83aaaa",
|
94
|
-
"examples/postgresql_pgconf_extras.pp": "51b8d3bf9847a7d7c2a33b131705496f",
|
95
|
-
"examples/postgresql_tablespace.pp": "f3f6b0c2b6ff09b73ff36138604e2b92",
|
96
|
-
"examples/postgresql_user.pp": "974917490d130306d45fbb8edee2d6b6",
|
97
|
-
"examples/server.pp": "7a44884738b92730cdcc0282a581dce2",
|
98
123
|
"files/RPM-GPG-KEY-PGDG": "78b5db170d33f80ad5a47863a7476b22",
|
99
|
-
"
|
124
|
+
"files/validate_postgresql_connection.sh": "20301932819f035492a30880f5bf335a",
|
100
125
|
"lib/puppet/parser/functions/postgresql_acls_to_resources_hash.rb": "d518a7959b950874820a3b0a7a324488",
|
101
126
|
"lib/puppet/parser/functions/postgresql_escape.rb": "2e136fcd653ab38d831c5b40806d47d1",
|
102
127
|
"lib/puppet/parser/functions/postgresql_password.rb": "820da02a888ab42357fe9bc2352b1c37",
|
103
|
-
"lib/puppet/provider/
|
104
|
-
"lib/puppet/
|
105
|
-
"
|
106
|
-
"
|
107
|
-
"manifests/
|
108
|
-
"manifests/
|
109
|
-
"manifests/
|
110
|
-
"manifests/
|
111
|
-
"manifests/
|
112
|
-
"manifests/
|
113
|
-
"manifests/
|
114
|
-
"manifests/
|
115
|
-
"manifests/
|
116
|
-
"manifests/
|
117
|
-
"manifests/
|
118
|
-
"manifests/
|
119
|
-
"manifests/
|
120
|
-
"manifests/
|
121
|
-
"manifests/
|
122
|
-
"manifests/
|
123
|
-
"manifests/
|
124
|
-
"manifests/
|
125
|
-
"manifests/
|
126
|
-
"manifests/
|
127
|
-
"manifests/
|
128
|
-
"manifests/server.pp": "
|
129
|
-
"manifests/
|
130
|
-
"manifests/
|
131
|
-
"manifests/
|
128
|
+
"lib/puppet/provider/postgresql_conf/parsed.rb": "9c198422c0558faab1bedc00b68cfe45",
|
129
|
+
"lib/puppet/provider/postgresql_psql/ruby.rb": "506a07dc159de91fe212133103b9dcff",
|
130
|
+
"lib/puppet/type/postgresql_conf.rb": "4f333138a3689f9768e7fe4bc3cde9fd",
|
131
|
+
"lib/puppet/type/postgresql_psql.rb": "2c1270cfed4ffb2971059846a57cf983",
|
132
|
+
"manifests/client.pp": "f9bc3a578017fe8eb881de2255bdc023",
|
133
|
+
"manifests/globals.pp": "64d9cdb6894ba6334992e9365a1e2096",
|
134
|
+
"manifests/lib/devel.pp": "94ae7eac3acf1dd3072d481eca4d2d7f",
|
135
|
+
"manifests/lib/java.pp": "6e4a2187c2b4caecad8098b46e99c8e0",
|
136
|
+
"manifests/lib/python.pp": "90736f86301c4c6401ec1180c176b616",
|
137
|
+
"manifests/params.pp": "109138ba7df4ad7da71b302a20f33b29",
|
138
|
+
"manifests/repo/apt_postgresql_org.pp": "ef7012ea3c5429bea11b1114183d32c3",
|
139
|
+
"manifests/repo/yum_postgresql_org.pp": "e0c445f877cdb39774b735417c967d1d",
|
140
|
+
"manifests/repo.pp": "a18a5cb760dbb1e10bdd83730300c1fe",
|
141
|
+
"manifests/server/config.pp": "a05f4aeb3f09b2e5e9ee8b9467519afb",
|
142
|
+
"manifests/server/config_entry.pp": "a3823efa15fe96535335bd7b722fef9a",
|
143
|
+
"manifests/server/contrib.pp": "3112bd1edbed51b68e1402027f9d53b1",
|
144
|
+
"manifests/server/database.pp": "ebf356e8cadf5bef884e5597fd60724e",
|
145
|
+
"manifests/server/database_grant.pp": "66e5470bb932b087b540c444ee49941b",
|
146
|
+
"manifests/server/db.pp": "f35e4974ffee6136e2de1a3edc9cbf21",
|
147
|
+
"manifests/server/firewall.pp": "98632b073511a00926908c6951851052",
|
148
|
+
"manifests/server/grant.pp": "81c8d6b64a6b938fe57346ede5cdfeb7",
|
149
|
+
"manifests/server/initdb.pp": "91e27eaf448817c0f904e5267816a16a",
|
150
|
+
"manifests/server/install.pp": "8520e3a86c74e0587a46c4548097bab3",
|
151
|
+
"manifests/server/passwd.pp": "96214f099cfb97d361f9bdc0734baf38",
|
152
|
+
"manifests/server/pg_hba_rule.pp": "01a1bf9503f908531af9990909d8ba45",
|
153
|
+
"manifests/server/plperl.pp": "d6a2e2f0c93c7b543e9db64202c2e48d",
|
154
|
+
"manifests/server/reload.pp": "d62c048c8f25c167d266e99e36c0f227",
|
155
|
+
"manifests/server/role.pp": "43eeda8b6a40b587d688e2ce33c4e780",
|
156
|
+
"manifests/server/service.pp": "e1896d429a032c4522201e9048d204db",
|
157
|
+
"manifests/server/table_grant.pp": "bbc864f0ad8545837cf7782d1f7a1755",
|
158
|
+
"manifests/server/tablespace.pp": "beda12859757f7f677a711304dfd5185",
|
159
|
+
"manifests/server.pp": "d147bf997967eeb428c6e681dbe89d67",
|
160
|
+
"manifests/validate_db_connection.pp": "be61434836f7d25cc184126a91b2e3e6",
|
132
161
|
"spec/spec_helper.rb": "d4e4a9a154ada34e7f13b0d8ece0f5db",
|
133
|
-
"spec/spec_helper_system.rb": "
|
134
|
-
"spec/system/
|
135
|
-
"spec/system/
|
136
|
-
"spec/
|
137
|
-
"spec/
|
138
|
-
"spec/
|
139
|
-
"spec/
|
140
|
-
"spec/
|
141
|
-
"spec/
|
142
|
-
"spec/
|
143
|
-
"spec/
|
144
|
-
"spec/
|
145
|
-
"spec/
|
146
|
-
"spec/
|
147
|
-
"spec/
|
148
|
-
"spec/
|
149
|
-
"spec/
|
150
|
-
"spec/
|
151
|
-
"spec/
|
152
|
-
"spec/
|
153
|
-
"spec/unit/
|
154
|
-
"spec/unit/
|
162
|
+
"spec/spec_helper_system.rb": "ecedca722f54627ef2c5f8a0da5f2163",
|
163
|
+
"spec/system/client_spec.rb": "b477056c567ecc479a3bbc6e283df7ba",
|
164
|
+
"spec/system/common_patterns_spec.rb": "696033dd862db23f45e86b2099e47810",
|
165
|
+
"spec/system/contrib_spec.rb": "326208830a51cf74841bae361709863a",
|
166
|
+
"spec/system/lib/devel_spec.rb": "5e69579d3e2e4f854640e3afb1122162",
|
167
|
+
"spec/system/lib/java_spec.rb": "e88f705ae328f8a830ae027fca35a474",
|
168
|
+
"spec/system/lib/python_spec.rb": "2690f7530f806fa52cbedbb2c86988e6",
|
169
|
+
"spec/system/postgresql_psql_spec.rb": "6dd5c8ec1e0f493143fa2b89b044ee3d",
|
170
|
+
"spec/system/server/config_entry_spec.rb": "0a8a3c42efad84ab7aca367b8c3e8160",
|
171
|
+
"spec/system/server/database_grant_spec.rb": "f5736d6ac16ad1d2ed5f9f3442e3dda4",
|
172
|
+
"spec/system/server/database_spec.rb": "5405572c72b39d72d7975da02eef8569",
|
173
|
+
"spec/system/server/db_spec.rb": "5a6fcf61718af48e2b1fb79ba040da93",
|
174
|
+
"spec/system/server/grant_spec.rb": "fc629944a71faa1d871f3d3a7e4e4a83",
|
175
|
+
"spec/system/server/pg_hba_rule_spec.rb": "ff0c8c772ed60f8667dd2531029830b9",
|
176
|
+
"spec/system/server/plperl_spec.rb": "cd54753b2c8d5e4aaad13daeb8b61e7a",
|
177
|
+
"spec/system/server/role_spec.rb": "5b566002ba577f737d4e2a7b3fccb221",
|
178
|
+
"spec/system/server/table_grant_spec.rb": "260490ebb6c8b9b9f73551fb4eca8ea5",
|
179
|
+
"spec/system/server/tablespace_spec.rb": "48fed176f821c77d24366d70e9d15ff2",
|
180
|
+
"spec/system/server_spec.rb": "e93f4a14e5916eac7961e8d5215e16e2",
|
181
|
+
"spec/system/validate_db_connection_spec.rb": "1a454b555c6f0539d7e6e47e177a68cf",
|
182
|
+
"spec/unit/classes/client_spec.rb": "b26438da8906e68d17e568252c1e43b5",
|
183
|
+
"spec/unit/classes/globals_spec.rb": "952cba1463ca000e288cbfd56ec8c771",
|
184
|
+
"spec/unit/classes/lib/devel_spec.rb": "f660eb0afe4fa75e999ab192e39b58d8",
|
185
|
+
"spec/unit/classes/lib/java_spec.rb": "bdb60c3b379a3788b3bf1f6c29b31c0a",
|
186
|
+
"spec/unit/classes/lib/python_spec.rb": "677c763c1a43a0e33ef7e6e819ec9f0a",
|
187
|
+
"spec/unit/classes/params_spec.rb": "2661b999fc13cd3368b54549f3267be0",
|
188
|
+
"spec/unit/classes/repo_spec.rb": "a24b152315c86146881b6a39a7a22cd0",
|
189
|
+
"spec/unit/classes/server/contrib_spec.rb": "16528171ee3e058c06c5fea454dc9dbc",
|
190
|
+
"spec/unit/classes/server/initdb_spec.rb": "7f17f9cc6091c9e9ff789dc2f1653bff",
|
191
|
+
"spec/unit/classes/server/plperl_spec.rb": "120e0280679b21b4348dd992f39f83b3",
|
192
|
+
"spec/unit/classes/server_spec.rb": "244a793964c16cb3f4d819998e8f07a4",
|
193
|
+
"spec/unit/defines/server/config_entry_spec.rb": "cc2d9d0e4508d745f85c3446ccf76eb4",
|
194
|
+
"spec/unit/defines/server/database_grant_spec.rb": "e09254037c042efa5a29ba8d777c882f",
|
195
|
+
"spec/unit/defines/server/database_spec.rb": "090e9cf334843a4dc8b3f4eadce0109b",
|
196
|
+
"spec/unit/defines/server/db_spec.rb": "9f2181b0df771f4c6adf089b788adf42",
|
197
|
+
"spec/unit/defines/server/grant_spec.rb": "b8d8f46c7c4539747ee0b797a3a1834f",
|
198
|
+
"spec/unit/defines/server/pg_hba_rule_spec.rb": "3ed69d689bf28b56a030c543e7ce6775",
|
199
|
+
"spec/unit/defines/server/role_spec.rb": "fdb53fa637ccd79f8231e15383099137",
|
200
|
+
"spec/unit/defines/server/table_grant_spec.rb": "bb794a0b15dc74e8c8fa5d4878fd3c79",
|
201
|
+
"spec/unit/defines/server/tablespace_spec.rb": "68e7b9a193475491c58485debf1be220",
|
202
|
+
"spec/unit/defines/validate_db_connection_spec.rb": "88e57a8f780d381d75fe062f1178e1ce",
|
155
203
|
"spec/unit/functions/postgresql_acls_to_resources_hash_spec.rb": "e7740c3cd2110e2fcebab8356012267c",
|
156
204
|
"spec/unit/functions/postgresql_escape_spec.rb": "6e52e4f3ca56491f8ba2d1490a5fd1ad",
|
157
205
|
"spec/unit/functions/postgresql_password_spec.rb": "76034569a5ff627073c5e6ff69176ac3",
|
158
|
-
"spec/unit/
|
159
|
-
"spec/unit/puppet/
|
206
|
+
"spec/unit/provider/postgresql_conf/parsed_spec.rb": "7295501a413d8cf99df6f40ea50a36fc",
|
207
|
+
"spec/unit/puppet/provider/postgresql_psql/ruby_spec.rb": "deef7a3f574269889e7d050a55e847f4",
|
208
|
+
"spec/unit/puppet/type/postgresql_psql_spec.rb": "2af5b74f7f4b89ff246818cd79488b3e",
|
209
|
+
"spec/unit/type/postgresql_conf_spec.rb": "76f460e0dfc90a1f38c407e5a0d4f463",
|
160
210
|
"templates/pg_hba_rule.conf": "13b46eecdfd359eddff71fa485ef2f54"
|
161
211
|
}
|
162
212
|
}
|
@@ -1,7 +1,19 @@
|
|
1
1
|
require 'rspec-system/spec_helper'
|
2
2
|
require 'rspec-system-puppet/helpers'
|
3
|
+
require 'rspec-system-serverspec/helpers'
|
3
4
|
require 'tempfile'
|
4
5
|
|
6
|
+
include Serverspec::Helper::RSpecSystem
|
7
|
+
include Serverspec::Helper::DetectOS
|
8
|
+
|
9
|
+
class String
|
10
|
+
# Provide ability to remove indentation from strings, for the purpose of
|
11
|
+
# left justifying heredoc blocks.
|
12
|
+
def unindent
|
13
|
+
gsub(/^#{scan(/^\s*/).min_by{|l|l.length}}/, "")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
5
17
|
module LocalHelpers
|
6
18
|
include RSpecSystem::Util
|
7
19
|
|
@@ -37,7 +49,7 @@ RSpec.configure do |c|
|
|
37
49
|
shell('puppet module install puppetlabs/stdlib')
|
38
50
|
shell('puppet module install puppetlabs/firewall')
|
39
51
|
shell('puppet module install puppetlabs/apt')
|
40
|
-
shell('puppet module install
|
52
|
+
shell('puppet module install puppetlabs/concat')
|
41
53
|
|
42
54
|
file = Tempfile.new('foo')
|
43
55
|
begin
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper_system'
|
2
|
+
|
3
|
+
describe 'postgresql::client:' do
|
4
|
+
after :all do
|
5
|
+
# Cleanup after tests have ran
|
6
|
+
puppet_apply("class { 'postgresql::client': package_ensure => purged }") do |r|
|
7
|
+
r.exit_code.should_not == 1
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'test loading class with no parameters' do
|
12
|
+
pp = <<-EOS.unindent
|
13
|
+
class { 'postgresql::client': }
|
14
|
+
EOS
|
15
|
+
|
16
|
+
puppet_apply(pp) do |r|
|
17
|
+
r.exit_code.should_not == 1
|
18
|
+
r.refresh
|
19
|
+
r.exit_code.should == 0
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper_system'
|
2
|
+
|
3
|
+
describe 'common patterns:' do
|
4
|
+
describe 'postgresql.conf include pattern' do
|
5
|
+
after :all do
|
6
|
+
pp = <<-EOS.unindent
|
7
|
+
class { 'postgresql::server': ensure => absent }
|
8
|
+
|
9
|
+
file { '/tmp/include.conf':
|
10
|
+
ensure => absent
|
11
|
+
}
|
12
|
+
EOS
|
13
|
+
puppet_apply(pp) do |r|
|
14
|
+
r.exit_code.should_not == 1
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should support an 'include' directive at the end of postgresql.conf" do
|
19
|
+
pending('no support for include directive with centos 5/postgresql 8.1',
|
20
|
+
:if => (node.facts['osfamily'] == 'RedHat' and node.facts['lsbmajdistrelease'] == '5'))
|
21
|
+
|
22
|
+
pp = <<-EOS.unindent
|
23
|
+
class { 'postgresql::server': }
|
24
|
+
|
25
|
+
$extras = "/etc/postgresql-include.conf"
|
26
|
+
|
27
|
+
file { $extras:
|
28
|
+
content => 'max_connections = 123',
|
29
|
+
seltype => 'postgresql_db_t',
|
30
|
+
seluser => 'system_u',
|
31
|
+
notify => Class['postgresql::server::service'],
|
32
|
+
}
|
33
|
+
|
34
|
+
postgresql::server::config_entry { 'include':
|
35
|
+
value => $extras,
|
36
|
+
require => File[$extras],
|
37
|
+
}
|
38
|
+
EOS
|
39
|
+
|
40
|
+
puppet_apply(pp) do |r|
|
41
|
+
r.exit_code.should == 2
|
42
|
+
r.refresh
|
43
|
+
r.exit_code.should == 0
|
44
|
+
end
|
45
|
+
|
46
|
+
psql('--command="show max_connections" -t') do |r|
|
47
|
+
r.stdout.should =~ /123/
|
48
|
+
r.stderr.should == ''
|
49
|
+
r.exit_code.should == 0
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|