65 lines
1.4 KiB
Nix
65 lines
1.4 KiB
Nix
|
{ lib } :
|
||
|
|
||
|
with lib;
|
||
|
with lib.types;
|
||
|
{
|
||
|
options = {
|
||
|
|
||
|
script = mkOption {
|
||
|
type = str;
|
||
|
example = "\${pkgs.curl} -f http://localhost:80";
|
||
|
description = "(Path of) Script command to execute followed by args, i.e. cmd [args]...";
|
||
|
};
|
||
|
|
||
|
interval = mkOption {
|
||
|
type = int;
|
||
|
default = 1;
|
||
|
description = "Seconds between script invocations.";
|
||
|
};
|
||
|
|
||
|
timeout = mkOption {
|
||
|
type = int;
|
||
|
default = 5;
|
||
|
description = "Seconds after which script is considered to have failed.";
|
||
|
};
|
||
|
|
||
|
weight = mkOption {
|
||
|
type = int;
|
||
|
default = 0;
|
||
|
description = "Following a failure, adjust the priority by this weight.";
|
||
|
};
|
||
|
|
||
|
rise = mkOption {
|
||
|
type = int;
|
||
|
default = 5;
|
||
|
description = "Required number of successes for OK transition.";
|
||
|
};
|
||
|
|
||
|
fall = mkOption {
|
||
|
type = int;
|
||
|
default = 3;
|
||
|
description = "Required number of failures for KO transition.";
|
||
|
};
|
||
|
|
||
|
user = mkOption {
|
||
|
type = str;
|
||
|
default = "keepalived_script";
|
||
|
description = "Name of user to run the script under.";
|
||
|
};
|
||
|
|
||
|
group = mkOption {
|
||
|
type = nullOr str;
|
||
|
default = null;
|
||
|
description = "Name of group to run the script under. Defaults to user group.";
|
||
|
};
|
||
|
|
||
|
extraConfig = mkOption {
|
||
|
type = lines;
|
||
|
default = "";
|
||
|
description = "Extra lines to be added verbatim to the vrrp_script section.";
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|