Files
upstream-zulip/puppet/zulip/manifests/profile/redis.pp
upstream-mirror 64898b2c79
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
snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
2026-09-15 15:05:30 +05:00

72 lines
1.8 KiB
Puppet

class zulip::profile::redis {
include zulip::profile::base
case $facts['os']['family'] {
'Debian': {
$redis = 'redis-server'
$redis_dir = '/etc/redis'
}
'RedHat': {
$redis = 'redis'
$redis_dir = '/etc'
}
default: {
fail('osfamily not supported')
}
}
$redis_packages = [ # The server itself
$redis,
]
package { $redis_packages: ensure => installed }
$file = "${redis_dir}/redis.conf"
$zulip_redisconf = "${redis_dir}/zulip-redis.conf"
$line = "include ${zulip_redisconf}"
exec { 'update-redis-conf':
unless => "/bin/grep -Fxqe '${line}' '${file}'",
path => '/bin',
command => "bash -c \"(/bin/echo; /bin/echo '# Include Zulip-specific configuration'; /bin/echo '${line}') >> '${file}'\"",
require => [
Package[$redis],
File[$zulip_redisconf],
],
}
$redis_password = zulipsecret('secrets', 'redis_password', '')
file { $zulip_redisconf:
ensure => file,
require => Package[$redis],
owner => 'redis',
group => 'redis',
mode => '0640',
content => template('zulip/zulip-redis.template.erb'),
}
# https://redis.io/docs/management/admin/#linux
zulip::sysctl { 'redis-server':
key => 'vm.overcommit_memory',
value => '1',
}
package { 'sysfsutils': }
file { '/etc/sysfs.d/40-disable-transpatent-hugepages.conf':
require => Package['sysfsutils'],
notify => Service['sysfsutils'],
content => 'kernel/mm/transparent_hugepage/enabled = never',
}
service { 'sysfsutils':
ensure => running,
require => Package['sysfsutils'],
}
service { $redis:
ensure => running,
require => [
Service['sysfsutils'],
Package['redis-server'],
],
subscribe => [
File[$zulip_redisconf],
Exec['update-redis-conf'],
],
}
}