From 5984c04f1fbb07692ae3981b3a12ab32297df2e9 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Sat, 25 Apr 2015 14:38:05 +0200 Subject: nixos/ripple-data-api: add import mode option --- nixos/modules/services/misc/ripple-data-api.nix | 30 +++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/misc/ripple-data-api.nix b/nixos/modules/services/misc/ripple-data-api.nix index 6e5ac7ab00bd0..3b281449a2563 100644 --- a/nixos/modules/services/misc/ripple-data-api.nix +++ b/nixos/modules/services/misc/ripple-data-api.nix @@ -43,6 +43,24 @@ in { type = types.int; }; + importMode = mkOption { + description = "Ripple data api import mode."; + default = "liveOnly"; + type = types.enum ["live" "liveOnly"]; + }; + + minLedger = mkOption { + description = "Ripple data api minimal ledger to fetch."; + default = null; + type = types.nullOr types.int; + }; + + maxLedger = mkOption { + description = "Ripple data api maximal ledger to fetch."; + default = null; + type = types.nullOr types.int; + }; + redis = { enable = mkOption { description = "Whether to enable caching of ripple data to redis."; @@ -129,6 +147,7 @@ in { serviceConfig = { ExecStart = "${pkgs.ripple-data-api}/bin/api"; + Restart = "always"; User = "ripple-data-api"; }; }; @@ -145,8 +164,15 @@ in { LOG_FILE = "/dev/null"; }; - serviceConfig = { - ExecStart = "${pkgs.ripple-data-api}/bin/importer live debug2"; + serviceConfig = let + importMode = + if cfg.minLedger != null && cfg.maxLedger != null then + "${toString cfg.minLedger} ${toString cfg.maxLedger}" + else + cfg.importMode; + in { + ExecStart = "${pkgs.ripple-data-api}/bin/importer ${importMode} debug"; + Restart = "always"; User = "ripple-data-api"; }; -- cgit 1.4.1