config.redis = {
encrypt = true;
source = "127.0.0.1:16379";
- target = "${config.myEnv.servers.eldiron.ips.main.ip4}:16379";
- keyfile = "${config.secrets.location}/redis/spiped_eldiron_keyfile";
+ target = "${lib.head config.myEnv.servers.eldiron.ips.main.ip4}:16379";
+ keyfile = config.secrets.fullPaths."redis/spiped_eldiron_keyfile";
};
};
- secrets.keys = lib.flatten (lib.mapAttrsToList (name: hcfg: [
- {
- dest = "redis_replication/${name}/config";
+ secrets.keys = lib.mapAttrs' (name: hcfg:
+ lib.nameValuePair "redis_replication/${name}/config" {
user = "redis";
group = "redis";
permissions = "0400";
maxclients 1024
'';
}
- ]) cfg.hosts) ++ [
- { # For eldiron only
- dest = "redis/spiped_eldiron_keyfile";
+ ) cfg.hosts // {
+ "redis/spiped_eldiron_keyfile" = { # For eldiron only
user = "spiped";
group = "spiped";
permissions = "0400";
text = config.myEnv.databases.redis.spiped_key;
- }
- ];
+ };
+ };
services.cron = {
enable = true;
#!${pkgs.stdenv.shell}
${pkgs.coreutils}/bin/cp ${cfg.base}/${name}/redis/dump.rdb \
- ${backupDir}/$(${pkgs.coreutils}/bin/date -Iseconds).rdb
+ ${backupDir}/$(${pkgs.coreutils}/bin/date -Iminutes).rdb
'';
u = pkgs.callPackage ./utils.nix {};
cleanup_script = pkgs.writeScript "cleanup_redis_${name}" (u.exponentialDumps "rdb" backupDir);
unitConfig.RequiresMountsFor = dataDir;
serviceConfig = {
- ExecStart = "${hcfg.package}/bin/redis-server ${config.secrets.location}/redis_replication/${name}/config";
+ ExecStart = "${hcfg.package}/bin/redis-server ${config.secrets.fullPaths."redis_replication/${name}/config"}";
User = "redis";
RuntimeDirectory = "redis_${name}";
};