1 # Class for setting cross-class global overrides. See README.md for more
3 class postgresql::globals (
4 $client_package_name = undef,
5 $server_package_name = undef,
6 $contrib_package_name = undef,
7 $devel_package_name = undef,
8 $java_package_name = undef,
9 $docs_package_name = undef,
10 $perl_package_name = undef,
11 $plperl_package_name = undef,
12 $plpython_package_name = undef,
13 $python_package_name = undef,
14 $postgis_package_name = undef,
16 $service_name = undef,
17 $service_provider = undef,
18 $service_status = undef,
19 $default_database = undef,
21 $validcon_script_path = undef,
24 $createdb_path = undef,
26 $pg_hba_conf_path = undef,
27 $pg_ident_conf_path = undef,
28 $postgresql_conf_path = undef,
29 $recovery_conf_path = undef,
30 $default_connect_settings = {},
32 $pg_hba_conf_defaults = undef,
39 $log_line_prefix = undef,
45 $postgis_version = undef,
47 $repo_baseurl = undef,
49 $needs_initdb = undef,
53 $data_checksums = undef,
56 $manage_pg_hba_conf = undef,
57 $manage_pg_ident_conf = undef,
58 $manage_recovery_conf = undef,
60 $manage_package_repo = undef,
61 $module_workdir = undef,
63 # We are determining this here, because it is needed by the package repo
65 $default_version = $::osfamily ? {
66 /^(RedHat|Linux)/ => $::operatingsystem ? {
67 'Fedora' => $::operatingsystemrelease ? {
71 /^(18|19|20)$/ => '9.2',
76 default => $::operatingsystemrelease ? {
83 'Debian' => $::operatingsystem ? {
84 'Debian' => $::operatingsystemrelease ? {
85 /^(squeeze|6\.)/ => '8.4',
86 /^(wheezy|7\.)/ => '9.1',
87 /^(jessie|8\.)/ => '9.4',
88 /^(stretch|9\.)/ => '9.6',
91 'Ubuntu' => $::operatingsystemrelease ? {
92 /^(10.04|10.10|11.04)$/ => '8.4',
93 /^(11.10|12.04|12.10|13.04|13.10)$/ => '9.1',
95 /^(14.10|15.04|15.10)$/ => '9.4',
96 /^(16.04|16.10)$/ => '9.5',
101 'Archlinux' => $::operatingsystem ? {
102 /Archlinux/ => '9.2',
107 'OpenBSD' => $::operatingsystemrelease ? {
112 'Suse' => $::operatingsystem ? {
113 'SLES' => $::operatingsystemrelease ? {
118 'OpenSuSE' => $::operatingsystemrelease ? {
125 $globals_version = pick($version, $default_version, 'unknown')
126 if($globals_version == 'unknown') {
127 fail('No preferred version defined or automatically detected.')
130 $default_postgis_version = $globals_version ? {
144 $globals_postgis_version = $postgis_version ? {
145 undef => $default_postgis_version,
146 default => $postgis_version,
149 # Setup of the repo only makes sense globally, so we are doing this here.
150 if($manage_package_repo) {
151 class { 'postgresql::repo':
152 version => $globals_version,
153 proxy => $repo_proxy,
154 baseurl => $repo_baseurl,