~zinigor/cardano-node/trunk

« back to all changes in this revision

Viewing changes to nix/scripts-submit-api.nix

  • Committer: Igor Zinovyev
  • Date: 2021-08-13 19:12:27 UTC
  • Revision ID: zinigor@gmail.com-20210813191227-stlnsj3mc5ypwn0c
Tags: upstream-1.27.0
ImportĀ upstreamĀ versionĀ 1.27.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{ pkgs
 
2
, customConfig
 
3
 }:
 
4
with pkgs.commonLib;
 
5
let
 
6
  customConfig' = customConfig // (customConfig.submit-api or {});
 
7
  mkScript = envConfig: let
 
8
 
 
9
    configModule = { options, config, ...}: {
 
10
      services.cardano-submit-api = recursiveUpdate {
 
11
        enable = true;
 
12
        network = envConfig.name;
 
13
        environment = envConfig;
 
14
        cardanoNodePkgs = pkgs;
 
15
      } (let validOptions = attrNames options.services.cardano-submit-api;
 
16
        in filterAttrs (n: _: elem n validOptions) customConfig');
 
17
    };
 
18
 
 
19
    serviceScript = (modules.evalModules {
 
20
      prefix = [];
 
21
      modules = [
 
22
        ./nixos/cardano-submit-api-service.nix
 
23
        systemdCompatModule
 
24
        configModule
 
25
      ];
 
26
      args = { inherit pkgs; };
 
27
      check = false;
 
28
    }).config.services.cardano-submit-api.script;
 
29
 
 
30
  in pkgs.writeScript "cardano-submit-api-${envConfig.name}" ''
 
31
    #!${pkgs.runtimeShell}
 
32
    set -euo pipefail
 
33
    ${serviceScript} $@
 
34
  '';
 
35
 
 
36
  scripts = forEnvironments (environment: recurseIntoAttrs {
 
37
    submit-api = mkScript environment;
 
38
  });
 
39
in removeAttrs scripts ["selfnode" "shelley_selfnode"]