123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- # Class for setting cross-class global overrides. See README.md for more
- # details.
- class postgresql::globals (
- $client_package_name = undef,
- $server_package_name = undef,
- $contrib_package_name = undef,
- $devel_package_name = undef,
- $java_package_name = undef,
- $docs_package_name = undef,
- $perl_package_name = undef,
- $plperl_package_name = undef,
- $plpython_package_name = undef,
- $python_package_name = undef,
- $postgis_package_name = undef,
- $service_name = undef,
- $service_provider = undef,
- $service_status = undef,
- $default_database = undef,
- $validcon_script_path = undef,
- $initdb_path = undef,
- $createdb_path = undef,
- $psql_path = undef,
- $pg_hba_conf_path = undef,
- $pg_ident_conf_path = undef,
- $postgresql_conf_path = undef,
- $recovery_conf_path = undef,
- $default_connect_settings = {},
- $pg_hba_conf_defaults = undef,
- $datadir = undef,
- $confdir = undef,
- $bindir = undef,
- $xlogdir = undef,
- $logdir = undef,
- $log_line_prefix = undef,
- $user = undef,
- $group = undef,
- $version = undef,
- $postgis_version = undef,
- $repo_proxy = undef,
- $needs_initdb = undef,
- $encoding = undef,
- $locale = undef,
- $manage_pg_hba_conf = undef,
- $manage_pg_ident_conf = undef,
- $manage_recovery_conf = undef,
- $manage_package_repo = undef,
- ) {
- # We are determining this here, because it is needed by the package repo
- # class.
- $default_version = $::osfamily ? {
- /^(RedHat|Linux)/ => $::operatingsystem ? {
- 'Fedora' => $::operatingsystemrelease ? {
- /^(24)$/ => '9.5',
- /^(22|23)$/ => '9.4',
- /^(21)$/ => '9.3',
- /^(18|19|20)$/ => '9.2',
- /^(17)$/ => '9.1',
- default => undef,
- },
- 'Amazon' => '9.2',
- default => $::operatingsystemrelease ? {
- /^7\./ => '9.2',
- /^6\./ => '8.4',
- /^5\./ => '8.1',
- default => undef,
- },
- default => $::operatingsystemrelease ? {
- /^7\./ => '9.2',
- /^6\./ => '8.4',
- /^5\./ => '8.1',
- default => undef,
- },
- },
- 'Debian' => $::operatingsystem ? {
- 'Debian' => $::operatingsystemrelease ? {
- /^6\./ => '8.4',
- /^(wheezy|7\.)/ => '9.1',
- /^(jessie|8\.)/ => '9.4',
- default => undef,
- },
- 'Ubuntu' => $::operatingsystemrelease ? {
- /^(10.04|10.10|11.04)$/ => '8.4',
- /^(11.10|12.04|12.10|13.04|13.10)$/ => '9.1',
- /^(14.04)$/ => '9.3',
- /^(14.10|15.04|15.10)$/ => '9.4',
- /^(16.04)$/ => '9.5',
- default => undef,
- },
- default => undef,
- },
- 'Archlinux' => $::operatingsystem ? {
- /Archlinux/ => '9.2',
- default => '9.2',
- },
- 'FreeBSD' => '93',
- 'OpenBSD' => $::operatingsystemrelease ? {
- /5\.6/ => '9.3',
- /5\.[7-9]/ => '9.4',
- /6\.[0-9]/ => '9.5',
- },
- 'Suse' => $::operatingsystem ? {
- 'SLES' => $::operatingsystemrelease ? {
- /11\.[0-4]/ => '91',
- default => '93',
- },
- 'OpenSuSE' => $::operatingsystemrelease ? {
- '13.2' => '93',
- },
- default => undef,
- },
- default => undef,
- }
- $globals_version = pick($version, $default_version, 'unknown')
- if($globals_version == 'unknown') {
- fail('No preferred version defined or automatically detected.')
- }
- $default_postgis_version = $globals_version ? {
- '8.1' => '1.3.6',
- '8.4' => '1.5',
- '9.0' => '1.5',
- '9.1' => '1.5',
- '91' => '1.5',
- '9.2' => '2.0',
- '9.3' => '2.1',
- '93' => '2.1',
- '9.4' => '2.1',
- '9.5' => '2.2',
- default => undef,
- }
- $globals_postgis_version = $postgis_version ? {
- undef => $default_postgis_version,
- default => $postgis_version,
- }
- # Setup of the repo only makes sense globally, so we are doing this here.
- if($manage_package_repo) {
- class { 'postgresql::repo':
- version => $globals_version,
- proxy => $repo_proxy,
- }
- }
- }
|