Package: redis
Version: 5:5.0.7-2
Severity: normal

Dear Maintainer,

* What led up to the situation?
Upgrades between versions of the package, with local configuration changes

* What exactly did you do (or not do) that was effective
Nothing particular other than modifying the default config (even if 
modification is trivial)

* What was the outcome of this action?
Upgrade caused a configuration conflict which necessitated manual intervention 
and patching/merging of config options.  We frequently updagade/downgrade this 
package for dev puposes and this has been a thorn in our back.

* What outcome did you expect instead?
Currently the redis.conf configuration file supports the "include" keyword. 
However, by default, nothing is included. Problems can pop up when local 
configuration needs to be maintained between upgrades/downgrades. The upgrade 
mechanism will prompt for manual intervention with the configuration file, if 
any changes were made to it. Depending on the amount of customization done 
therein, this could cause a time-consuming and error-prone situation of having 
to merge/patch things up.

Other packages, such as Apache and MySQL (for instance, amongst many others), 
have addressed this by providing a "conf.d"-style directory and having "include 
conf.d/*" type of statement in the default configuration file that's maintained 
by the package maintainer. This is effectively the standard approach seen 
nowadays in Linux.

The benefit is obvious: one can simply drop their local configuration file into 
the provided conf.d directory and upgrade away with far fewer worries.

In summary, please consider affecting the following two (or three) changes to 
the redis package:
1) add an empty /etc/redis/conf.d directory to the package

2) add the statement "include /etc/reds/conf.d/*" to the bottom of the official 
/etc/redis.conf file to serve as an override of all default settings

3) it's not clear to me whether wildcard can actually currently be specified in 
the include statement. If they currently cannot be specified, please patch the 
code to glob using the pattern specified in the include, instead of targeting 
an individual file.
Ideally, redis' default configraion should include an additional statement at 
the bottom of the config file like this:
  include "/etc/redis/conf.d/*"
plus the package should contain a default empty /etc/redis/conf.d directory.



-- System Information:
Debian Release: bullseye/sid
  APT prefers focal-updates
  APT policy: (500, 'focal-updates'), (500, 'focal-security'), (500, 'focal'), 
(100, 'focal-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.11.13-051113-generic (SMP w/12 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_CA:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages redis depends on:
ii  redis-server  5:5.0.7-2

redis recommends no packages.

redis suggests no packages.

-- no debconf information

Reply via email to