Merge pull request #213816 from karmanyaahm/karmanyaahm/nixos/kubo

This commit is contained in:
Sandro 2023-04-14 00:48:37 +02:00 committed by GitHub
commit f9e70759cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 6 deletions

View File

@ -334,6 +334,8 @@ In addition to numerous new and upgraded packages, this release has the followin
[headscale's example configuration](https://github.com/juanfont/headscale/blob/main/config-example.yaml)
can be directly written as attribute-set in Nix within this option.
- `services.kubo` now unmounts `ipfsMountDir` and `ipnsMountDir` even if it is killed unexpectedly when 'autoMount` is enabled.
- `nixos/lib/make-disk-image.nix` can now mutate EFI variables, run user-provided EFI firmware or variable templates. This is now extensively documented in the NixOS manual.
- `services.grafana` listens only on localhost by default again. This was changed to upstreams default of `0.0.0.0` by accident in the freeform setting conversion.

View File

@ -319,6 +319,10 @@ in
# change when the changes are applied. Whyyyyyy.....
ipfs --offline config replace -
'';
postStop = mkIf cfg.autoMount ''
# After an unclean shutdown the fuse mounts at cfg.ipnsMountDir and cfg.ipfsMountDir are locked
umount --quiet '${cfg.ipnsMountDir}' '${cfg.ipfsMountDir}' || true
'';
serviceConfig = {
ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${kuboFlags}" ];
User = cfg.user;

View File

@ -50,12 +50,20 @@ import ./make-test-python.nix ({ pkgs, ...} : {
machine.succeed("test ! -e /var/lib/ipfs/")
# Test FUSE mountpoint
ipfs_hash = fuse.succeed(
"echo fnord3 | ipfs --api /ip4/127.0.0.1/tcp/2324 add --quieter"
)
# The FUSE mount functionality is broken as of v0.13.0.
# The FUSE mount functionality is broken as of v0.13.0 and v0.17.0.
# See https://github.com/ipfs/kubo/issues/9044.
# fuse.succeed(f"cat /ipfs/{ipfs_hash.strip()} | grep fnord3")
# Workaround: using CID Version 1 avoids that.
ipfs_hash = fuse.succeed(
"echo fnord3 | ipfs --api /ip4/127.0.0.1/tcp/2324 add --quieter --cid-version=1"
).strip()
fuse.succeed(f"cat /ipfs/{ipfs_hash} | grep fnord3")
# Force Kubo to crash and wait for it to restart
# Tests the unmounting of /ipns and /ipfs
fuse.systemctl("kill --signal=SIGKILL ipfs.service")
fuse.wait_for_unit("ipfs.service", timeout = 30)
fuse.succeed(f"cat /ipfs/{ipfs_hash} | grep fnord3")
'';
})