bitcoind: move rpc user config to bitcoind

This enables modules-only usage.
The privileged user is needed by bitcoind (cli), the public user is
needed by other services.
This commit is contained in:
Erik Arvstedt 2020-08-26 21:15:34 +02:00
parent 876cfadf1a
commit 4790c601a1
No known key found for this signature in database
GPG key ID: 33312B944DD97846
3 changed files with 78 additions and 72 deletions

View file

@ -285,10 +285,23 @@ in {
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package (hiPrio cfg.cli) ];
services.bitcoind = mkIf cfg.dataDirReadableByGroup {
disablewallet = true;
sysperms = true;
};
services.bitcoind = mkMerge [
(mkIf cfg.dataDirReadableByGroup {
disablewallet = true;
sysperms = true;
})
{
rpc.users.privileged = {
name = "bitcoinrpc";
passwordHMACFromFile = true;
};
rpc.users.public = {
name = "publicrpc";
passwordHMACFromFile = true;
rpcwhitelist = import ./bitcoind-rpc-public-whitelist.nix;
};
}
];
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0770 ${cfg.user} ${cfg.group} - -"