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
66 lines
2.2 KiB
Puppet
66 lines
2.2 KiB
Puppet
class zulip::smokescreen {
|
|
include zulip::supervisor
|
|
include zulip::golang
|
|
|
|
$version = $zulip::common::versions['smokescreen-src']['version']
|
|
$dir = "/srv/zulip-smokescreen-src-${version}"
|
|
$bin = "/usr/local/bin/smokescreen-${version}-go-${zulip::golang::version}"
|
|
|
|
zulip::external_dep { 'smokescreen-src':
|
|
version => $version,
|
|
url => "https://github.com/stripe/smokescreen/archive/${version}.tar.gz",
|
|
tarball_prefix => "smokescreen-${version}",
|
|
}
|
|
|
|
exec { 'compile smokescreen':
|
|
command => "${zulip::golang::bin} build -o ${bin}",
|
|
cwd => $dir,
|
|
# GOCACHE is required; nothing is written to GOPATH, but it is required to be set
|
|
environment => ['GOCACHE=/tmp/gocache', 'GOPATH=/root/go'],
|
|
creates => $bin,
|
|
require => [
|
|
Zulip::External_Dep['golang'],
|
|
Zulip::External_Dep['smokescreen-src'],
|
|
],
|
|
}
|
|
# This resource is created by the 'compile smokescreen' step.
|
|
file { $bin:
|
|
ensure => file,
|
|
require => Exec['compile smokescreen'],
|
|
}
|
|
exec { 'Cleanup smokescreen':
|
|
refreshonly => true,
|
|
provider => shell,
|
|
onlyif => "ls /usr/local/bin/smokescreen-* | grep -xv '${bin}'",
|
|
command => "ls /usr/local/bin/smokescreen-* | grep -xv '${bin}' | xargs rm -r",
|
|
require => [File[$bin], Service[supervisor]],
|
|
}
|
|
|
|
$listen_address = zulipconf('http_proxy', 'listen_address', '127.0.0.1')
|
|
$allow_addresses = split(zulipconf('http_proxy', 'allow_addresses', ''), ',')
|
|
$allow_ranges = split(zulipconf('http_proxy', 'allow_ranges', ''), ',')
|
|
$deny_addresses = split(zulipconf('http_proxy', 'deny_addresses', ''), ',')
|
|
$deny_ranges = split(zulipconf('http_proxy', 'deny_ranges', ''), ',')
|
|
|
|
file { "${zulip::common::supervisor_conf_dir}/smokescreen.conf":
|
|
ensure => file,
|
|
require => [
|
|
Package[supervisor],
|
|
Exec['compile smokescreen'],
|
|
],
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
content => template('zulip/supervisor/smokescreen.conf.erb'),
|
|
notify => Service[supervisor],
|
|
}
|
|
|
|
file { '/etc/logrotate.d/smokescreen':
|
|
ensure => file,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
source => 'puppet:///modules/zulip/logrotate/smokescreen',
|
|
}
|
|
}
|