nixos/redis: add option services.redis.servers.*.group (#345327)

This commit is contained in:
Atemu 2024-10-17 10:39:48 +02:00 committed by GitHub
commit 644c36174b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -72,7 +72,28 @@ in {
defaultText = literalExpression ''
if name == "" then "redis" else "redis-''${name}"
'';
description = "The username and groupname for redis-server.";
description = ''
User account under which this instance of redis-server runs.
::: {.note}
If left as the default value this user will automatically be
created on system activation, otherwise you are responsible for
ensuring the user exists before the redis service starts.
'';
};
group = mkOption {
type = types.str;
default = config.user;
defaultText = literalExpression "config.user";
description = ''
Group account under which this instance of redis-server runs.
::: {.note}
If left as the default value this group will automatically be
created on system activation, otherwise you are responsible for
ensuring the group exists before the redis service starts.
'';
};
port = mkOption {
@ -337,7 +358,7 @@ in {
redisConfStore = redisConfig conf.settings;
in ''
touch "${redisConfVar}" "${redisConfRun}"
chown '${conf.user}' "${redisConfVar}" "${redisConfRun}"
chown '${conf.user}':'${conf.group}' "${redisConfVar}" "${redisConfRun}"
chmod 0600 "${redisConfVar}" "${redisConfRun}"
if [ ! -s ${redisConfVar} ]; then
echo 'include "${redisConfRun}"' > "${redisConfVar}"
@ -353,7 +374,7 @@ in {
Type = "notify";
# User and group
User = conf.user;
Group = conf.user;
Group = conf.group;
# Runtime directory and mode
RuntimeDirectory = redisName name;
RuntimeDirectoryMode = "0750";