feat: add memory limit

This commit is contained in:
Katharina Heidenreich 2026-04-04 18:11:22 +02:00
parent c923126eff
commit 2c1316a0a6
3 changed files with 53 additions and 18 deletions

View file

@ -2,19 +2,54 @@ let
common = import ./common.nix;
in
rec {
getServerName = serviceData:
let
continuwuity =
if serviceData ? continuwuity then
common.ensureAttrset "config/services.nix continuwuity" serviceData.continuwuity
else
throw "config/services.nix must define continuwuity attrset.";
serverName =
if continuwuity ? server_name then
common.ensureString "config/services.nix continuwuity.server_name" continuwuity.server_name
else
throw "config/services.nix continuwuity.server_name must exist.";
in
if serverName != "" then
serverName
else
throw "config/services.nix continuwuity.server_name must be a non-empty string.";
getTrustedServers = serviceData:
let
matrix =
if serviceData ? matrix then
common.ensureAttrset "config/services.nix matrix" serviceData.matrix
continuwuity =
if serviceData ? continuwuity then
common.ensureAttrset "config/services.nix continuwuity" serviceData.continuwuity
else
throw "config/services.nix must define matrix attrset.";
throw "config/services.nix must define continuwuity attrset.";
trustedServers =
if matrix ? trusted_servers then
common.ensureList "config/services.nix matrix.trusted_servers" matrix.trusted_servers
if continuwuity ? trusted_servers then
common.ensureList "config/services.nix continuwuity.trusted_servers" continuwuity.trusted_servers
else
throw "config/services.nix matrix.trusted_servers must exist.";
throw "config/services.nix continuwuity.trusted_servers must exist.";
in
trustedServers;
getMemoryMax = serviceData:
let
continuwuity =
if serviceData ? continuwuity then
common.ensureAttrset "config/services.nix continuwuity" serviceData.continuwuity
else
throw "config/services.nix must define continuwuity attrset.";
in
if !(continuwuity ? memory_max) then
null
else
let
value = common.ensureString "config/services.nix continuwuity.memory_max" continuwuity.memory_max;
in
if value != "" then value else throw "config/services.nix continuwuity.memory_max must be a non-empty string when provided.";
}