clightning: add consistent address options

Also remove option 'autolisten'. This option has no effect because
option 'bind-addr' is always set.
This commit is contained in:
Erik Arvstedt 2021-01-14 13:24:04 +01:00
parent b41a720c28
commit e78a609687
No known key found for this signature in database
GPG Key ID: 33312B944DD97846
5 changed files with 15 additions and 23 deletions

View File

@ -49,7 +49,7 @@
### LND ### LND
# Uncomment the following line in order to enable lnd, a lightning # Uncomment the following line in order to enable lnd, a lightning
# implementation written in Go. In order to avoid collisions with clightning # implementation written in Go. In order to avoid collisions with clightning
# you must disable clightning or change the services.clightning.bindport or # you must disable clightning or change the services.clightning.port or
# services.lnd.port to a port other than 9735. # services.lnd.port to a port other than 9735.
# services.lnd.enable = true; # services.lnd.enable = true;
# Enable this option to announce our Tor Hidden Service. By default lnd # Enable this option to announce our Tor Hidden Service. By default lnd

View File

@ -13,7 +13,7 @@ let
bitcoin-datadir=${config.services.bitcoind.dataDir} bitcoin-datadir=${config.services.bitcoind.dataDir}
${optionalString (cfg.proxy != null) "proxy=${cfg.proxy}"} ${optionalString (cfg.proxy != null) "proxy=${cfg.proxy}"}
always-use-proxy=${if cfg.always-use-proxy then "true" else "false"} always-use-proxy=${if cfg.always-use-proxy then "true" else "false"}
bind-addr=${cfg.bind-addr}:${toString cfg.bindport} bind-addr=${cfg.address}:${toString cfg.port}
bitcoin-rpcconnect=${config.services.bitcoind.rpc.address} bitcoin-rpcconnect=${config.services.bitcoind.rpc.address}
bitcoin-rpcport=${toString config.services.bitcoind.rpc.port} bitcoin-rpcport=${toString config.services.bitcoind.rpc.port}
bitcoin-rpcuser=${config.services.bitcoind.rpc.users.public.name} bitcoin-rpcuser=${config.services.bitcoind.rpc.users.public.name}
@ -29,13 +29,15 @@ in {
If enabled, the clightning service will be installed. If enabled, the clightning service will be installed.
''; '';
}; };
autolisten = mkOption { address = mkOption {
type = types.bool; type = types.str;
default = false; default = "127.0.0.1";
description = '' description = "IP address or UNIX domain socket to listen for peer connections.";
Bind (and maybe announce) on IPv4 and IPv6 interfaces if no addr, };
bind-addr or announce-addr options are specified. port = mkOption {
''; type = types.port;
default = 9735;
description = "Port to listen for peer connections.";
}; };
proxy = mkOption { proxy = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
@ -49,16 +51,6 @@ in {
Always use the *proxy*, even to connect to normal IP addresses (you can still connect to Unix domain sockets manually). This also disables all DNS lookups, to avoid leaking information. Always use the *proxy*, even to connect to normal IP addresses (you can still connect to Unix domain sockets manually). This also disables all DNS lookups, to avoid leaking information.
''; '';
}; };
bind-addr = mkOption {
type = nbPkgs.lib.ipv4Address;
default = "127.0.0.1";
description = "Set an IP address or UNIX domain socket to listen to";
};
bindport = mkOption {
type = types.port;
default = 9735;
description = "Set a Port to listen to locally";
};
announce-tor = mkOption { announce-tor = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;

View File

@ -58,7 +58,7 @@ with lib;
config = { config = {
assertions = [ assertions = [
{ assertion = (config.services.lnd.enable -> ( !config.services.clightning.enable || config.services.clightning.bindport != config.services.lnd.port)); { assertion = (config.services.lnd.enable -> ( !config.services.clightning.enable || config.services.clightning.port != config.services.lnd.port));
message = '' message = ''
LND and clightning can't both bind to lightning port 9735. Either LND and clightning can't both bind to lightning port 9735. Either
disable LND/clightning or change services.clightning.bindPort or disable LND/clightning or change services.clightning.bindPort or

View File

@ -254,7 +254,7 @@ in {
}; };
systemd.services.bitcoind-import-banlist.serviceConfig.NetworkNamespacePath = "/var/run/netns/nb-bitcoind"; systemd.services.bitcoind-import-banlist.serviceConfig.NetworkNamespacePath = "/var/run/netns/nb-bitcoind";
services.clightning.bind-addr = netns.clightning.address; services.clightning.address = netns.clightning.address;
services.lnd = { services.lnd = {
address = netns.lnd.address; address = netns.lnd.address;

View File

@ -68,8 +68,8 @@ in {
services.clightning.enforceTor = true; services.clightning.enforceTor = true;
services.tor.hiddenServices.clightning = mkIf cfg.clightning.enable (mkHiddenService { services.tor.hiddenServices.clightning = mkIf cfg.clightning.enable (mkHiddenService {
port = cfg.clightning.onionport; port = cfg.clightning.onionport;
toHost = cfg.clightning.bind-addr; toHost = cfg.clightning.address;
toPort = cfg.clightning.bindport; toPort = cfg.clightning.port;
}); });
# lnd # lnd