Commit Graph
100 Commits
Author SHA1 Message Date
Erik Arvstedt eafcb36119 clboss: 0.13 -> 0.13.1 2024-05-05 17:29:30 +02:00
Erik Arvstedt 42bae23337 update nixpkgs
bitcoind: 26.1 -> 27.0
lnd: 0.17.4-beta -> 0.17.5-beta
2024-05-05 17:03:34 +02:00
Erik Arvstedt 64e9998f72 update-flake.sh: support Nix >= 2.19 2024-05-03 23:12:32 +02:00
Erik Arvstedt 5730afe48e obsolete-options: add removed clightning plugins 2024-04-09 05:30:23 +00:00
Erik Arvstedt 2c503a9dcf examples: add persistent container example 2024-02-25 23:00:25 +01:00
Erik Arvstedt 73d6d1e8ca dev: move mempool to dev-features.sh
The mempool dev cmd docs are too short for a dedicated file.
2024-01-15 23:27:18 +01:00
Erik Arvstedt d61dc8b8d9 test/README: fix typos 2024-01-15 23:27:18 +01:00
Erik Arvstedt afbd8a3cad test: use nixpkgs-unstable flake input for nix-bitcoin pkgs
By using the `default` flake module for tests, `pkgsUnstable` in
`pkgs/default.nix` gets passed the `nixpkgs-unstable` flake input
instead of falling back to importing `nixpkgsPinned.nixpkgs-unstable`.

For some use cases this prevents importing `nixpkgs-unstable` twice
(once via the `nixpkgs-unstable` flake input, once via
`import nixpkgsPinned.nixpkgs-unstable`).
2024-01-15 23:15:36 +01:00
Erik Arvstedt 98b16a1f6c tests/hardened: fix test for slower hardware 2024-01-15 23:12:06 +01:00
Erik Arvstedt c1a7ab7b2f onion-services: fix markdown code formatting 2024-01-15 23:05:26 +01:00
Erik Arvstedt 4347125344 nix-bitcoin: add example for option pkgOverlays 2024-01-15 23:05:26 +01:00
Erik Arvstedt 7e0d54a19a docs/services: improve lndconnect-wireguard docs 2024-01-15 23:05:25 +01:00
Erik Arvstedt 85bbdb857a python-bitcointx: 1.1.3 -> 1.1.4 2023-12-14 15:00:28 +01:00
Erik Arvstedt 1c07c5fa5c python-packages: add workaround to reenable requirements checking 2023-12-14 14:53:10 +01:00
Erik Arvstedt dc1033f1c8 python-packages/joinmarket: update
- Add `doCheck = false` and `pythonImportsCheck` where appropriate.
  This is good practice in general, but specifically works around a
  `buildPythonPackage` bug where the test phase fails due to a
  requirements check that is unrelated to testing.

- Enable tests for `jmbitcoin`.

- Patch some requirements. I've checked the release notes of the
  required deps for backwards compatibility.
2023-12-14 14:53:10 +01:00
Erik Arvstedt de51f20ccb python-packages/clightning: update 2023-12-14 14:51:12 +01:00
Erik Arvstedt e82da35174 examples/deploy-krops: fix duplicate import error
`qemu-vm.nix` is already imported in `vm-config.nix` but under a
different path.
This causes an "already declared" error on NixOS 23.11.
2023-12-14 14:51:07 +01:00
Erik Arvstedt b110e2aea6 fetch-node-modules: provide CA certs
Without this, the `npm ci` command in `fetchNodeModules` hangs.

It seems that npm didn't check certs previously, because these are
not availble in Nix build environments by default.
2023-12-14 14:50:31 +01:00
Erik Arvstedt 770a4354b4 btcpayserver: fix PostgreSQL 15 user permissions
Since PostgreSQL 15, DB users need to be DB owners to be able to create tables.

We can't use the new `ensureDBOwnerhip` NixOS option [1] to set this up,
because it requires the PostgreSQL user name and the database name to be
identical, which is not the case for btcpayserver.

Instead, we manually issue a PostgreSQL admin statement similar to the one
used by `ensureDBOwnerhip`.

This method of setting up the user is also compatible with older
PostgreSQL versions that come with older NixOS `system.stateVersion`s.

