feat(module): expose common-composition to the user

This commit is contained in:
Yureka 2024-07-22 01:39:53 +02:00
parent 9dcfcbf178
commit 608f8008eb

View file

@ -41,6 +41,7 @@ in
options = { options = {
grpcListenAddress = lib.mkOption { type = lib.types.str; }; grpcListenAddress = lib.mkOption { type = lib.types.str; };
narBridgeListenAddress = lib.mkOption { type = lib.types.str; }; narBridgeListenAddress = lib.mkOption { type = lib.types.str; };
common-composition = lib.mkOption { inherit (settingsFormat) type; };
nar-bridge-composition = lib.mkOption { inherit (settingsFormat) type; }; nar-bridge-composition = lib.mkOption { inherit (settingsFormat) type; };
tvix-daemon-composition = lib.mkOption { inherit (settingsFormat) type; }; tvix-daemon-composition = lib.mkOption { inherit (settingsFormat) type; };
name = lib.mkOption { name = lib.mkOption {
@ -57,8 +58,7 @@ in
}; };
}; };
config = config = {
let
common-composition = { common-composition = {
blobservices.default = { blobservices.default = {
type = "objectstore"; type = "objectstore";
@ -86,9 +86,9 @@ in
}; };
}; };
}; };
in nar-bridge-composition = lib.mkMerge [
cacheAttrs.config.common-composition
{ {
nar-bridge-composition = lib.recursiveUpdate common-composition {
pathinfoservices.default = { pathinfoservices.default = {
type = "grpc"; type = "grpc";
url = "grpc+http://${ url = "grpc+http://${
@ -104,14 +104,18 @@ in
cacheAttrs.config.grpcListenAddress cacheAttrs.config.grpcListenAddress
}"; }";
}; };
}; }
tvix-daemon-composition = lib.recursiveUpdate common-composition { ];
tvix-daemon-composition = lib.mkMerge [
cacheAttrs.config.common-composition
{
pathinfoservices.default = { pathinfoservices.default = {
type = "sled"; type = "sled";
is_temporary = false; is_temporary = false;
path = "/var/lib/tvix-daemon-${name}/pathinfos.sled"; path = "/var/lib/tvix-daemon-${name}/pathinfos.sled";
}; };
}; }
];
}; };
} }
) )