diff --git a/manifests/config.pp b/manifests/config.pp index b7c74fe..5f83fac 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -60,6 +60,7 @@ $pcp_file = "${config_dir}/pcp.conf" $pool_hba_file = "${config_dir}/pool_hba.conf" $log_dir = "/var/log/${::pgpool::service::pgpool_service_name}" + $pid_dir = '/var/run/pgpool' File { owner => $::pgpool::service_user, @@ -80,9 +81,11 @@ notify => Exec['pgpool_reload'] } - file { $pgpool_sysconfig_file: - ensure => $::pgpool::file_ensure, - notify => Service['pgpool'] + if $::osfamily !~ /BSD/ { + file { $pgpool_sysconfig_file: + ensure => $::pgpool::file_ensure, + notify => Service['pgpool'] + } } file { $pool_passwd_file: @@ -105,4 +108,14 @@ owner => $::pgpool::log_user, group => $::pgpool::log_group, } + + if $::osfamily == 'FreeBSD' { + file { $pid_dir: + ensure => directory, + path => $pid_dir, + owner => $::pgpool::log_user, + group => $::pgpool::log_group, + mode => '0755', + } + } } diff --git a/manifests/service.pp b/manifests/service.pp index b98e501..ad177e1 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -36,10 +36,28 @@ $pgpool_service_name = $::pgpool::service_name_real - service { 'pgpool': - ensure => $::pgpool::service_ensure_real, - name => $pgpool_service_name, - enable => $::pgpool::service_enable_real + if $::osfamily == 'FreeBSD' { + $service_enable = $::pgpool::service_enable_real ? { + false => 'NO', + default => 'YES', + } + file { '/etc/rc.conf.d/pgpool': + owner => 'root', + group => 'wheel', + mode => '0644', + content => "pgpool_enable=\"${service_enable}\"\npgpool_user=\"${::pgpool::service_user}\"\n", + } + service { 'pgpool': + ensure => $::pgpool::service_ensure_real, + name => $pgpool_service_name, + } + } + else { + service { 'pgpool': + ensure => $::pgpool::service_ensure_real, + name => $pgpool_service_name, + enable => $::pgpool::service_enable_real + } } exec { 'pgpool_reload':