Puppet Class: phabricator::daemons
- Defined in:
- manifests/daemons.pp
Summary
This class manages Phabricator Daemons. SeeOverview
Class for installing Phabricator Daemons.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'manifests/daemons.pp', line 25
class phabricator::daemons(
Optional[String] $daemon,
) {
# TODO: The `strict_indent` check doesn't seem to work properly here. See
# https://github.com/relud/puppet-lint-strict_indent-check/issues/11.
#
# lint:ignore:strict_indent
systemd::unit_file { 'phd.service':
ensure => 'file',
content => epp('phabricator/daemons.systemd.epp', {
command => "${phabricator::install_dir}/phabricator/bin/phd",
daemon => $daemon,
user => $phabricator::daemon_user,
group => $phabricator::group,
runtime_directory => $phabricator::runtime_directory,
}),
notify => Service['phd'],
}
# lint:endignore
# TODO: Should we also specify `hasrestart => true`? According to the
# documentation the default value is `false`, although I am somewhat
# surprised by this.
service { 'phd':
ensure => 'running',
enable => true,
require => [
Exec['systemctl-daemon-reload'],
File[$phabricator::logs_dir],
Group[$phabricator::group],
User[$phabricator::daemon_user],
],
subscribe => [
Class['php::cli'],
File['phabricator/conf/local.json'],
Vcsrepo['libphutil'],
Vcsrepo['phabricator'],
],
}
# Restart the daemons if any PHP extensions are updated.
Php::Extension <| |> ~> Service['phd']
if $phabricator::storage_upgrade {
Exec['bin/storage upgrade'] -> Service['phd']
}
logrotate::rule { 'phd':
ensure => 'present',
path => "${phabricator::logs_dir}/daemons.log",
compress => true,
delaycompress => true,
ifempty => false,
missingok => true,
rotate => 4,
rotate_every => 'week',
su => true,
su_user => 'root',
su_group => $phabricator::group,
}
}
|