[1] https://github.com/NixOS/nixpkgs/pull/266270
2023-12-12 11:22:38 +01:00
Erik Arvstedt 9efcdaf8bb treewide: use vendorHash for golang drvs
`vendorSha256` has been deprecated.
2023-12-12 11:22:38 +01:00
Erik Arvstedt be2028f2e8 mempool: use recommendedBrotliSettings 2023-12-12 11:22:38 +01:00
Erik Arvstedt 1676445a51 update to NixOS 23.11 2023-12-12 11:22:38 +01:00
Erik Arvstedt 457f066e08 tests/trustedcoin: fix
Sometimes trustedcoin outputs `tip: 0`.
Check for `returning block` instead.
2023-11-28 18:33:27 +00:00
Erik Arvstedt e784e0ceb8 presets/wireguard: make compatible with secure-node preset
Disable Tor enforcement set by the secure-node preset.
2023-11-01 18:29:32 +01:00
Erik Arvstedt 1de259485b mempool: add module 2023-10-31 13:44:04 +01:00
Erik Arvstedt f0bf94cc5a mempool: init at 2.5.0 2023-10-30 11:58:24 +01:00
Erik Arvstedt 8cdedac046 bitcoind-rpc-public-whitelist: add getindexinfo 2023-10-30 11:58:24 +01:00
Erik Arvstedt a66c9992d3 tests/trustedcoin: fix test
Sometimes the trustedcoin plugin prevents clightning from starting up
in an offline environment.
2023-10-23 12:12:29 +00:00
Erik Arvstedt 742fd8fdd0 examples/flake.nix: add inputs.nixpkgs
To make this template look more like a regular system flake.
2023-10-23 11:47:34 +02:00
Erik Arvstedt 89ea349312 examples/flake.nix: add comments and extra service
Like in importable-configuration.nix
2023-10-19 09:48:50 +02:00
Erik Arvstedt 1fad7c730b update nixpkgs
btcpayserver: 1.11.4 -> 1.11.6
fulcrum: 1.9.1 -> 1.9.2
lnd: 0.16.3-beta -> 0.17.0-beta
nbxplorer: 2.3.65 -> 2.3.66

