forked from yu-re-ka/binary-cache
feat(module): expose common-composition to the user
This commit is contained in:
parent
9dcfcbf178
commit
608f8008eb
|
@ -41,6 +41,7 @@ in
|
|||
options = {
|
||||
grpcListenAddress = 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; };
|
||||
tvix-daemon-composition = lib.mkOption { inherit (settingsFormat) type; };
|
||||
name = lib.mkOption {
|
||||
|
@ -57,38 +58,37 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
common-composition = {
|
||||
blobservices.default = {
|
||||
config = {
|
||||
common-composition = {
|
||||
blobservices.default = {
|
||||
type = "objectstore";
|
||||
object_store_url = "file://${cfg.castoreDir}/blobs.object-store";
|
||||
object_store_options = { };
|
||||
};
|
||||
directoryservices = {
|
||||
objectstore = {
|
||||
type = "objectstore";
|
||||
object_store_url = "file://${cfg.castoreDir}/blobs.object-store";
|
||||
object_store_url = "file://${cfg.castoreDir}/directories.object-store";
|
||||
object_store_options = { };
|
||||
};
|
||||
directoryservices = {
|
||||
objectstore = {
|
||||
type = "objectstore";
|
||||
object_store_url = "file://${cfg.castoreDir}/directories.object-store";
|
||||
object_store_options = { };
|
||||
};
|
||||
memory = {
|
||||
type = "memory";
|
||||
};
|
||||
cache = {
|
||||
type = "cache";
|
||||
near = "memory";
|
||||
far = "objectstore";
|
||||
};
|
||||
default = {
|
||||
type = "router";
|
||||
writes = "objectstore";
|
||||
reads = "cache";
|
||||
};
|
||||
memory = {
|
||||
type = "memory";
|
||||
};
|
||||
cache = {
|
||||
type = "cache";
|
||||
near = "memory";
|
||||
far = "objectstore";
|
||||
};
|
||||
default = {
|
||||
type = "router";
|
||||
writes = "objectstore";
|
||||
reads = "cache";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
nar-bridge-composition = lib.recursiveUpdate common-composition {
|
||||
};
|
||||
nar-bridge-composition = lib.mkMerge [
|
||||
cacheAttrs.config.common-composition
|
||||
{
|
||||
pathinfoservices.default = {
|
||||
type = "grpc";
|
||||
url = "grpc+http://${
|
||||
|
@ -104,15 +104,19 @@ in
|
|||
cacheAttrs.config.grpcListenAddress
|
||||
}";
|
||||
};
|
||||
};
|
||||
tvix-daemon-composition = lib.recursiveUpdate common-composition {
|
||||
}
|
||||
];
|
||||
tvix-daemon-composition = lib.mkMerge [
|
||||
cacheAttrs.config.common-composition
|
||||
{
|
||||
pathinfoservices.default = {
|
||||
type = "sled";
|
||||
is_temporary = false;
|
||||
path = "/var/lib/tvix-daemon-${name}/pathinfos.sled";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
)
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue