modules/postgresql/manifests/server.pp in freighthop-0.0.6 vs modules/postgresql/manifests/server.pp in freighthop-0.1.0

- old
+ new

@@ -1,93 +1,71 @@ -# 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 { + $ensure = $postgresql::params::ensure, - 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', - } + $version = $postgresql::params::version, - $config_class = { - 'postgresql::config' => $config_hash, - } + $postgres_password = undef, - create_resources( 'class', $config_class ) + $package_name = $postgresql::params::server_package_name, + $package_ensure = $ensure, - service { 'postgresqld': - ensure => running, - name => $service_name, - enable => true, - require => Package['postgresql-server'], - provider => $service_provider, - hasstatus => true, - status => $service_status, - } + $plperl_package_name = $postgresql::params::plperl_package_name, - if ($postgresql::params::needs_initdb) { - include postgresql::initdb + $service_name = $postgresql::params::service_name, + $service_provider = $postgresql::params::service_provider, + $service_status = $postgresql::params::service_status, + $default_database = $postgresql::params::default_database, - Package['postgresql-server'] -> Class['postgresql::initdb'] -> Class['postgresql::config'] -> Service['postgresqld'] - } - else { - Package['postgresql-server'] -> Class['postgresql::config'] -> Service['postgresqld'] - } + $listen_addresses = $postgresql::params::listen_addresses, + $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, - exec { 'reload_postgresql': - path => '/usr/bin:/usr/sbin:/bin:/sbin', - command => "service ${service_name} reload", - onlyif => $service_status, - refreshonly => true, - } - } + $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, + $postgresql_conf_path = $postgresql::params::postgresql_conf_path, + $datadir = $postgresql::params::datadir, + + $pg_hba_conf_defaults = $postgresql::params::pg_hba_conf_defaults, + + $user = $postgresql::params::user, + $group = $postgresql::params::group, + + $needs_initdb = $postgresql::params::needs_initdb, + + $encoding = $postgresql::params::encoding, + $locale = $postgresql::params::locale, + + $manage_firewall = $postgresql::params::manage_firewall, + $manage_pg_hba_conf = $postgresql::params::manage_pg_hba_conf, + $firewall_supported = $postgresql::params::firewall_supported +) inherits postgresql::params { + $pg = 'postgresql::server' + + if ($ensure == 'present' or $ensure == true) { + # 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": }-> + class { "${pg}::firewall": }-> + anchor { "${pg}::end": } + } else { + anchor { "${pg}::start": }-> + class { "${pg}::firewall": }-> + class { "${pg}::passwd": }-> + class { "${pg}::service": }-> + class { "${pg}::install": }-> + class { "${pg}::initdb": }-> + class { "${pg}::config": }-> + anchor { "${pg}::end": } + } }