## confdroid_postgresql::bouncer::bouncer.pp # Module name: confdroid_postgresql # Author: 12ww1160 (12ww1160@confdroid.com) # @summary Class manages the pgbouncer service # @example confdroid_postgresql::bouncer::bouncer_rule { 'test connection': # pl_bouncer_db_name => 'test', # pl_bouncer_host => '127.0.0.7', # pl_bouncer_port => '5432', # pl_bouncer_user => 'test_user', # } ############################################################################### class confdroid_postgresql::bouncer::bouncer ( ) inherits confdroid_postgresql::params { if ($fqdn == $pl_server_fqdn) and ($pl_use_pg_bouncer == true) { # ensure directory exists file { $pl_bouncer_dir: ensure => directory, owner => 'root', group => 'root', mode => '0750', selrange => s0, selrole => object_r, seltype => etc_t, seluser => system_u, } # create auth user file to be populated through placeholder file { $pl_bouncer_auth_file: ensure => file, owner => 'pgbouncer', group => 'pgbouncer', mode => '0440', selrange => s0, selrole => object_r, seltype => etc_t, seluser => system_u, content => template($pl_bouncer_auth_erb), } # create the pgbouncer.ini file concat { $pl_bouncer_ini_file: ensure => present, owner => 'pgbouncer', mode => '0600', #notify => Service[$pl_service], } # manage file header concat::fragment { 'bouncer_header': target => $pl_bouncer_ini_file, content => template($pl_bouncer_ini_erb), order => '000', } } }