aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/modules/services/networking/keepalived/vrrp-script-options.nix')
-rw-r--r--nixpkgs/nixos/modules/services/networking/keepalived/vrrp-script-options.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/services/networking/keepalived/vrrp-script-options.nix b/nixpkgs/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
new file mode 100644
index 00000000000..a3f794c40a8
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
@@ -0,0 +1,64 @@
+{ 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.";
+ };
+
+ };
+
+}