Commit Graph

744 Commits

Author SHA1 Message Date
nixbitcoin f2529154d4 joinmarket: 0.9.8 -> 0.9.9 2023-06-01 02:56:23 -07:00
Otto Sabart fd000e7a14 trustedcoin: explicitly use the HTTPS_PROXY for external connections 2023-06-01 02:56:23 -07:00
Otto Sabart e99937991c trustedcoin: update to v0.6.1 2023-06-01 02:56:23 -07:00
Otto Sabart 60bf5fb8de trustedcoin: fix shellcheck 2023-06-01 02:56:23 -07:00
neverupdate 925492fc70 clightning-plugins: add trustedcoin 2023-06-01 02:56:23 -07:00
neverupdate cf10fbb74f trustedcoin: add module 2023-06-01 02:56:23 -07:00
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