Commit Graph

721 Commits

Author SHA1 Message Date
Erik Arvstedt
2af642f56a
improve comments
The comment in python-packackges was obsolete.
2023-01-26 11:17:02 +01:00
Erik Arvstedt
5634f08873
rtl: make extraConfig recursively mergeable
Previously, when merging different definitions of `extraConfig`,
only the top-level attrset was merged.

Example:
The two separate settings
  nodes.lnd.extraConfig.Settings.userPersona = "MERCHANT";
  nodes.lnd.extraConfig.Settings.logLevel = "DEBUG";
were previously merged into
  nodes.lnd.extraConfig.Settings = { logLevel = "DEBUG" };
(The last definition has precedence.)
2023-01-20 13:46:08 +01:00
Erik Arvstedt
b76728a1ec
treewide: use bool literals for systemd
Run this from the repo root to check that there are no more remaining
bool strings:
grep -P '"true"|"false"' -r --exclude-dir=.git
2023-01-20 13:46:08 +01:00
Erik Arvstedt
9019a17bfc
versioning: add fulcrum db change info 2023-01-07 19:32:54 +00:00
Erik Arvstedt
8d476cfeaf
nix-bitcoin/runAsUserCmd: remove workaround 2023-01-03 16:18:27 +01:00
Erik Arvstedt
109dccca27
treewide: use mdDoc for descriptions
Enable markdown syntax (instead of docbook) for descriptions.
This only affects external doc tooling that renders the descriptions.
2022-12-18 20:01:52 +01:00
Jonas Nick
d1b3a4617d
clightning: set "database-upgrade=true" for 22.11.1 2022-12-17 12:43:33 +00:00
Erik Arvstedt
c5493717b7
lnd: support INADDR_ANY addresses for bitcoind.zmqpubraw*
Also use `mkDefault` when defining `bitcoind.zmqpubraw*` to simplify
overriding for users.
2022-11-11 12:10:00 +01:00
Jonas Nick
4a533d90ea
Merge fort-nix/nix-bitcoin#568: Minor improvements
0de16095e1 clightning-replication: switch system before waiting for server sshd (Erik Arvstedt)
d332177d3e clightning: extract var `bitcoind` (Erik Arvstedt)
1b5e51b7fe examples/vm-config: fix syntax error (Erik Arvstedt)
565deb770a examples/minimal-vm: add `lightning-cli` demo command (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 0de16095e1

Tree-SHA512: cafcc7a51152b480d26a55c926b21a01ef7565c948cf28926017565c1ef180e7500494eefb4b114ab371d4d0a62f9efd2ebf3722877d1c62f890827cd7b34574
2022-11-10 12:56:12 +00:00
Erik Arvstedt
0447c5bacb
treewide: set shebang for bash scripts
These scripts previously failed when called with syscalls like
`execve` (used by, e.g., Python's `subprocess.run`) that use no default
interpreter for scripts without a shebang.
2022-11-08 23:04:56 +01:00
Erik Arvstedt
d332177d3e
clightning: extract var bitcoind
Follow the default module formatting style.
2022-11-04 11:07:36 +01:00
Erik Arvstedt
90e942e5ae
nodeinfo: rename nodeinfoLib -> lib 2022-11-03 23:08:06 +01:00
Erik Arvstedt
8eaa4cce30
tests: move mkIfTest to nix-bitcoin.lib 2022-11-03 23:08:06 +01:00
Erik Arvstedt
b616d7ac1b
profiles/hardened: support pure eval mode 2022-11-03 23:08:05 +01:00
Erik Arvstedt
b412de3ad7
bitcoind: fix rare startup error
Previously, dhcpcd and bitcoind starting up in parallel could lead to
the following error in bitcoind:
```
bitcoind: libevent: getaddrinfo: address family for nodename not supported
bitcoind: Binding RPC on address 127.0.0.1 port 8332 failed.
bitcoind: Unable to bind any endpoint for
```
After the initial failure, the bitcoind service would always restart successfully.

This race condition, where both applications were simultaneously
manipulating network resources, was only triggered under specific
hardware conditions.

Fix it by running bitcoind after dhcp has started (by running after
`network-online.target`).
This bug and the fix only affect the default NixOS scripted
networking backend.
2022-11-02 12:02:03 +01:00
Erik Arvstedt
67949a002a
lnd: fix missing RPC permissions when bitcoind is pruned 2022-10-25 22:56:51 +02:00
Erik Arvstedt
c88acbb1bb
btcpayserver: use new option certfilepath for lnd 2022-10-24 12:47:01 +02:00
Erik Arvstedt
01fa900633
shellcheck: fix setup-secrets.sh, spark-wallet 2022-09-12 21:00:00 +02:00
Otto Sabart
ee15837244
shellcheck: prevent globbing and word splitting in unit shell scripts 2022-09-12 21:00:00 +02:00
Jonas Nick
c165836fd1
bitcoind: add "getdeploymentinfo" to public rpc whitelist
This is required by lnd 0.15.1.
2022-09-07 08:44:52 +00:00
Jonas Nick
623c238b16
clightning-plugins: remove commando pkg and module
clightning 0.12.0 ships with a reimplementation of the commando plugin that is
incompatible with the commando module that existed in nix-bitcoin.
2022-09-07 08:44:52 +00:00
Erik Arvstedt
030be842c8
secrets: use fetchurl derivation
This moves fetching from eval time to build time, which is a better
fit for fetching build time resources.
2022-08-29 00:12:17 +02:00
Erik Arvstedt
1713e016a0
clightning-replication: clarify comment about FUSE mounts 2022-08-28 23:49:12 +02:00
Erik Arvstedt
cd3878e357
delete modules/default.nix
This file has been missing some modules for quite some time.
Remove it to simplify maintenance.
2022-08-28 23:49:12 +02:00
Jonas Nick
749ed146d3
Merge fort-nix/nix-bitcoin#436: clightning: native database replication
5eb01498d5 tests: add comment (Erik Arvstedt)
952cd3773f run-tests: support tests with multiple VMs in `run` (Erik Arvstedt)
17507835fc clightning: native database replication (nixbitcoin)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK 5eb01498d5
  jonasnick:
    ACK 5eb01498d5

Tree-SHA512: 22cd8236e9846b9540847a82e45dcc114f24373a90fdb12efadfcdff1bb5ac6db008900f8156e77e84c24a304c1ee63bd07998443c28640cc467a9a0fc23560a
2022-08-13 19:54:05 +00:00
nixbitcoin
17507835fc
clightning: native database replication
Don't put `clightning.replication` options in
`examples/configuration.nix` until it is more "battle-tested."
2022-08-05 13:48:24 +00:00
Erik Arvstedt
a3490dfc0f
onion-services: don't propagate restart of onion-addresses to depending services
Currently, public services that publish their onion addresses have a
`requires` dependeny on service `onion-addresses`, so they are restarted
when `onion-addresses` restarts.

This has the downside that most of nix-bitcoin's services are restarted
when a new onion service is added and the system config has the following common settings:
- nix-bitcoin.onionServices.bitcoind.public = true
- nix-bitcoin.operator.enable = true

Sequence of events:
1. onion service is added
2. `onion-addresses` restarts, because the new onion service is made available to `operator`
3. bitcoind restarts
4. all depending services restart

Fix this by using a `wants` dependency.
2022-08-04 11:48:26 +02:00
William Casarin
e3c54aa64e
clightning: add currencyrate plugin
Add the currencyrate plugin. This is used by other plugins to fetch
currency rates. This can be used for setting fiat amounts in bolt12
invoices.

Signed-off-by: William Casarin <jb55@jb55.com>
2022-07-26 14:47:40 +02:00
Erik Arvstedt
42bf0422e0
operator: fix syntax error in description
Fix error `Invalid XML` when running flake-info (nixos-search) .
2022-07-22 17:17:11 +02:00
Jonas Nick
adef50a5c3
Merge fort-nix/nix-bitcoin#520: secrets: fix sorting in setup-secrets
0ba6c63670 secrets: fix sorting in `setup-secrets` (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    utACK 0ba6c63670

Tree-SHA512: f9bea9c3d73879c6450315d6c3f1920b1599b5a5875004cb6d6cb94d368362d79a0a23d7d2427711d548004eaac482145e7e732f531879dd049b14678f37a048
2022-07-22 13:36:12 +00:00
Jonas Nick
34c4b61402
Merge fort-nix/nix-bitcoin#504: Add fulcrum module
7d7f2df006 fulcrum: add module (Erik Arvstedt)
edd8bd311c bitcoind-rpc-public-whitelist: add `ping`, `help` (Erik Arvstedt)
f946a7cd9b examples: use `mkDefault` for setting `system.stateVersion` (Erik Arvstedt)
79994d0bd2 tests: increase postgresql startup timeout (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  nixbitcoin:
    ACK 7d7f2df006

Tree-SHA512: 866f0a40bb81ceb2008e6efbd415eeee201b9e56aa5ebc60fd1bb4b6eda300155faaa2e6492d8145b3c6084b1e8ef5ec7d4e0ff694beb328d2e5ed755c9d04b4
2022-07-22 13:11:40 +00:00
Erik Arvstedt
0ba6c63670
secrets: fix sorting in setup-secrets
Now the bash globbing sort order equals the nix sort order
(order of `processedFiles`)
Previously, `comm` could fail with error `unsorted` on
specific secrets names.
2022-07-22 14:57:06 +02:00
Jonas Nick
7a40c39d5c
Merge fort-nix/nix-bitcoin#512: Remove bitcoind banlist
8dc4858872 bitcoind: remove banlist loader (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  nixbitcoin:
    ACK 8dc4858872
  jonasnick:
    ACK 8dc4858872

Tree-SHA512: a3002863b1bcf97f2553d977006bffe0d0554df4d27f6a50898e9dc3a200a5a95878ba2038d5a32d8c3e54ced7a1bf6a8735e954b496fecb20af42637844329e
2022-07-17 19:57:50 +00:00
Jonas Nick
d3664b09b4
Merge fort-nix/nix-bitcoin#511: Minor improvements
84b69dfb46 versioning: improve description wording (Erik Arvstedt)
9d20837b90 flake: remove `rec` (Erik Arvstedt)
c82e0ee294 clightning/plugins: format plugin defs, order alphabetically (Erik Arvstedt)
9ac3d93b27 improve comments, descriptions (Erik Arvstedt)
97b1a1d353 operator: improve descriptions (Erik Arvstedt)
27dd31ead5 clightning/feeadjuster: fix typo (Erik Arvstedt)
df5abd5eab lnd: move `wallet-unlock-password-file` setting to config (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 84b69dfb46

Tree-SHA512: e326ea37c4c4e766a634e90a069a441933dfac5a91e85c136e49dd17c16ee6e5e3fbfb15399f97321e412ab1624f1040116e2516e2635188f7e25454d5e9fe34
2022-07-17 19:48:40 +00:00
Erik Arvstedt
84b69dfb46
versioning: improve description wording 2022-07-17 12:46:01 +02:00
Otto Sabart
03b75a0254
bitcoind-remote: fix quotation marks in preStart script 2022-07-15 23:40:16 +02:00
Erik Arvstedt
8dc4858872
bitcoind: remove banlist loader
Gmaxwell's banlist (https://people.xiph.org/~greg/banlist.cli.txt) is
no longer maintained and hasn't been updated since 2 years.
2022-07-15 14:45:37 +02:00
Erik Arvstedt
9ac3d93b27
improve comments, descriptions 2022-07-15 01:50:11 +02:00
Erik Arvstedt
97b1a1d353
operator: improve descriptions 2022-07-14 23:47:12 +02:00
Erik Arvstedt
27dd31ead5
clightning/feeadjuster: fix typo 2022-07-14 23:46:25 +02:00
Erik Arvstedt
df5abd5eab
lnd: move wallet-unlock-password-file setting to config
There's no need to pass this option via the cmdline.
2022-07-14 23:46:25 +02:00
Erik Arvstedt
7d7f2df006
fulcrum: add module 2022-07-09 11:07:09 +02:00
Jonas Nick
7e94b7eddc
Merge fort-nix/nix-bitcoin#510: lnd, lightning-loop: add certificate options extraIPs and extraDomains
c853f380d4 lightning-loop: add certificate options `extraIPs` and `extraDomains` (Erik Arvstedt)
edfbe700e7 lnd: add certificate options `extraIPs` and `extraDomains` (Erik Arvstedt)
60a27d58a6 lnd, lightning-loop: improve `extraConfig` option description (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK c853f380d4

Tree-SHA512: f83ddd99826fdcae964de2ff7f45ca941f0ffb6130f5e4f8481d7e2c9946ebea8415460c0cfe68a9626a2fb0d6912e5285b580db00d78bfcfdac665426bf3649
2022-07-08 20:57:37 +00:00
Erik Arvstedt
edd8bd311c
bitcoind-rpc-public-whitelist: add ping, help
Required by fulcrum.
2022-07-08 15:10:03 +02:00
Erik Arvstedt
c853f380d4
lightning-loop: add certificate options extraIPs and extraDomains
This is useful for non-local access to the lightning-loop REST server.
2022-07-07 16:09:26 +02:00
Erik Arvstedt
edfbe700e7
lnd: add certificate options extraIPs and extraDomains
This is useful for non-local access to the lnd REST server.
2022-07-07 16:09:26 +02:00
Erik Arvstedt
60a27d58a6
lnd, lightning-loop: improve extraConfig option description 2022-07-07 16:09:26 +02:00
Jonas Nick
4c9efa9db9
Merge fort-nix/nix-bitcoin#503: nodeinfo: make extensible
f17fcebe11 nodeinfo: make extensible (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK f17fcebe11

Tree-SHA512: 8f4cca757c6b6323a6cb947a9a452cb57743242935e29c4dc1efe3920f7c1930766b09f8a875830f1eaf6b4c9079c452600c86aef81b57748b7cebb3d620eafa
2022-07-07 08:24:33 +00:00
Erik Arvstedt
99f1dc0bff
bitcoind, liquidd: increase TimeoutStartSec
I've just seen `liquidd` hit the timeout on nixbitcoin.org while
`Loading block index`.
This was probably due to HDD contention while starting services during
boot.
2022-07-05 13:04:18 +02:00
Erik Arvstedt
f17fcebe11
nodeinfo: make extensible
Module authors can now add extra services via option `nix-bitcoin.nodeinfo.services`.
Mark as internal because we're not yet providing a user-friendly, stable API.
2022-07-05 10:11:55 +02:00