removed nix directory, not needed
This commit is contained in:
@@ -1,129 +0,0 @@
|
||||
{ nixpkgs, system ? "x86_64-linux" }:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
in
|
||||
pkgs.testers.runNixOSTest {
|
||||
name = "nwc-wallets-port-collision";
|
||||
|
||||
nodes.machine = { lib, pkgs, ... }: {
|
||||
imports = [ ../../modules/nwc-wallets.nix ];
|
||||
|
||||
options = {
|
||||
sovran_systemsOS.features = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.bool;
|
||||
default = { };
|
||||
};
|
||||
sovran_systemsOS.domainRequirements = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.attrs;
|
||||
default = [ ];
|
||||
};
|
||||
services.sovranHub.webPackage = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
};
|
||||
services.lnd = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
rpcAddress = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "127.0.0.1";
|
||||
};
|
||||
rpcPort = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 10009;
|
||||
};
|
||||
restPort = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 8080;
|
||||
};
|
||||
certPath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/var/lib/lnd/tls.cert";
|
||||
};
|
||||
macaroons = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
system.stateVersion = "24.11";
|
||||
networking.firewall.enable = true;
|
||||
|
||||
sovran_systemsOS.features."nwc-wallets" = true;
|
||||
services.lnd.enable = true;
|
||||
services.lnd.restPort = 8080;
|
||||
|
||||
services.sovranHub.webPackage = pkgs.writeShellApplication {
|
||||
name = "stub-sovran-hub-web";
|
||||
runtimeInputs = [ pkgs.python3 ];
|
||||
text = ''
|
||||
if [ "$(basename "$0")" = "nwc-lnurl" ]; then
|
||||
exec ${pkgs.python3}/bin/python -m http.server "''${NWC_LNURL_PORT:-8181}" --bind 127.0.0.1
|
||||
fi
|
||||
exec ${pkgs.coreutils}/bin/sleep infinity
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.sovran-hub-web = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.coreutils}/bin/sleep infinity";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.lnd-prepare = {
|
||||
description = "Prepare mock LND cert and macaroon files";
|
||||
before = [ "lnd.service" "albyhub.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
script = ''
|
||||
mkdir -p /var/lib/lnd /run/lnd /var/lib/domains
|
||||
printf 'stub-cert\n' > /var/lib/lnd/tls.cert
|
||||
printf 'stub-macaroon\n' > /run/lnd/albyhub.macaroon
|
||||
printf 'lightning.example.com\n' > /var/lib/domains/lightning
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.lnd = {
|
||||
description = "Mock LND REST listener";
|
||||
after = [ "network.target" "lnd-prepare.service" ];
|
||||
requires = [ "lnd-prepare.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.python3}/bin/python -m http.server 8080 --bind 127.0.0.1";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("lnd.service")
|
||||
machine.wait_for_unit("sovran-hub-web.service")
|
||||
machine.wait_for_unit("albyhub.service")
|
||||
machine.wait_for_unit("nwc-lnurl.service")
|
||||
|
||||
machine.wait_for_open_port(8080)
|
||||
machine.wait_for_open_port(18080)
|
||||
machine.wait_for_open_port(8181)
|
||||
|
||||
machine.succeed("ss -ltn '( sport = :8080 )' | grep -F '127.0.0.1:8080'")
|
||||
machine.succeed("ss -ltn '( sport = :18080 )' | grep -F '127.0.0.1:18080'")
|
||||
machine.succeed("ss -ltn '( sport = :8181 )' | grep -F '127.0.0.1:8181'")
|
||||
|
||||
machine.fail("ss -ltn '( sport = :18080 )' | grep -E '0\\.0\\.0\\.0:18080|\\[::\\]:18080'")
|
||||
machine.fail("ss -ltn '( sport = :8181 )' | grep -E '0\\.0\\.0\\.0:8181|\\[::\\]:8181'")
|
||||
|
||||
machine.succeed("${pkgs.curl}/bin/curl --fail --silent http://127.0.0.1:18080/api/info | ${pkgs.gnugrep}/bin/grep -q 'setupCompleted'")
|
||||
|
||||
machine.succeed("systemctl show -p Environment nwc-lnurl.service | grep -q 'NWC_ALBY_HUB_API_BASE=http://127.0.0.1:18080'")
|
||||
machine.succeed("systemctl show -p Environment sovran-hub-web.service | grep -q 'NWC_ALBY_HUB_API_BASE=http://127.0.0.1:18080'")
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user