diff options
-rw-r--r-- | nixos/modules/services/misc/ripple-data-api.nix | 30 |
1 files 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"; }; |