X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fpostgresql%2Fmanifests%2Fserver.pp;fp=3rdparty%2Fmodules%2Fpostgresql%2Fmanifests%2Fserver.pp;h=7509ec97e1aa45d49c4dcf8e0d88b9df70d34573;hb=a69999e580f8b3abd12446c2d6ad59e517651813;hp=8c2ae1fbbe037cfd1bfa03f878bbcd041763c6d5;hpb=e7b6b352165009c385c52fcfe5a1055690dbfa4b;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/postgresql/manifests/server.pp b/3rdparty/modules/postgresql/manifests/server.pp index 8c2ae1fbb..7509ec97e 100644 --- a/3rdparty/modules/postgresql/manifests/server.pp +++ b/3rdparty/modules/postgresql/manifests/server.pp @@ -1,93 +1,84 @@ -# Class: postgresql::server -# -# == Class: postgresql::server -# Manages the installation of the postgresql server. manages the package and -# service. -# -# === Parameters: -# [*package_name*] - name of package -# [*service_name*] - name of service -# -# Configuration: -# Advanced configuration setting parameters can be placed into 'postgresql_puppet_extras.conf' (located in the same -# folder as 'postgresql.conf'). You can manage that file as a normal puppet file resource, or however you see fit; -# which gives you complete control over the settings. Any value you specify in that file will override any existing -# value set in the templated version. -# -# Actions: -# -# Requires: -# -# Sample Usage: -# +# This installs a PostgreSQL server. See README.md for more details. class postgresql::server ( - $ensure = 'present', - $package_name = $postgresql::params::server_package_name, - $package_ensure = 'present', - $service_name = $postgresql::params::service_name, - $service_provider = $postgresql::params::service_provider, - $service_status = $postgresql::params::service_status, - $config_hash = {}, - $datadir = $postgresql::params::datadir -) inherits postgresql::params { + $postgres_password = undef, - if ($ensure == 'absent') { - service { 'postgresqld': - ensure => stopped, - name => $service_name, - enable => false, - provider => $service_provider, - hasstatus => true, - status => $service_status, - }-> - package { 'postgresql-server': - ensure => purged, - name => $package_name, - tag => 'postgresql', - }-> - file { $datadir: - ensure => absent, - recurse => true, - force => true, - } - } else { - package { 'postgresql-server': - ensure => $package_ensure, - name => $package_name, - tag => 'postgresql', - } + $package_name = $postgresql::params::server_package_name, + $package_ensure = $postgresql::params::package_ensure, + + $plperl_package_name = $postgresql::params::plperl_package_name, + $plpython_package_name = $postgresql::params::plpython_package_name, + + $service_ensure = $postgresql::params::service_ensure, + $service_enable = $postgresql::params::service_enable, + $service_manage = $postgresql::params::service_manage, + $service_name = $postgresql::params::service_name, + $service_restart_on_change = $postgresql::params::service_restart_on_change, + $service_provider = $postgresql::params::service_provider, + $service_reload = $postgresql::params::service_reload, + $service_status = $postgresql::params::service_status, + $default_database = $postgresql::params::default_database, + $default_connect_settings = $postgresql::globals::default_connect_settings, + $listen_addresses = $postgresql::params::listen_addresses, + $port = $postgresql::params::port, + $ip_mask_deny_postgres_user = $postgresql::params::ip_mask_deny_postgres_user, + $ip_mask_allow_all_users = $postgresql::params::ip_mask_allow_all_users, + $ipv4acls = $postgresql::params::ipv4acls, + $ipv6acls = $postgresql::params::ipv6acls, + + $initdb_path = $postgresql::params::initdb_path, + $createdb_path = $postgresql::params::createdb_path, + $psql_path = $postgresql::params::psql_path, + $pg_hba_conf_path = $postgresql::params::pg_hba_conf_path, + $pg_ident_conf_path = $postgresql::params::pg_ident_conf_path, + $postgresql_conf_path = $postgresql::params::postgresql_conf_path, + $recovery_conf_path = $postgresql::params::recovery_conf_path, + + $datadir = $postgresql::params::datadir, + $xlogdir = $postgresql::params::xlogdir, + $logdir = $postgresql::params::logdir, - $config_class = { - 'postgresql::config' => $config_hash, - } + $log_line_prefix = $postgresql::params::log_line_prefix, - create_resources( 'class', $config_class ) + $pg_hba_conf_defaults = $postgresql::params::pg_hba_conf_defaults, - service { 'postgresqld': - ensure => running, - name => $service_name, - enable => true, - require => Package['postgresql-server'], - provider => $service_provider, - hasstatus => true, - status => $service_status, - } + $user = $postgresql::params::user, + $group = $postgresql::params::group, - if ($postgresql::params::needs_initdb) { - include postgresql::initdb + $needs_initdb = $postgresql::params::needs_initdb, - Package['postgresql-server'] -> Class['postgresql::initdb'] -> Class['postgresql::config'] -> Service['postgresqld'] - } - else { - Package['postgresql-server'] -> Class['postgresql::config'] -> Service['postgresqld'] - } + $encoding = $postgresql::params::encoding, + $locale = $postgresql::params::locale, + $data_checksums = $postgresql::params::data_checksums, + $timezone = $postgresql::params::timezone, - exec { 'reload_postgresql': - path => '/usr/bin:/usr/sbin:/bin:/sbin', - command => "service ${service_name} reload", - onlyif => $service_status, - refreshonly => true, - } + $manage_pg_hba_conf = $postgresql::params::manage_pg_hba_conf, + $manage_pg_ident_conf = $postgresql::params::manage_pg_ident_conf, + $manage_recovery_conf = $postgresql::params::manage_recovery_conf, + $module_workdir = $postgresql::params::module_workdir, + #Deprecated + $version = undef, +) inherits postgresql::params { + $pg = 'postgresql::server' + + if $version != undef { + warning('Passing "version" to postgresql::server is deprecated; please use postgresql::globals instead.') + $_version = $version + } else { + $_version = $postgresql::params::version } + if $createdb_path != undef{ + warning('Passing "createdb_path" to postgresql::server is deprecated, it can be removed safely for the same behaviour') + } + + # Reload has its own ordering, specified by other defines + class { "${pg}::reload": require => Class["${pg}::install"] } + + anchor { "${pg}::start": } + -> class { "${pg}::install": } + -> class { "${pg}::initdb": } + -> class { "${pg}::config": } + -> class { "${pg}::service": } + -> class { "${pg}::passwd": } + -> anchor { "${pg}::end": } }