3
0
Files
confdroid_postgresql/manifests/bouncer/bouncer.pp
2025-12-05 15:09:55 +01:00

55 lines
1.6 KiB
Puppet

## 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 => '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',
}
}
}