newer pg module
[mirror/dsa-puppet.git] / 3rdparty / modules / postgresql / manifests / server.pp
1 # This installs a PostgreSQL server. See README.md for more details.
2 class postgresql::server (
3   $postgres_password          = undef,
4
5   $package_name               = $postgresql::params::server_package_name,
6   $package_ensure             = $postgresql::params::package_ensure,
7
8   $plperl_package_name        = $postgresql::params::plperl_package_name,
9   $plpython_package_name      = $postgresql::params::plpython_package_name,
10
11   $service_ensure             = $postgresql::params::service_ensure,
12   $service_enable             = $postgresql::params::service_enable,
13   $service_manage             = $postgresql::params::service_manage,
14   $service_name               = $postgresql::params::service_name,
15   $service_restart_on_change  = $postgresql::params::service_restart_on_change,
16   $service_provider           = $postgresql::params::service_provider,
17   $service_reload             = $postgresql::params::service_reload,
18   $service_status             = $postgresql::params::service_status,
19   $default_database           = $postgresql::params::default_database,
20   $default_connect_settings   = $postgresql::globals::default_connect_settings,
21   $listen_addresses           = $postgresql::params::listen_addresses,
22   $port                       = $postgresql::params::port,
23   $ip_mask_deny_postgres_user = $postgresql::params::ip_mask_deny_postgres_user,
24   $ip_mask_allow_all_users    = $postgresql::params::ip_mask_allow_all_users,
25   $ipv4acls                   = $postgresql::params::ipv4acls,
26   $ipv6acls                   = $postgresql::params::ipv6acls,
27
28   $initdb_path                = $postgresql::params::initdb_path,
29   $createdb_path              = $postgresql::params::createdb_path,
30   $psql_path                  = $postgresql::params::psql_path,
31   $pg_hba_conf_path           = $postgresql::params::pg_hba_conf_path,
32   $pg_ident_conf_path         = $postgresql::params::pg_ident_conf_path,
33   $postgresql_conf_path       = $postgresql::params::postgresql_conf_path,
34   $recovery_conf_path         = $postgresql::params::recovery_conf_path,
35
36   $datadir                    = $postgresql::params::datadir,
37   $xlogdir                    = $postgresql::params::xlogdir,
38   $logdir                     = $postgresql::params::logdir,
39
40   $log_line_prefix            = $postgresql::params::log_line_prefix,
41
42   $pg_hba_conf_defaults       = $postgresql::params::pg_hba_conf_defaults,
43
44   $user                       = $postgresql::params::user,
45   $group                      = $postgresql::params::group,
46
47   $needs_initdb               = $postgresql::params::needs_initdb,
48
49   $encoding                   = $postgresql::params::encoding,
50   $locale                     = $postgresql::params::locale,
51   $data_checksums             = $postgresql::params::data_checksums,
52   $timezone                   = $postgresql::params::timezone,
53
54   $manage_pg_hba_conf         = $postgresql::params::manage_pg_hba_conf,
55   $manage_pg_ident_conf       = $postgresql::params::manage_pg_ident_conf,
56   $manage_recovery_conf       = $postgresql::params::manage_recovery_conf,
57   $module_workdir             = $postgresql::params::module_workdir,
58   #Deprecated
59   $version                    = undef,
60 ) inherits postgresql::params {
61   $pg = 'postgresql::server'
62
63   if $version != undef {
64     warning('Passing "version" to postgresql::server is deprecated; please use postgresql::globals instead.')
65     $_version = $version
66   } else {
67     $_version = $postgresql::params::version
68   }
69
70   if $createdb_path != undef{
71     warning('Passing "createdb_path" to postgresql::server is deprecated, it can be removed safely for the same behaviour')
72   }
73
74   # Reload has its own ordering, specified by other defines
75   class { "${pg}::reload": require => Class["${pg}::install"] }
76
77   anchor { "${pg}::start": }
78   -> class { "${pg}::install": }
79   -> class { "${pg}::initdb": }
80   -> class { "${pg}::config": }
81   -> class { "${pg}::service": }
82   -> class { "${pg}::passwd": }
83   -> anchor { "${pg}::end": }
84 }