438 Commits

Author SHA1 Message Date
Jonas Nick
87d0286498
Change the nix-bitcoin deployment from forking this repo to importing the module
Instead of forking this repo, it is now recommended that users simply import the
nix-bitcoin module. This commit adds an example directory that contains the
network/ examples and a shell.nix for deployment with nixops.
2020-03-24 21:43:17 +00:00
Jonas Nick
2d51c722cc
Merge #146: lnd: add package option
106dcacb61398dd130773cddf6fe88d31d461ef5 lnd: add package option (Jonas Nick)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: 95f4fa40c34421872ca8940c6ad87775a8c7e75e8b3d5df2ed3a348c1f6212ae7b090b889831bc9ee6ddbcb26e9e237bfbd08542a0a5b7f92b06f2591182710f
2020-03-09 09:04:17 +00:00
Jonas Nick
106dcacb61
lnd: add package option 2020-03-09 08:22:00 +00:00
Jonas Nick
3158e39009
Merge #137: Add nixops19_09 to default pkgs.
28cf7ebe745b667ff70de106d09716e364f8881d Add nixops19_09 to default pkgs. (Jonas Nick)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: e10f7d8d94df506cc5848477956da6cd3cc1c7ee87950df8c09da27e2fcac87b97c7dff1facafde5b114a9d7f6076f492956c2b684a7776b2566e86ba78a9d1d
2020-03-08 14:07:04 +00:00
Jonas Nick
28cf7ebe74
Add nixops19_09 to default pkgs.
It's helpful to be able to use this packages when importing nix-bitcoin.
2020-03-08 14:00:23 +00:00
Jonas Nick
d62dac450a
Merge #144: Electrs fixes
5596bcf4fba7362340e7a960cfeb00994d81b353 bitcoind: set default rpcuser (Erik Arvstedt)
c4cf323873b040a6ae9e0f8834020dd0455b51a8 electrs: add option 'extraArgs' (Erik Arvstedt)
e731d7123240b1354f49fb223549835b44dd8549 electrs: add option 'address' (Erik Arvstedt)
1e62456ed1890c249fb6b631094ce17153167231 electrs: test RPC connection to bitcoind (Erik Arvstedt)
0be67c325e29f3ef6826fd67c3f0433791be48dc electrs: use cfg.user, cfg.group (Erik Arvstedt)
48be5a79faff1984e2d472883ee04cda941c7d9b electrs.enable: use mkEnableOption (Erik Arvstedt)
b75b2a16264f24b8b0fa3353142bdc08ba178432 electrs: improve description (Erik Arvstedt)
fa3455d01fe0cf62fe69c6efe115797be9c4dcf8 electrs: don't leak bitcoinrpc secret through process ARGV (Erik Arvstedt)
f30aadbef26c406d3fb43f1cc583e4b57c72da79 electrs: enable unstable build, pin pkg to unstable (Erik Arvstedt)
5c6571654efef7c92520262a8b27ab7bbd1ecbbf electrs: 0.7.1 -> 0.8.3 (Erik Arvstedt)
47481b26421f992064a459cc5a756feb3cdb005b electrs: quote dataDir in shell cmd (Erik Arvstedt)
8fb33d1099bbd98d96aba43aecfedb61e9bfd739 electrs: use bitcoind.dataDir option (Erik Arvstedt)
45ba1f1fb3a5db4eae73b4056572db00a02499ea electrs: don't print timestamps to log (Erik Arvstedt)
88080a58bfebbacdc5c5e5ee2e732146c12fe7e0 electrs: wrap long lines in preStart (Erik Arvstedt)
301bb91ae51cef360bd280a37f7453c8e88aa4aa simplify setting high-memory options (Erik Arvstedt)
93fd2329b811af10c888a7eba1d319c663c26e8b electrs: make nginx TLS proxy optional (Erik Arvstedt)
acde24ce439efa65e56a1f9581b4263600d9e04d electrs: move user/group definitions to bottom (Erik Arvstedt)
148327326b8319fcf71718fae4adc590fd5964da electrs: formatting (Erik Arvstedt)
cce9932b621a26f698723cc31fd3f79a02abf034 make pinned pkgs accessible through pkgs/default.nix (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 5596bcf4fba7362340e7a960cfeb00994d81b353

Tree-SHA512: 2064b352839a1787ccb05930ac2cf1f0d3596aaea81135086e8a91b9eebf319868087a27cdf9f2fd0152ab652d338680cdf9e866185e86777fcdd87931651b39
2020-03-04 21:03:48 +00:00
Erik Arvstedt
5596bcf4fb
bitcoind: set default rpcuser
We're already setting a default rpcpassword, so we should set an
accompanying rpcuser so that rpc clients like electrs work out of the box.
2020-03-04 18:09:52 +01:00
Erik Arvstedt
c4cf323873
electrs: add option 'extraArgs'
Electrs allows defining settings multiple times via cmdline args, but
not via config files.
So 'extraArgs' is the only way to implement overridable settings,
'extraOptions' wouldn't work.
2020-03-04 18:09:52 +01:00
Erik Arvstedt
e731d71232
electrs: add option 'address' 2020-03-04 18:09:52 +01:00
Erik Arvstedt
1e62456ed1
electrs: test RPC connection to bitcoind 2020-03-04 18:09:52 +01:00
Erik Arvstedt
0be67c325e
electrs: use cfg.user, cfg.group 2020-03-04 18:09:51 +01:00
Erik Arvstedt
48be5a79fa
electrs.enable: use mkEnableOption 2020-03-04 18:09:51 +01:00
Erik Arvstedt
b75b2a1626
electrs: improve description 2020-03-04 18:09:51 +01:00
Erik Arvstedt
fa3455d01f
electrs: don't leak bitcoinrpc secret through process ARGV
Supply secret via private config file instead.
2020-03-04 18:09:51 +01:00
Erik Arvstedt
f30aadbef2
electrs: enable unstable build, pin pkg to unstable
stable's buildRustPackage is painfully slow when evaluating (adds >1 sec
even on a fast machine).

