introduce lib.rad-dev.mapAttrsToString, fix mc-router

Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
This commit is contained in:
ahuston-0 2024-08-16 08:59:15 -04:00
parent 3eb1b759fe
commit 680b2b036d
No known key found for this signature in database
GPG Key ID: 1FACF4075E3212F7
2 changed files with 23 additions and 5 deletions

View File

@ -58,5 +58,20 @@
# fileList :: Path -> String -> [Path]
fileList = dir: map (file: dir + "/${file}") (ls dir);
# reduce an attribute set to a string
#
# example:
# given attrset {host1 = "palatine-hill"; host2 = "jeeves";}
# and func (host: hostname: host + " is " + hostname + ", " )
# mapAttrsToString would return 'host1 is palatine-hill, host2 is jeeves, '
#
# args:
# func: an function to apply to attrSet to turn each entry into one string
# attrSet: an attribute set to reduce
#
# type:
# mapAttrsToString :: AttrSet -> (String -> Any -> String) -> String
mapAttrsToString =
func: attrSet: (lib.foldl' (cur: next: cur + next) "" (lib.mapAttrsToList func attrSet));
};
}

View File

@ -21,7 +21,7 @@ let
USE_AIKAR_FLAGS = "true";
MEMORY = "8GB";
ALLOW_FLIGHT = "true";
MAX_TICK_TIME = -1;
MAX_TICK_TIME = "-1";
};
defaultOptions = [
@ -32,7 +32,7 @@ let
];
in
{
virtualisation.oci-containers = {
virtualisation.oci-containers.containers = {
mc-router = {
image = "itzg/mc-router:latest";
extraOptions = [
@ -40,9 +40,12 @@ in
"--network=haproxy-net"
"--network=minecraft-net"
];
command =
"--mapping=mc.alicehuston.xyz=${defaultServer}:25565"
+ (lib.mapAttrs (hostname: url: ",${url}=${hostname}:25565") servers);
cmd = [
(
"--mapping=mc.alicehuston.xyz=${defaultServer}:25565"
+ (lib.rad-dev.mapAttrsToString (hostname: url: "," + url + "=" + hostname + ":25565") servers)
)
];
};
rlcraft = {
image = "itzg/minecraft-server:java8";