Merge pull request #7163 from joachifm/tarsnap-bandwidth-options
tarsnap module: add options for controlling bandwidth
This commit is contained in:
commit
409da39c08
@ -5,20 +5,21 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.tarsnap;
|
cfg = config.services.tarsnap;
|
||||||
|
|
||||||
optionalNullStr = e: v: if e == null then "" else v;
|
|
||||||
|
|
||||||
configFile = cfg: ''
|
configFile = cfg: ''
|
||||||
cachedir ${config.services.tarsnap.cachedir}
|
cachedir ${config.services.tarsnap.cachedir}
|
||||||
keyfile ${config.services.tarsnap.keyfile}
|
keyfile ${config.services.tarsnap.keyfile}
|
||||||
${optionalString cfg.nodump "nodump"}
|
${optionalString cfg.nodump "nodump"}
|
||||||
${optionalString cfg.printStats "print-stats"}
|
${optionalString cfg.printStats "print-stats"}
|
||||||
${optionalString cfg.printStats "humanize-numbers"}
|
${optionalString cfg.printStats "humanize-numbers"}
|
||||||
${optionalNullStr cfg.checkpointBytes "checkpoint-bytes "+cfg.checkpointBytes}
|
${optionalString (cfg.checkpointBytes != null) ("checkpoint-bytes "+cfg.checkpointBytes)}
|
||||||
${optionalString cfg.aggressiveNetworking "aggressive-networking"}
|
${optionalString cfg.aggressiveNetworking "aggressive-networking"}
|
||||||
${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)}
|
${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)}
|
||||||
${concatStringsSep "\n" (map (v: "include "+v) cfg.includes)}
|
${concatStringsSep "\n" (map (v: "include "+v) cfg.includes)}
|
||||||
${optionalString cfg.lowmem "lowmem"}
|
${optionalString cfg.lowmem "lowmem"}
|
||||||
${optionalString cfg.verylowmem "verylowmem"}
|
${optionalString cfg.verylowmem "verylowmem"}
|
||||||
|
${optionalString (cfg.maxbw != null) ("maxbw "+toString cfg.maxbw)}
|
||||||
|
${optionalString (cfg.maxbwRateUp != null) ("maxbw-rate-up "+toString cfg.maxbwRateUp)}
|
||||||
|
${optionalString (cfg.maxbwRateDown != null) ("maxbw-rate-down "+toString cfg.maxbwRateDown)}
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@ -166,6 +167,33 @@ in
|
|||||||
slowing down the archiving process.
|
slowing down the archiving process.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
maxbw = mkOption {
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Abort archival if upstream bandwidth usage in bytes
|
||||||
|
exceeds this threshold.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
maxbwRateUp = mkOption {
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
default = null;
|
||||||
|
example = literalExample "25 * 1000";
|
||||||
|
description = ''
|
||||||
|
Upload bandwidth rate limit in bytes.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
maxbwRateDown = mkOption {
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
default = null;
|
||||||
|
example = literalExample "50 * 1000";
|
||||||
|
description = ''
|
||||||
|
Download bandwidth rate limit in bytes.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user