Includes fix for curl CVE-2023-38545 (https://github.com/NixOS/nixpkgs/pull/260381)
2023-10-17 21:10:37 +02:00
Erik Arvstedt fc1466e743 Revert "clightning: don't cleanup socket on startup"
Also, add a detailed comment.

Without this commit, clightning client services may fail to start
due to clightning RPC connection failures.
2023-10-08 21:39:46 +02:00
Erik Arvstedt b63798ff46 rtl: 0.14.0 -> 0.14.1 2023-10-08 20:42:33 +02:00
Erik Arvstedt c14ebd230c clighting-rest: 0.10.5 -> 0.10.7 2023-10-08 20:42:33 +02:00
Erik Arvstedt 90ce68cb16 treewide: ensure services are started after secrets setup
Now all services that access secrets only run after the secrets setup
has finished.

Previously, we assumed that the systemd `after` dependency is
transitive, i.e. that adding an `after = [ "bitcoind.service" ]`
to a service implicitly pulled in the `after` dependency to
`nix-bitcoin-secrets.target` (which is defined for `bitcoind`).
This is not the case. Services could start before secrets setup
had finished, leading to service failure.
2023-10-08 13:56:56 +02:00
Erik Arvstedt 26cc9e4b60 bitcoin: add shell completions
Backport of https://github.com/NixOS/nixpkgs/pull/256091
2023-09-19 14:19:38 +02:00
Erik Arvstedt b6df5cb130 clboss: 0.13A -> 0.13 2023-09-09 14:35:35 +02:00
Erik Arvstedt ff30af6ed3 pkgs/bitcoind: use pkgs instead of pkgsUnstable
All deps required by `bitcoind` are available in `pkgs`.
2023-09-01 01:12:34 +02:00
Erik Arvstedt 27e52fc565 dev-scenarios: fix comment 2023-08-20 10:54:46 +02:00
Erik Arvstedt 7dcf307925 flake-info-sandboxed: clarify that sandbox is offline 2023-08-20 10:54:46 +02:00
Erik Arvstedt c22365d4a2 minimal-vm.nix: improve login text
- Add `bitcoin-cli` cmd
- Remove leading dashes to for easier copying and pasting
2023-08-20 10:54:45 +02:00
Erik Arvstedt 32ce2b567c examples/README: make relative location of configuration.nix explicit 2023-08-20 10:54:45 +02:00
Erik Arvstedt 8303a65f0c configuration.nix: add nodeinfo 2023-08-20 10:54:45 +02:00
Erik Arvstedt 073161b044 secrets: add comment 2023-08-20 10:54:45 +02:00
Erik Arvstedt e253b89858 clightning: depend on actual bitcoind package 2023-08-20 10:52:50 +02:00
Erik Arvstedt b85aac9ba1 clightning: don't cleanup socket on startup
This is now taken care of by clightning itself.
2023-08-19 12:24:31 +02:00
Erik Arvstedt 329fbac404 docs/install: don't enter examples shell while creating node config
1. This simplifies the setup

2. Fixes a bug where a user skipped step 4.6 (run `nix-shell`) which
   he deemed superfluous because a Nix shell was already active.
   This caused an error during deployment.
2023-08-18 16:28:15 +02:00
Erik Arvstedt 7ec5830169 update nixpkgs
btcpayserver: 1.10.3 -> 1.11.2
2023-08-18 13:36:19 +02:00
Erik Arvstedt 4e8369705d dev: add trustedcoin 2023-08-03 18:40:13 +02:00
Erik Arvstedt ac59f93e63 trustedcoin: add regtest support, reenable test 2023-08-03 18:40:13 +02:00
Erik Arvstedt aa418869b3 tests/trustedcoin: extract fn 2023-08-03 18:40:12 +02:00
Erik Arvstedt 6de5029c49 tests/trustedcoin: refactor
- No need to wait for bitcoind:
  clightning being active implies that bitcoind is active.

- Remove redundant log checks
2023-08-03 18:40:12 +02:00
Erik Arvstedt 53ea447ab7 trustedcoin: add option tor.proxy
By disabling `trustedcoin.tor.proxy` and enabling `clightning.tor.proxy`,
`trustedcoin` can be used without Tor proxying, while clighting still
uses Tor for lightning layer connections.

Previously, disabling Tor for `trustedcoin` required to also disable
Tor for clightning.

Also fix the workaround in the docs for the trustedcoin Tor connection issues:
The previous config snippet only affected systemd hardening settings,
but didn't disable Tor for trustedcoin.
2023-08-03 18:40:12 +02:00
Erik Arvstedt 31b76f1ffe clightning: add option useBcliPlugin
This decouples modules `clightning` and `trustedcoin`.
`clightning` no longer depends on `trustedcoin`, which restores
the acyclic dependency graph described in `modules.nix`
2023-08-03 18:40:12 +02:00
Erik Arvstedt f3e9c644e3 clightning-plugins/trustedcoin: improve docs 2023-08-03 17:14:40 +02:00
Erik Arvstedt 7640c69d79 tests/clightning-plugins: enable active plugin test for trustedcoin 2023-08-03 01:20:05 +02:00
Erik Arvstedt 57455eb897 tests/clightning-plugins: set actual clboss pkg path 2023-08-03 01:20:04 +02:00
Erik Arvstedt dca6813d6b tests/clightning-plugins: extract variable 2023-08-03 01:20:04 +02:00
Erik Arvstedt 858ab1cfd6 clightning: revert whitespace changes 2023-08-03 01:20:04 +02:00
Erik Arvstedt 14ca8b461b rtl: fix lnd, lightning-loop connection errors
lnd and lightning-loop resolve `localhost` to an IPv4 address when
creating RPC sockets.

Since NixOS 23.05, RTL (nodejs) resolves `localhost` to an IPv6
address when connecting to lnd and lightning-loop, which leads to
connection errors.

To fix these and other potential errors, replace all instances
of `localhost` with `127.0.0.1`.
2023-07-29 19:07:10 +02:00
Erik Arvstedt e658209d56 run-tests.sh: fix building tests for Nix ≥ 2.15 2023-07-19 17:22:01 +02:00
Erik Arvstedt bb2e88cec2 fix python packages for nixos 23.05 2023-07-19 17:22:01 +02:00
Erik Arvstedt e31cc686f2 run-tests: make compatible with new shellcheck version 2023-07-19 17:22:01 +02:00
Erik Arvstedt 76dc7b92e1 examples/deploy-container.sh: add extra-container version check
It now uses the same version check as
make-container.sh (which is called by run-tests.sh)
2023-07-19 17:22:01 +02:00
Erik Arvstedt 6c2d1108a4 update the required extra-container version for nixos 23.05 2023-07-19 17:22:01 +02:00
Erik Arvstedt e2cce7daa8 update to nixos 23.05 2023-07-19 17:22:01 +02:00
Erik Arvstedt 55c64d8dff update nixpkgs
clightning: 23.05.1 -> 23.05.2
lightning-pool: 0.5.3-alpha -> 0.6.4-beta
2023-07-19 17:22:01 +02:00
Erik Arvstedt bd77b89fea rtl, clightning-rest: update to nodejs 18
16 is no longer supported by NixOS 23.05.
18 is the latest LTS version.
2023-07-19 17:22:01 +02:00
Erik Arvstedt 5eaf104efe secure-node: add sudo shell alias for doas
A convenience helper which allows running most `sudo` cmds while
`doas` is enabled.

This is safe because all args supported by both `sudo` and
`doas` that lead to command execution (like `-u <user>`)
have identical semantics.
2023-07-10 07:22:00 +02:00
Erik Arvstedt 6510f269f6 release: add nixos-* version branch
Best practice for flakes containing NixOS modules.

`push-release` now pushes to an extra branch named `nixos-<version>`,
alongside branch `release`.
This allows users to track a specific NixOS release, so that their
config doesn't break when nix-bitcoin switches to a new NixOS
release.
2023-07-09 13:13:05 +02:00
Erik Arvstedt dd532d4738 push-release: fix OAUTH_TOKEN error handling 2023-07-09 13:07:29 +02:00
Erik Arvstedt a2b45e00c7 push-release: auto-create release version number 2023-07-09 13:07:29 +02:00
Erik Arvstedt 0ce3fb1c94 push-release: use curl -fSs
Best practice when using curl in scripts.
2023-07-09 13:07:29 +02:00
Erik Arvstedt 40c5419a75 push-release: rename TAG_NAME -> releaseVersion
More precise name.
2023-07-09 13:07:29 +02:00
Erik Arvstedt 50aa13c3b4 clightning-rest: 0.10.4 -> 0.10.5 2023-06-29 12:48:25 +02:00
Erik Arvstedt 26b35120ad tests/trustedcoin: remove from CI, disable temporarily
- Don't spin up a CI node for the minor `trustedcoin` test.
- Add the test to `run-tests.sh`, but disable it because it
  occasionally fails.
2023-06-26 00:10:31 +02:00
Erik Arvstedt edcf39daf5 clightning-rest: 0.10.3 -> 0.10.4 2023-06-21 23:09:39 +02:00
Erik Arvstedt bed10d1fca versioning: improve configVersion description 2023-06-09 21:51:20 +02:00
Erik Arvstedt 1b741c7cc1 clightning-plugins/prometheus: fix patch not being applied
`patchPhase` can't be used with `buildCommand`.
2023-06-09 14:40:32 +02:00
Erik Arvstedt af87d5958a obsolete-options: simplify removal of clightning plugin commando 2023-06-02 10:50:11 +00:00
Erik Arvstedt 9b575e4f3f test/backups: check that bitcoind stops without errors 2023-06-02 10:50:11 +00:00
Erik Arvstedt 8a791b754e rtl: 0.13.6 -> 0.14.0 2023-06-02 10:50:11 +00:00
Erik Arvstedt 29a95ea311 clightning-rest: update module to v0.10.3 2023-06-02 10:49:35 +00:00
Erik Arvstedt 67475f768e clightning-rest: 0.9.0 -> 0.10.3 2023-06-02 10:49:35 +00:00
Erik Arvstedt fe76516790 bitcoind: update module to v25.0 2023-06-02 10:49:25 +00:00
Erik Arvstedt 2166bfd1ee clboss: deprecate, add clighting 23.05 compatibility 2023-05-29 06:41:38 +00:00
Erik Arvstedt 1d69c9c824 lnd: fix non-static patch URL 2023-05-07 22:30:31 +02:00
Erik Arvstedt 9f3daab64f lnd: fix cert key format bug 2023-05-07 21:11:00 +02:00
Erik Arvstedt 744d8fe379 update nixpkgs
fulcrum: 1.9.0 -> 1.9.1
lightning-loop: 0.20.0-beta -> 0.23.0-beta
lnd: 0.15.5-beta -> 0.16.2-beta
2023-05-06 23:14:46 +02:00
Erik Arvstedt cea69b73d2 nodeinfo: enable required option nix-bitcoin.operator 2023-03-11 20:15:14 +01:00
Erik Arvstedt 27d95fda85 nodeinfo/lnd: add onion_rest_address 2023-03-11 20:10:55 +01:00
Erik Arvstedt 54a21874ae nodeinfo/lnd: add rest_address 2023-03-11 20:10:55 +01:00
Erik Arvstedt a4bfefd562 add presets/wireguard.nix
This allows using `lndconnect` via a direct WireGuard connection.
2023-03-11 20:10:54 +01:00
Erik Arvstedt 477e1709fb 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-02-27 14:39:29 +01:00
Erik Arvstedt f996ef37d9 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-02-27 14:39:29 +01:00
Erik Arvstedt b4bc621b8c rename lndconnect-onion.nix -> lndconnect.nix 2023-02-27 14:39:29 +01:00
Erik Arvstedt 907cfe4f4c docs/services: improve title, fix numbering 2023-02-27 14:39:29 +01:00
Erik Arvstedt 3a2730d287 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-02-27 12:44:08 +00:00
Erik Arvstedt bf8de6744e README: add mempool extension module 2023-02-19 22:02:23 +01:00
Erik Arvstedt c12ff6251d README: add some module descriptions 2023-02-04 13:22:41 +01:00