This is fixed (https://github.com/NixOS/nixpkgs/pull/69274) in unstable.
2020-03-04 18:09:50 +01:00
Erik Arvstedt
5c6571654e
electrs: 0.7.1 -> 0.8.3
Use buildRustPackage instead of buildRustCrate (via crate2nix).

buildRustPackage builds the whole executable and its libraries in a
single `cargo build` process.

With the create2nix approach each library is built in a separate derivation,
directly using rustc instead of the cargo wrapper.

Benefits of buildRustPackage:
- Much simpler to maintain
- Package derivation evaluates much faster

Benefits of crate2nix:
- Build can be distributed over multiple build hosts
- Better sharing of common dependencies between different builds
- More fine-grained rebuilding on build failures

In nixpkgs buildRustPackage is used for almost all Rust pkgs, it's
also a better fit for our use case.
2020-03-04 18:09:50 +01:00
Erik Arvstedt
47481b2642
electrs: quote dataDir in shell cmd 2020-03-04 18:09:50 +01:00
Erik Arvstedt
8fb33d1099
electrs: use bitcoind.dataDir option 2020-03-04 18:09:50 +01:00
Erik Arvstedt
45ba1f1fb3
electrs: don't print timestamps to log
Already provided by journald.
2020-03-04 18:09:49 +01:00
Erik Arvstedt
88080a58bf
electrs: wrap long lines in preStart 2020-03-04 18:09:49 +01:00
Erik Arvstedt
301bb91ae5
simplify setting high-memory options 2020-03-04 18:09:49 +01:00
Erik Arvstedt
93fd2329b8
electrs: make nginx TLS proxy optional
Electrs users shouldn't be forced to run a TLS proxy.
2020-03-04 18:09:48 +01:00
Erik Arvstedt
acde24ce43
electrs: move user/group definitions to bottom
Consistent with other service defs.
2020-03-04 18:09:48 +01:00
Erik Arvstedt
148327326b
electrs: formatting 2020-03-04 18:09:48 +01:00
Erik Arvstedt
cce9932b62
make pinned pkgs accessible through pkgs/default.nix
Useful for developing and for importing pinned pkgs via config.nix.
2020-03-04 18:09:48 +01:00
Jonas Nick
aca23197d3
Merge #142: fix qemu error on travis
4d8590f8ed0bc136838dd5dd0e87aa5574983a72 fix qemu error on travis (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 4d8590f8ed0bc136838dd5dd0e87aa5574983a72

Tree-SHA512: 0576e4dc0a77261760614d95dbfb4b706543f2a7d56d41f218d7b811944651f3450a7ba57fbbb373d735e48b6ae03b10a3fb30d71d0533bc76361b5ec6a6e081
2020-02-27 10:17:30 +00:00
Erik Arvstedt
4d8590f8ed
fix qemu error on travis 2020-02-27 01:28:20 +01:00
Jonas Nick
ea8d29d96f
Merge #141: Fix secrets setup
ad23b508e3199490709608bc26e9cddb49bb6805 {generate,setup}-secrets: remove process hardening (Erik Arvstedt)
89f9bedb9df71be71c4784c289026126e15c38a4 generate-secrets.nix: fix indentation (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK ad23b508e3199490709608bc26e9cddb49bb6805

Tree-SHA512: 1cb031f9dbfd3150316e4d4f365d37cb7f591910412ee3c70e01beda3498dbf514d4b620f257f32f64c6dcc4845659f45f69f5839e0b7401997320140530d2a0
2020-02-26 21:40:14 +00:00
Jonas Nick
a26a82ab90
Merge #138: Update nixpkgs (lnd 0.8.1 -> lnd 0.9.0, clightning 0.8.0 -> 0.8.1)
b6d7e81c31d52756b3b1054322b41e4c3901c14d Update nixpkgs (lnd 0.8.1 -> lnd 0.9.0, clightning 0.8.0 -> 0.8.1) (Jonas Nick)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK b6d7e81c31d52756b3b1054322b41e4c3901c14d

Tree-SHA512: 82e672a22543770fb08f9199f7c626451a8f112b6b981db39a21643133c85c46dff8ad23b07166633cd5efbf8f5063fe65e41cd0847f9c0f2dc4ec5a4c083750
2020-02-26 21:36:30 +00:00
Jonas Nick
56c69b5253
Merge #139: Convert nix-bitcoin extraConfig options to regular options
323b2a7f17da7f2717ecfecb3fe1cc8d75be11de Allow adding multiple nodes to bitcoind with the addnodes option and improve bitcoin module option descriptions (Jonas Nick)
ed6511c96e6a83e4f856fb6a7bd5bf21d8239aaa Document how to override attributes in configuration.nix (Jonas Nick)
9d3588e1de8e3fd516859f3beb7be3b0b628793f Convert nix-bitcoin extraConfig options to regular options (Jonas Nick)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: 02d7a38e41742f76979e2e12ae2195304a11a86c6547f5e1f3ff82b6031ad36b80d006a78cb4ec03fdfc4227ffdd60c5cc15bf898c32a3f213acaf2598da8eaf
2020-02-26 21:35:42 +00:00
Jonas Nick
323b2a7f17
Allow adding multiple nodes to bitcoind with the addnodes option and improve bitcoin module option descriptions 2020-02-26 21:34:18 +00:00
Erik Arvstedt
ad23b508e3
{generate,setup}-secrets: remove process hardening
ProtectSystem=full disables writing to /etc which is the default
secrets location.

Besides that, hardening is pointless for {generate,setup}-secrets which
don't read external input and are fully under our control.
2020-02-26 20:38:46 +01:00
Erik Arvstedt
89f9bedb9d
generate-secrets.nix: fix indentation 2020-02-26 20:38:46 +01:00
Jonas Nick
87129b10c1
Merge #140: CI build: print number of VM CPUs
31ad56950f6d35ba530942c814629a25b057f8f8 CI build: print number of VM CPUs (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 31ad56950f6d35ba530942c814629a25b057f8f8

Tree-SHA512: ff6c43d24f4121d0f1a89e82bb58e182ba044662cb00e7fc879168e7f697d171bc6fbed5d22d983fc6ded11fadbbb4e433133709bf4512882412ac8908e15156
2020-02-25 22:53:37 +00:00
Erik Arvstedt
31ad56950f
CI build: print number of VM CPUs 2020-02-25 22:51:57 +01:00
Jonas Nick
ed6511c96e
Document how to override attributes in configuration.nix 2020-02-23 19:30:32 +00:00
Jonas Nick
9d3588e1de
Convert nix-bitcoin extraConfig options to regular options 2020-02-23 19:22:07 +00:00
Jonas Nick
b6d7e81c31
Update nixpkgs (lnd 0.8.1 -> lnd 0.9.0, clightning 0.8.0 -> 0.8.1) 2020-02-23 18:30:39 +00:00
Jonas Nick
f78ccbac34
Merge #134: Update nixpkgs, spark-wallet and elementsd
83863c03e56fdea0cee48379d32ea03c35f99f35 use pinned nixpkgs-unstable for the test driver (Erik Arvstedt)
6fe647ecc45f2637dfd5f708c83c01a70e2edc4f spark-wallet, lightning-charge: specify mainchain network in clightning data dir (Erik Arvstedt)
eaaa6b87013b06e91c4bb24d703c603a755f1dd7 clightning: update to v0.8.0 (Erik Arvstedt)
7dd5f01527749837ca451208c8a043c0089b5cf2 lightning-charge: 0.4.7 -> 0.4.14 (Erik Arvstedt)
8eb234635847eb3228a47dcd7fb4c7acfb175588 elementsd 0.18.1.1 -> 0.18.1.3 (Jonas Nick)
d68b77c0caa5f8375f96c6b9b0e20c7bf651ecda spark-wallet 0.2.9 -> 0.2.12 (Jonas Nick)
4e7b67d5e7f6706f28a809357e7f152a341ed5ea Update nixpkgs (Jonas Nick)

Pull request description:

  nixpkgs updates include
  ```
  bitcoin: 0.18.1 -> 0.19.0.1
  clightning: 0.7.3 -> 0.8.0
  ```

Top commit has no ACKs.

Tree-SHA512: c5a681bdcd3b1e7180ef21f3e6e5c14b78e5cbbf183b1dd221acdd70a810fb23e07d8dee2a1860ac110a78c4830af718794d34a0600367939cc90cba3c9619ac
2020-01-16 09:06:56 +00:00
Erik Arvstedt
83863c03e5
use pinned nixpkgs-unstable for the test driver 2020-01-15 23:14:04 +00:00
Erik Arvstedt
6fe647ecc4
spark-wallet, lightning-charge: specify mainchain network in clightning data dir
This fixes warnings in each service.
2020-01-15 23:13:48 +00:00
Erik Arvstedt
eaaa6b8701
clightning: update to v0.8.0
To continue using inotify would be too complicated because we would also need to
monitor the creation of the 'bitcoin' subdirectory.
2020-01-15 23:13:19 +00:00
Erik Arvstedt
7dd5f01527
lightning-charge: 0.4.7 -> 0.4.14 2020-01-15 23:09:08 +00:00
Jonas Nick
8eb2346358
elementsd 0.18.1.1 -> 0.18.1.3 2020-01-13 08:23:19 +00:00
Jonas Nick
d68b77c0ca
spark-wallet 0.2.9 -> 0.2.12 2020-01-13 08:23:19 +00:00
Jonas Nick
4e7b67d5e7
Update nixpkgs 2020-01-13 08:23:11 +00:00
Jonas Nick
a985abcd21
Merge #133: Improve modularity, remove dependency on nixops, add modules test
187ff884dbf064ef80ebd47a3f49ca985cb0bdf5 add modules test (Erik Arvstedt)
826245484ec0af402a54f85c8f228b29c91db1f7 make secrets dir location configurable (Erik Arvstedt)
b1e13e9415f16180cdf7f2d23c209150471aa520 simplify secrets file format (Erik Arvstedt)
314272a228f974dc41c36ba2a9f3997d35ff7361 lnd, nanopos: move user and group definitions to the bottom (Erik Arvstedt)
766fa4f300511a7f0703327248bd9cc8cdbe0c3b travis: cache all build outputs with cachix (Erik Arvstedt)
b0e759160dcd29e2dfe0bd6471d39444e7d09123 travis: set NIX_PATH as early as possible (Erik Arvstedt)
c51bbcf104d3163366b91b2dfaa3e806f31cd02a travis: move comment (Erik Arvstedt)
7092dce0c77cfbb3e2a01a670c3a7618fca2a759 travis: remove use of deprecated statements (Erik Arvstedt)
190a92507cf395a359912f777c470cdd4d6dbef5 travis: split up scripts into statements (Erik Arvstedt)
10d6b04ac82226dd8c39da492ef63f1491b2dd65 support enabling clightning and lnd simultaneously (Erik Arvstedt)
ad7a519284eed218c2c9958c141f817c2abc9e93 bitcoind: wait until RPC port is open (Erik Arvstedt)
5536b64fb3c699ad0b24d165d5f3073be357e8c5 lnd: wait until wallet is created (Erik Arvstedt)
6f2a55d63ca9b4daf70a22e31285ced720697e0c lnd: wait until RPC port is open (Erik Arvstedt)
1868bef4625a2897eb03355099e5077739d07365 lnd: add option 'rpcPort' (Erik Arvstedt)
120e3e8cfea6221371ef5a939cbcb7138e3808dc lnd postStart: suppress curl response output (Erik Arvstedt)
3e86637327663ec8745294e12faf41d9fcb4f58e lnd postStart: poll for REST service availability (Erik Arvstedt)
795c51dc01efe72b58d33085490318d5991e969e lnd postStart: make more idiomatic (Erik Arvstedt)
6e58beae8a27908f9e3e6afbe0e620b5c964c791 lnd: use postStart option for script (Erik Arvstedt)
86167c6e6d3362a02055e9045981434d29c7cca5 clightning: wait until the RPC socket appears (Erik Arvstedt)
60c732a6a1cbbe8b6112f3517140f03481c97956 onion-chef: set RemainAfterExit, fix tor dependency (Erik Arvstedt)
2b9b3ba1c500e51c86c6cfb06fd49febe56e455d systemPackages: improve readability with shorter service references (Erik Arvstedt)
14ecb5511a29f61adacd0d4b45cf0c741604d138 liquid: add cli option (Erik Arvstedt)
cd5ed39b9cdde341325170c7e27b4ea0c9aca302 lnd: add cli option (Erik Arvstedt)
1833b158883cce8886cbeb21eab4e29ab267f3fb clightning: add cli option (Erik Arvstedt)
b90bf6691bf7f7bb53c1dd1ede188186bb141905 add generate-secrets.service (Erik Arvstedt)
644769421481818025419fe1f4274f9dc49fbd24 add generate-secrets pkg (Erik Arvstedt)
e34093a8aca06bbd1107bf90990869250a9de32d generate_secrets.sh: add opensslConf option (Erik Arvstedt)
9d14d5ba64a95c1154ec70c2d91440ddf16250d5 generate_secrets.sh: write secrets to working directory (Erik Arvstedt)
51fb0540017a1ae4a274ac5f24279799cde46f12 generate_secrets.sh: extract makepw command (Erik Arvstedt)
e3b47ce18a2183bc25c60072b5bf761e6ae4a51d add setup-secrets.service (Erik Arvstedt)
437b268433e7311f47de63ded2c066fe1a8c3567 extract make-secrets.nix (Erik Arvstedt)
f9c29b9318f4c20f4bf8a132f533b9b3e98886b4 simplify secret definitions (Erik Arvstedt)
cd0fd6926ba6f1223a3dc3d41dc49380853fb752 don't copy secret files to store during nixops deployment (Erik Arvstedt)
f0a36fe0c7415272db92f772733dc4d97b57cc58 add 'nix-bitcoin-services' option (Erik Arvstedt)
7aaf30501c570c31971f4a04bdfd7a9fa9217aeb nix-bitcoin-services: simplify formatting (Erik Arvstedt)
760da232e0145fed1016e1efa9bd7dca49d22631 add nix-bitcoin pkgs namespace (Erik Arvstedt)
6def181dbc28bbab431c132a475b931df4aac16a add modules.nix (Erik Arvstedt)
3b842e5fe773b9031b15ea2d0ae05749df079d02 add nix-bitcoin-secrets.target (Erik Arvstedt)
bbf2bbc04a80f951768860d7eba5b37fc067921d network.nix: simplify import of main config (Erik Arvstedt)
7e021a26295e345c6676f598448baaadc9ff33f0 simplify overlay.nix (Erik Arvstedt)
07dc3e04ac8a56b5200de64dab34ed8aac39e45e move bitcoinrpc group definition to bitcoind (Erik Arvstedt)
d61b185c3a03c67218a5b09a2e221978f82434ac simplify user and group definitions (Erik Arvstedt)

Pull request description:

  The nix-bitcoin modules consist of three fundamental components:
  1. a set of bitcoin-related modules for general use.
  2. an opinionated configuration of these modules (`nix-bitcoin.nix`), to be deployed on a
     dedicated machine.
  3. machinery for nixops deployment.

  This PR removes dependencies that reach from top to bottom in the list.
  This means that 1. is now usable on its own and that 2. can be used without 3.

  Besides improving nix-bitcoin's general usefulness, this
  - simplifies testing. This PR includes a Travis-enabled modules test using the NixOS testing framework.
  - paves the way for krops deployment.
  - unlocks direct deployment in NixOS containers which allows for super fast experimentation.

  ### Details
  Here are the unnecessary inter-component dependencies and how they're resolved by the commits. I'm using the numbering from the list above.

  - `1. -> 3.` The modules (1.) use the nixops-specific (3.) `keys` group.
    Resolved by `add nix-bitcoin-secrets.target`.

  - `1. -> 3.` 1. requires nixops-specific key services.
    Resolved by `add nix-bitcoin-secrets.target`.

  - `1. -> 2.` bitcoind needs the bitcoinrpc group which is defined in `nix-bitcoin.nix` (2.).
    Resolved by `move bitcoinrpc group definition to bitcoind`.

  Further obstacles for standalone usage of 1.:

  - We can't easily import 1. as a standalone module set.
    Resolved by `add modules.nix`.

  - Users of 1. shouldn't be forced to import nix-bitcoin's packages as top-level items in the pkgs namespace.
    Resolved by `add nix-bitcoin pkgs namespace`.

  ### Non-nixops deployments
  Commit `add setup-secrets.service` simplifies non-nixops deployment methods like containers, NixOS VMs or krops.

  Secrets can now deployed as follows:
  1. create local secrets.
  2. transfer secrets to machine.
  3. on the machine, `setup-secrets.service` creates extra secrets from `secrets.nix` and sets owner and
     permissions for all secrets.

  As krops integrates step 2. we now have all ingredients for automatic krops deployment.

  The service is complicated by the creation of secrets like `bitcoin-rpcpassword` that are composed of attrs from `secrets.nix` instead of being simply backed by a file like `lnd_key`. We could simplify this by creating all secret files locally.

  Running nix-bitcoin in NixOS containers gives you faster rebuild cycles when developing. [Here's](https://gist.github.com/5db4fa7dd3f1137920b58e39647116f6) an example.

  ### Test
  The last commits starting with `clightning: add cli option` are testing-related and mostly fix non-critical bugs that were exposed by the test.

  All `STABLE=1` builds from the Travis build matrix are implicit in the modules test.
  Should we remove these individual builds?

  Regarding commit `travis: cache all build outputs with cachix`:
  To replace my cache with a cache that's owned by you (maybe named `nix-bitcoin-ci`), run
  ```
  nix-shell -p travis --run 'travis encrypt CACHIX_SIGNING_KEY=... -r fort-nix/nix-bitcoin'
  ```
  where `...` is the value of `secretKey` in `~/.config/cachix/cachix.dhall`. Let me know the travis secret and I'll fixup the commit.

  ### Docs
  If you like the proposed changes, I'll add another PR with updates to the docs regarding the project layout, non-nixops deployment, and how to use nix-bitcoin within a larger NixOS config.

ACKs for top commit:
  jonasnick:
    ACK 187ff884dbf064ef80ebd47a3f49ca985cb0bdf5

Tree-SHA512: f4be65215c592a4f41bb7fa991a6d8d7c463cf631b88bf53051ca57ba280e7a60b8b09d0d1521345d5b656f844daa2166fff5d00a3105077c9e263465eacfb0a
2020-01-13 08:22:17 +00:00
Erik Arvstedt
187ff884db
add modules test
The build of package 'nodeinfo' is implicitly tested by the modules test.
2020-01-13 00:25:12 +01:00
Erik Arvstedt
826245484e
make secrets dir location configurable
Users of the nix-bitcoin modules shouldn't be forced to add an extra
dir under root.
The secrets location is unchanged for the default node config.
2020-01-13 00:25:12 +01:00
Erik Arvstedt
b1e13e9415
simplify secrets file format
Each secret file to be deployed is now backed by one local file.
This simplifies 'setup-secrets' and the secret definitions.
Also, with the old format it was not possible to add new secrets
to secrets.nix in a simple way.

Old secrets are automatically converted to the new format when running
nix-shell.

Using the new option 'nix-bitcoin.secrets', secrets are now directly
defined by the services that use them.
2020-01-13 00:25:11 +01:00