puppet: Fix zuli-redis.conf path typo.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
Anders Kaseorg
2020-01-13 16:48:19 -08:00
committed by Tim Abbott
parent 79cae1e7e0
commit 6749810c2e

View File

@@ -19,20 +19,40 @@ class zulip::redis {
package { $redis_packages: ensure => 'installed' }
$file = "${redis_dir}/redis.conf"
$zulip_redisconf = "${redis_dir}/zuli-redis.conf"
$zulip_redisconf = "${redis_dir}/zulip-redis.conf"
$line = "include ${zulip_redisconf}"
exec { 'redis':
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]],
File[$zulip_redisconf],
Exec['rediscleanup-zuli-redis']],
}
# Fix the typo in the path to $zulip_redisconf introduced in
# 071e32985c1207f20043e1cf28f82300d9f23f31 without triggering a
# redis restart.
$legacy_wrong_filename = "${redis_dir}/zuli-redis.conf"
exec { 'rediscleanup-zuli-redis':
onlyif => "test -e ${legacy_wrong_filename}",
command => "
mv ${legacy_wrong_filename} ${zulip_redisconf}
perl -0777 -pe '
if (m|^\\Q${line}\\E\$|m) {
s|^\\n?(:?# Include Zulip-specific configuration\\n)?include \\Q${legacy_wrong_filename}\\E\\n||m;
} else {
s|^include \\Q${legacy_wrong_filename}\\E\$|${line}|m;
}
' -i /etc/redis/redis.conf
",
provider => shell,
}
$redis_password = zulipsecret('secrets', 'redis_password', '')
file { $zulip_redisconf:
ensure => file,
require => Package[$redis],
require => [Package[$redis], Exec['rediscleanup-zuli-redis']],
owner => 'redis',
group => 'redis',
mode => '0640',