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,31 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# usage is: validate_db_connection 2 50 psql
|
4
|
+
|
5
|
+
SLEEP=$1
|
6
|
+
TRIES=$2
|
7
|
+
PSQL=$3
|
8
|
+
|
9
|
+
STATE=1
|
10
|
+
|
11
|
+
for (( c=1; c<=$TRIES; c++ ))
|
12
|
+
do
|
13
|
+
echo $c
|
14
|
+
if [ $c -gt 1 ]
|
15
|
+
then
|
16
|
+
echo 'sleeping'
|
17
|
+
sleep $SLEEP
|
18
|
+
fi
|
19
|
+
|
20
|
+
/bin/echo "SELECT 1" | $PSQL
|
21
|
+
STATE=$?
|
22
|
+
|
23
|
+
if [ $STATE -eq 0 ]
|
24
|
+
then
|
25
|
+
exit 0
|
26
|
+
fi
|
27
|
+
done
|
28
|
+
|
29
|
+
echo 'Unable to connect to postgresql'
|
30
|
+
|
31
|
+
exit 1
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'puppet/provider/parsedfile'
|
2
|
+
|
3
|
+
Puppet::Type.type(:postgresql_conf).provide(
|
4
|
+
:parsed,
|
5
|
+
:parent => Puppet::Provider::ParsedFile,
|
6
|
+
:default_target => '/etc/postgresql.conf',
|
7
|
+
:filetype => :flat
|
8
|
+
) do
|
9
|
+
desc "Set key/values in postgresql.conf."
|
10
|
+
|
11
|
+
text_line :comment, :match => /^\s*#/
|
12
|
+
text_line :blank, :match => /^\s*$/
|
13
|
+
|
14
|
+
record_line :parsed,
|
15
|
+
:fields => %w{name value comment},
|
16
|
+
:optional => %w{comment},
|
17
|
+
:match => /^\s*([\w\.]+)\s*=?\s*(.*?)(?:\s*#\s*(.*))?\s*$/,
|
18
|
+
:to_line => proc { |h|
|
19
|
+
|
20
|
+
# simple string and numeric values don't need to be enclosed in quotes
|
21
|
+
dontneedquote = h[:value].match(/^(\w+|[0-9.-]+)$/)
|
22
|
+
dontneedequal = h[:name].match(/^(include|include_if_exists)$/i)
|
23
|
+
|
24
|
+
str = h[:name].downcase # normalize case
|
25
|
+
str += dontneedequal ? ' ' : ' = '
|
26
|
+
str += "'" unless dontneedquote && !dontneedequal
|
27
|
+
str += h[:value]
|
28
|
+
str += "'" unless dontneedquote && !dontneedequal
|
29
|
+
str += " # #{h[:comment]}" unless (h[:comment].nil? or h[:comment] == :absent)
|
30
|
+
str
|
31
|
+
},
|
32
|
+
:post_parse => proc { |h|
|
33
|
+
h[:name].downcase! # normalize case
|
34
|
+
h[:value].gsub!(/(^'|'$)/, '') # strip out quotes
|
35
|
+
}
|
36
|
+
|
37
|
+
end
|
@@ -51,6 +51,10 @@ Puppet::Type.type(:postgresql_psql).provide(:ruby) do
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def run_sql_command(sql)
|
54
|
+
if resource[:search_path]
|
55
|
+
sql = "set search_path to #{Array(resource[:search_path]).join(',')}; #{sql}"
|
56
|
+
end
|
57
|
+
|
54
58
|
command = [resource[:psql_path]]
|
55
59
|
command.push("-d", resource[:db]) if resource[:db]
|
56
60
|
command.push("-t", "-c", sql)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Puppet
|
2
|
+
newtype(:postgresql_conf) do
|
3
|
+
|
4
|
+
@doc = "This type allows puppet to manage postgresql.conf parameters."
|
5
|
+
|
6
|
+
ensurable
|
7
|
+
|
8
|
+
newparam(:name) do
|
9
|
+
desc "The postgresql parameter name to manage."
|
10
|
+
isnamevar
|
11
|
+
|
12
|
+
newvalues(/^[\w\.]+$/)
|
13
|
+
end
|
14
|
+
|
15
|
+
newproperty(:value) do
|
16
|
+
desc "The value to set for this parameter."
|
17
|
+
end
|
18
|
+
|
19
|
+
newproperty(:target) do
|
20
|
+
desc "The path to postgresql.conf"
|
21
|
+
defaultto {
|
22
|
+
if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile)
|
23
|
+
@resource.class.defaultprovider.default_target
|
24
|
+
else
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
@@ -49,6 +49,10 @@ Puppet::Type.newtype(:postgresql_psql) do
|
|
49
49
|
desc "The name of the database to execute the SQL command against."
|
50
50
|
end
|
51
51
|
|
52
|
+
newparam(:search_path) do
|
53
|
+
desc "The schema search path to use when executing the SQL command"
|
54
|
+
end
|
55
|
+
|
52
56
|
newparam(:psql_path) do
|
53
57
|
desc "The path to psql executable."
|
54
58
|
defaultto("psql")
|
@@ -1,23 +1,9 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# This class installs postgresql client software.
|
4
|
-
#
|
5
|
-
# *Note* don't forget to make sure to add any necessary yum or apt
|
6
|
-
# repositories if specifying a custom version.
|
7
|
-
#
|
8
|
-
# Parameters:
|
9
|
-
# [*package_name*] - The name of the postgresql client package.
|
10
|
-
# [*ensure*] - the ensure parameter passed to the postgresql client package resource
|
11
|
-
# Actions:
|
12
|
-
#
|
13
|
-
# Requires:
|
14
|
-
#
|
15
|
-
# Sample Usage:
|
16
|
-
#
|
1
|
+
# Install client cli tool. See README.md for more details.
|
17
2
|
class postgresql::client (
|
18
3
|
$package_name = $postgresql::params::client_package_name,
|
19
4
|
$package_ensure = 'present'
|
20
5
|
) inherits postgresql::params {
|
6
|
+
validate_string($package_name)
|
21
7
|
|
22
8
|
package { 'postgresql-client':
|
23
9
|
ensure => $package_ensure,
|
@@ -25,4 +11,19 @@ class postgresql::client (
|
|
25
11
|
tag => 'postgresql',
|
26
12
|
}
|
27
13
|
|
14
|
+
$file_ensure = $package_ensure ? {
|
15
|
+
'present' => 'file',
|
16
|
+
true => 'file',
|
17
|
+
'absent' => 'absent',
|
18
|
+
false => 'absent',
|
19
|
+
default => 'file',
|
20
|
+
}
|
21
|
+
file { "/usr/local/bin/validate_postgresql_connection.sh":
|
22
|
+
ensure => $file_ensure,
|
23
|
+
source => "puppet:///modules/postgresql/validate_postgresql_connection.sh",
|
24
|
+
owner => 0,
|
25
|
+
group => 0,
|
26
|
+
mode => 0755,
|
27
|
+
}
|
28
|
+
|
28
29
|
}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# Class for setting cross-class global overrides. See README.md for more
|
2
|
+
# details.
|
3
|
+
class postgresql::globals (
|
4
|
+
$ensure = undef,
|
5
|
+
|
6
|
+
$client_package_name = undef,
|
7
|
+
$server_package_name = undef,
|
8
|
+
$contrib_package_name = undef,
|
9
|
+
$devel_package_name = undef,
|
10
|
+
$java_package_name = undef,
|
11
|
+
$plperl_package_name = undef,
|
12
|
+
$python_package_name = undef,
|
13
|
+
|
14
|
+
$service_name = undef,
|
15
|
+
$service_provider = undef,
|
16
|
+
$service_status = undef,
|
17
|
+
$default_database = undef,
|
18
|
+
|
19
|
+
$initdb_path = undef,
|
20
|
+
$createdb_path = undef,
|
21
|
+
$psql_path = undef,
|
22
|
+
$pg_hba_conf_path = undef,
|
23
|
+
$postgresql_conf_path = undef,
|
24
|
+
|
25
|
+
$pg_hba_conf_defaults = undef,
|
26
|
+
|
27
|
+
$datadir = undef,
|
28
|
+
$confdir = undef,
|
29
|
+
$bindir = undef,
|
30
|
+
|
31
|
+
$user = undef,
|
32
|
+
$group = undef,
|
33
|
+
|
34
|
+
$version = undef,
|
35
|
+
|
36
|
+
$needs_initdb = undef,
|
37
|
+
|
38
|
+
$encoding = undef,
|
39
|
+
$locale = undef,
|
40
|
+
|
41
|
+
$manage_firewall = undef,
|
42
|
+
$manage_pg_hba_conf = undef,
|
43
|
+
$firewall_supported = undef,
|
44
|
+
|
45
|
+
$manage_package_repo = undef
|
46
|
+
) {
|
47
|
+
# We are determining this here, because it is needed by the package repo
|
48
|
+
# class.
|
49
|
+
$default_version = $::osfamily ? {
|
50
|
+
/^(RedHat|Linux)/ => $::operatingsystem ? {
|
51
|
+
'Fedora' => $::operatingsystemrelease ? {
|
52
|
+
/^(18|19|20)$/ => '9.2',
|
53
|
+
/^(17)$/ => '9.1',
|
54
|
+
default => undef,
|
55
|
+
},
|
56
|
+
'Amazon' => '9.2',
|
57
|
+
default => $::operatingsystemrelease ? {
|
58
|
+
/^6\./ => '8.4',
|
59
|
+
/^5\./ => '8.1',
|
60
|
+
default => undef,
|
61
|
+
},
|
62
|
+
},
|
63
|
+
'Debian' => $::operatingsystem ? {
|
64
|
+
'Debian' => $::operatingsystemrelease ? {
|
65
|
+
/^6\./ => '8.4',
|
66
|
+
/^(wheezy|7\.)/ => '9.1',
|
67
|
+
default => undef,
|
68
|
+
},
|
69
|
+
'Ubuntu' => $::operatingsystemrelease ? {
|
70
|
+
/^(14.04)$/ => '9.3',
|
71
|
+
/^(11.10|12.04|12.10|13.04|13.10)$/ => '9.1',
|
72
|
+
/^(10.04|10.10|11.04)$/ => '8.4',
|
73
|
+
default => undef,
|
74
|
+
},
|
75
|
+
default => undef,
|
76
|
+
},
|
77
|
+
'Archlinux' => $::operatingsystem ? {
|
78
|
+
/Archlinux/ => '9.2',
|
79
|
+
default => '9.2',
|
80
|
+
},
|
81
|
+
default => undef,
|
82
|
+
}
|
83
|
+
$globals_version = pick($version, $default_version, 'unknown')
|
84
|
+
if($globals_version == 'unknown') {
|
85
|
+
fail('No preferred version defined or automatically detected.')
|
86
|
+
}
|
87
|
+
|
88
|
+
# Setup of the repo only makes sense globally, so we are doing this here.
|
89
|
+
if($manage_package_repo) {
|
90
|
+
class { 'postgresql::repo':
|
91
|
+
ensure => $ensure,
|
92
|
+
version => $globals_version
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# This class installs postgresql development libraries. See README.md for more
|
2
|
+
# details.
|
3
|
+
class postgresql::lib::devel(
|
4
|
+
$package_name = $postgresql::params::devel_package_name,
|
5
|
+
$package_ensure = 'present'
|
6
|
+
) inherits postgresql::params {
|
7
|
+
|
8
|
+
validate_string($package_name)
|
9
|
+
|
10
|
+
package { 'postgresql-devel':
|
11
|
+
ensure => $package_ensure,
|
12
|
+
name => $package_name,
|
13
|
+
tag => 'postgresql',
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# This class installs the postgresql jdbc connector. See README.md for more
|
2
|
+
# details.
|
3
|
+
class postgresql::lib::java (
|
4
|
+
$package_name = $postgresql::params::java_package_name,
|
5
|
+
$package_ensure = 'present'
|
6
|
+
) inherits postgresql::params {
|
7
|
+
|
8
|
+
validate_string($package_name)
|
9
|
+
|
10
|
+
package { 'postgresql-jdbc':
|
11
|
+
ensure => $package_ensure,
|
12
|
+
name => $package_name,
|
13
|
+
}
|
14
|
+
|
15
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# This class installs the python libs for postgresql. See README.md for more
|
2
|
+
# details.
|
3
|
+
class postgresql::lib::python(
|
4
|
+
$package_name = $postgresql::params::python_package_name,
|
5
|
+
$package_ensure = 'present'
|
6
|
+
) inherits postgresql::params {
|
7
|
+
|
8
|
+
package { 'python-psycopg2':
|
9
|
+
ensure => $package_ensure,
|
10
|
+
name => $package_name,
|
11
|
+
}
|
12
|
+
|
13
|
+
}
|