1552 Commits

Author SHA1 Message Date
Jonas Nick
65039be656
docs: Remove duplicate instructions 2020-03-30 10:57:01 +02:00
Jonas Nick
455c5664c9
docs: Replace tabs with spaces 2020-03-30 10:57:01 +02:00
Jonas Nick
8aa4714979
docs: Update NixOS version 2020-03-30 10:57:00 +02:00
Erik Arvstedt
9df22a2764
add deploy-qemu-vm.sh example 2020-03-30 10:56:57 +02:00
Jonas Nick
548ced1994
README: Add Example section 2020-03-30 10:55:50 +02:00
Jonas Nick
44ccbb91d0
Clean up development shell.nix 2020-03-30 10:49:15 +02:00
Erik Arvstedt
abcee651d3
add deploy-container.sh 2020-03-30 10:49:15 +02:00
Erik Arvstedt
e398674964
run-tests.sh: fix leaking tmp files outside TMPDIR
- Move vm image (NIX_DISK_IMAGE) from $TMP to $TMPDIR
- Set $PWD

Also:
- Simplify mktemp command
- USE_TMPDIR=1: Don't create extra dir inside $TMPDIR
2020-03-29 18:51:35 +02:00
Erik Arvstedt
b07c77f4a4
secrets.nix: remove obsolete comment 2020-03-29 18:51:34 +02:00
Erik Arvstedt
3a606608fb
remove custom no-upnp bitcoind builds
Disabling upnp via compilation brings no substantial security benefits.
There's no way to inadvertently enable upnp, it must be set explicitly
via bitcoind.extraConfig.

But it's a huge hassle for new users who have to recompile bitcoind
before being able to use nix-bitcoin.

Also, elementsd is currently built with upnp support by default.
2020-03-26 10:14:03 +01:00
Erik Arvstedt
5dadea310c
add deploy-nixops.sh 2020-03-24 21:43:22 +00:00
Erik Arvstedt
0c74c365de
mention performance loss with hardened kernel profile 2020-03-24 21:43:22 +00:00
Erik Arvstedt
f3121892ef
move main module import to configuration.nix 2020-03-24 21:43:21 +00:00
Erik Arvstedt
0c0978c007
extract module 'deployment/nixops.nix', add option 'deployment.secretsDir' 2020-03-24 21:43:21 +00:00
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