b36ef706fb
This makes it possible to only start IPFS when needed. So a user’s IPFS daemon only starts when they actually use it. A few important warnings though: - This probably shouldn’t be mixed with services.ipfs.autoMount since you want /ipfs and /ipns aren’t activated like this - ipfs.socket assumes that you are using ports 5001 and 8080 for the API and gateway respectively. We could do some parsing to figure out what is in apiAddress and gatewayAddress, but that’s kind of difficult given the nonstandard address format. - Apparently? this doesn’t work with the --api commands used in the tests. Of course you can always start automatically with startWhenNeeded = false, or just running ‘systemctl start ipfs.service’. Tested with the following test (modified from tests/ipfs.nix): import ./make-test-python.nix ({ pkgs, ...} : { name = "ipfs"; nodes.machine = { ... }: { services.ipfs = { enable = true; startWhenNeeded = true; }; }; testScript = '' start_all() machine.wait_until_succeeds("ipfs id") ipfs_hash = machine.succeed("echo fnord | ipfs add | awk '{ print $2 }'") machine.succeed(f"ipfs cat /ipfs/{ipfs_hash.strip()} | grep fnord") ''; }) Fixes #90145 Update nixos/modules/services/network-filesystems/ipfs.nix Co-authored-by: Florian Klink <flokli@flokli.de> |
||
---|---|---|
.. | ||
config | ||
hardware | ||
i18n/input-method | ||
installer | ||
misc | ||
profiles | ||
programs | ||
security | ||
services | ||
system | ||
tasks | ||
testing | ||
virtualisation | ||
module-list.nix | ||
rename.nix |