Commit Graph

738 Commits

Author SHA1 Message Date
Jonas Nick
c2d87b0b68 obsolete options: fix typo in removed lndconnectOnion option 2023-06-01 02:56:23 -07:00
Erik Arvstedt
0daf52bd3f nodeinfo: enable required option nix-bitcoin.operator 2023-06-01 02:56:23 -07:00
Erik Arvstedt
52810e6c88 nodeinfo/lnd: add onion_rest_address 2023-06-01 02:56:23 -07:00
Erik Arvstedt
5b6cd9fd49 nodeinfo/lnd: add rest_address 2023-06-01 02:56:23 -07:00
Erik Arvstedt
5f1e747270 add presets/wireguard.nix
This allows using `lndconnect` via a direct WireGuard connection.
2023-06-01 02:56:23 -07:00
Erik Arvstedt
05310fc02b lndconnect: update to Zeus 0.7.1
- Generate lndconnect URLs with protocol `c-lightning-rest` for clightning.
  (Zeus now auto-detects the lightning implementation by the URL protocol.)
- Use improved QR code format (via qrencode)  .
2023-06-01 02:56:23 -07:00
Erik Arvstedt
64304b6d66 lnd, clightning-rest: remove lndconnectOnion, add generic option lndconnect
For both lnd and clightning-rest, `lndconnectOnion` is replaced by
options `lndconnect.enable` and `lndconnect.onion`.

This allows using lndconnect without Tor.
2023-06-01 02:56:23 -07:00
Erik Arvstedt
992946f20e rename lndconnect-onion.nix -> lndconnect.nix 2023-06-01 02:56:23 -07:00
Jonas Nick
ce332177be rtl: set DB_DIRECTORY_PATH
This prevents RTL from trying to create a database in the directory that
contains the RTL executable.
2023-06-01 02:56:23 -07:00
Erik Arvstedt
2344acbf42 btcpayserver: support restarting from the web interface
This is required since version 1.7.4.
See: https://github.com/btcpayserver/btcpayserver/releases/tag/v1.7.4
2023-06-01 02:56:23 -07:00
Erik Arvstedt
a71c60bfe4 fulcrum: allow access to /proc/meminfo
This still hides the proc subdirectories for other processes.

Without this setting, fulcrum fails when the config value of
`fast-sync` is greater than 2^31 bytes.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
3550ed1e32 secrets: use type lines for generateSecretsCmds
This allows users to amend secrets cmds.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
336a3fccf1 bitcoind, liquid: increase start/stop timeouts 2023-06-01 02:56:22 -07:00
Erik Arvstedt
c8f9e167c1 netns-isolation: improve formatting 2023-06-01 02:56:22 -07:00
Erik Arvstedt
9cb5a7295a netns-isolation: reserve netns id for mempool
This allows using the old id in the extension flake, so that
existing configs are not changed.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
11f91f83e6 add option nix-bitcoin.pkgOverlays
This simplifies extending `nix-bitcoin.pkgs` and is required for
extension flakes.
For now, mark this as `internal`.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
a7bc488b17 nodeinfo: extract fn mkInfoLong
This is required by the mempool extension flake.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
9184db69dd improve comments
The comment in python-packackges was obsolete.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
0c354ee9eb 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-06-01 02:56:22 -07:00
Erik Arvstedt
c9cfcf695f 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-06-01 02:56:22 -07:00
Erik Arvstedt
d119c207b9 versioning: add fulcrum db change info 2023-06-01 02:56:22 -07:00
Erik Arvstedt
0e35b8a79a nix-bitcoin/runAsUserCmd: remove workaround 2023-06-01 02:56:22 -07:00
Erik Arvstedt
f603cb6101 treewide: use mdDoc for descriptions
Enable markdown syntax (instead of docbook) for descriptions.
This only affects external doc tooling that renders the descriptions.
2023-06-01 02:56:22 -07:00
Jonas Nick
bc72ad94b3 clightning: set "database-upgrade=true" for 22.11.1 2023-06-01 02:56:22 -07:00
Erik Arvstedt
761898f380 lnd: support INADDR_ANY addresses for bitcoind.zmqpubraw*
Also use `mkDefault` when defining `bitcoind.zmqpubraw*` to simplify
overriding for users.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
45bfc181fc clightning: extract var bitcoind
Follow the default module formatting style.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
6dd365e719 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.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
f4f4808d59 nodeinfo: rename nodeinfoLib -> lib 2023-06-01 02:56:22 -07:00
Erik Arvstedt
32db35d1bf tests: move mkIfTest to nix-bitcoin.lib 2023-06-01 02:56:22 -07:00
Erik Arvstedt
6a2d4ab1d7 profiles/hardened: support pure eval mode 2023-06-01 02:56:22 -07:00
Erik Arvstedt
b2bae90584 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.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
b3c134c01d lnd: fix missing RPC permissions when bitcoind is pruned 2023-06-01 02:56:22 -07:00
Erik Arvstedt
d96c0a628a btcpayserver: use new option certfilepath for lnd 2023-06-01 02:56:22 -07:00
Greg Shuflin
9a7e5e1921 Patch to prevent chmod 2022-09-20 19:34:12 -07: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