Commit Graph
100 Commits
Author SHA1 Message Date
Erik Arvstedt 76ea066809 trustedcoin: 0.8.2 -> 2024-11-15
Supports bitcoind 28.0.
2024-11-15 19:37:56 +01:00
Erik Arvstedt ca96e1959e lnd: make ExecStartPost extensible
By wrapping the value in a list, users can add other `ExecStartPost` scripts.
The previous scalar value could only be replaced, but not merged with
other definitions.
2024-11-06 16:48:30 +01:00
Erik Arvstedt 328a28ec9c update nixpkgs
clightning: 24.08 -> 24.08.1
fulcrum: 1.11.0 -> 1.11.1
hwi: 3.0.0 -> 3.1.0
2024-09-23 19:58:47 +02:00
Erik Arvstedt 8e34b25164 btcpayserver: fix lnd with "bind to any" restAddress 2024-08-29 20:34:36 +02:00
Erik Arvstedt 98692a35c1 clboss: use pkg from nixpkgs (0.13.1 -> 0.13.2) 2024-08-16 14:19:19 +02:00
Erik Arvstedt cf3f0dbb2d joinmarket: add option settings
Joinmarket settings can now be freely specified.
2024-08-11 20:16:56 +02:00
Erik Arvstedt da625fc13d bitcoind.rpc.users: improve example
Add RPC entries that don't exist in the public whitelist.
2024-07-31 18:13:29 +02:00
Erik Arvstedt a04c15958a btcpayserver: remove redundant RPC entry from whitelist
`getpeerinfo` already exists in the public whitelist.
2024-07-31 18:13:29 +02:00
Erik Arvstedt fee9dc8c17 bitcoind-rpc-public-whitelist: add getnodeaddresses
`getnodeaddresses` returns addresses of peers the bitcoind instance
has seen over its lifetime. It's safe for public use.
2024-07-31 18:13:29 +02:00
Erik Arvstedt da2e473158 joinmarket: don't set default config options
These options are set by default in `jmclient/configure.py` and don't
need to be repeated.

Some options, like those in section `POLICY`, might be assigned more
suitable default values in future joinmarket releases, so don't override
them in nix-bitcoin.
2024-07-29 11:24:37 +02:00
Erik Arvstedt 74eb9a17b6 joinmarket/yieldgenerator: add docs link to description 2024-07-29 11:22:47 +02:00
Erik Arvstedt 5694408d3a joinmarket: remove deleted option txfee 2024-07-27 19:55:29 +02:00
Erik Arvstedt 2a9489ec0b tests/flake: check flake outputs for all systems
Now all `supportedSystems` from flake.nix are checked instead of only
the native system of the `nix flake check` process.
2024-07-20 22:46:57 +02:00
Erik Arvstedt b7bce52da9 examples: fix call to start-bash-session.sh
Ensure that the file relative to the example scripts is called.
Previously, the unqualified call would give precedence to source files in
PATH. This could lead to the wrong file being called when dir
`helper` (containing another file named `start-bash-session.sh`) was in PATH.
2024-07-20 22:41:18 +02:00
Erik Arvstedt 5d0907b064 test/nixos-search: fix running flake-info in an offline environment 2024-07-20 22:41:18 +02:00
Erik Arvstedt 3cc6010658 test/nixos-search/ci-test.sh: remove unneded setup step
Sandbox is off by default in the `docker-nixpkgs` image.
2024-07-20 22:41:18 +02:00
Erik Arvstedt 22c1424552 backups: fix for nixos 24.05 2024-07-20 22:41:18 +02:00
Erik Arvstedt 69b3d5f1b3 bitcoind: fix module warning
Fix warning:
```
bitcoind.service is ordered after 'network-online.target' but doesn't depend on it
```
2024-07-20 22:41:18 +02:00
Erik Arvstedt e8e5d8cf4c python3Packages.joinmarket: update to nixos 24.05 2024-07-20 22:39:46 +02:00
Erik Arvstedt 7f8563afec python3Packages.pyln-proto: update to nixos 24.05
- coincurve has been bumped to v20 on pyln-proto master without further
  code changes, so using v19 is fine

- the breaking changes in cryptography 42 don't affect pyln-proto
  https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst
2024-07-18 20:57:00 +02:00
Erik Arvstedt 5d463b1677 treewide: remove buildPythonPackageWithDepsCheck
Requirements checking has been re-enabled in nixos 24.05.
2024-07-18 20:57:00 +02:00
Erik Arvstedt fc703c38c9 treewide: remove obsolete mdDoc 2024-07-18 20:57:00 +02:00
Erik Arvstedt 83eb1de24b update to nixos 24.05 2024-07-18 20:57:00 +02:00
Erik Arvstedt 7daab61431 rtl: remove unused pkg arg 2024-07-15 20:32:26 +02:00
Erik Arvstedt 1f32792d31 bitcoind-rpc-public-whitelist: add getpeerinfo
Required by lnd 0.18.0.
2024-07-08 12:54:56 +02:00
Erik Arvstedt 44addcb5aa treewide: use substituteInPlace --replace-fail
Now substitution failures result in a script error.
This has recently been backported to nixpkgs 23.11.
2024-05-24 14:55:00 +02:00
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