pi/validation/service/continuwuity.nix
Katharina Heidenreich 2c1316a0a6 feat: add memory limit
2026-04-04 18:11:22 +02:00

55 lines
No EOL
1.9 KiB
Nix

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
continuwuity =
if serviceData ? continuwuity then
common.ensureAttrset "config/services.nix continuwuity" serviceData.continuwuity
else
throw "config/services.nix must define continuwuity attrset.";
trustedServers =
if continuwuity ? trusted_servers then
common.ensureList "config/services.nix continuwuity.trusted_servers" continuwuity.trusted_servers
else
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.";
}