Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
51 lines
1.5 KiB
Puppet
51 lines
1.5 KiB
Puppet
# @summary Install a cron file into /etc/cron.d
|
|
#
|
|
define zulip::cron(
|
|
String $minute,
|
|
String $hour = '*',
|
|
String $dow = '*',
|
|
String $user = 'zulip',
|
|
Optional[String] $command = undef,
|
|
Optional[String] $manage = undef,
|
|
Boolean $use_proxy = true,
|
|
) {
|
|
if $use_proxy {
|
|
$proxy_host = zulipconf('http_proxy', 'host', 'localhost')
|
|
$proxy_port = zulipconf('http_proxy', 'port', '4750')
|
|
if $proxy_host != '' and $proxy_port != '' {
|
|
$proxy = "http://${proxy_host}:${proxy_port}"
|
|
} else {
|
|
$proxy = ''
|
|
}
|
|
} else {
|
|
$proxy = ''
|
|
}
|
|
|
|
$dsn = zulipconf('sentry', 'project_dsn', '')
|
|
if $dsn != '' {
|
|
include zulip::sentry_cli
|
|
$environment = zulipconf('machine', 'deploy_type', 'development')
|
|
$sentry = "sentry-cli monitors run -e ${environment} --schedule '${minute} ${hour} * * ${dow}' ${title} -- "
|
|
$cron_require = [File['/usr/local/bin/sentry-cli']]
|
|
} else {
|
|
$sentry = ''
|
|
$cron_require = []
|
|
}
|
|
if $command != undef {
|
|
$run = "${sentry}${command}"
|
|
} elsif $manage != undef {
|
|
$run = "cd /home/zulip/deployments/current/ && ${sentry}./manage.py ${manage} >/dev/null"
|
|
} else {
|
|
$underscores = regsubst($title, '-', '_', 'G')
|
|
$run = "cd /home/zulip/deployments/current/ && ${sentry}./manage.py ${underscores} >/dev/null"
|
|
}
|
|
file { "/etc/cron.d/${title}":
|
|
ensure => file,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
content => template('zulip/cron.template.erb'),
|
|
require => $cron_require,
|
|
}
|
|
}
|