mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 12:29:02 +02:00
d4fcb44dcc
This fixes a panic of the kubo daemon which could occur under certain conditions when the daemon was starting. It was caused by the `ipfs.service` unit not depending on the `ipfs-api.socket` and `ipfs-gateway.socket` units with `Wants=`. This allows the `ipfs.service` to be started manually or by `nixos-rebuild` without the sockets being set up before that. When that happens, the daemon won't know about these sockets and will only use what is set in `services.kubo.settings.Addresses.Gateway` and `services.kubo.settings.Addresses.API`. By default the `API` is an empty list in NixOS though. The daemon doesn't like this at all and panics on startup, see https://github.com/ipfs/kubo/issues/10056. With this commit, starting `ipfs.service` will first set up the two sockets before starting the actual service. Adding the `Sockets=` option implicitly adds a `Wants=` for the sockets and this is exactly what we need. See https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html#Implicit%20Dependencies . This can be checked with `systemctl show ipfs.service`. This should probably be upstreamed to the unit file in the Kubo repo. The problem can be reproduced in the following way: - Add `services.kubo.enable = true` to `/etc/nixos/configuration.nix` - `sudo nixos-rebuild switch` (this may already fail, not sure why it's not deterministic for me) - `sudo systemctl stop ipfs-api.socket` - `sudo systemctl stop ipfs-gateway.socket` - `sudo systemctl stop ipfs.service` - `sudo systemctl start ipfs.service` Fixes #248447. |
||
---|---|---|
.. | ||
admin | ||
amqp | ||
audio | ||
backup | ||
blockchain/ethereum | ||
cluster | ||
computing | ||
continuous-integration | ||
databases | ||
desktops | ||
development | ||
display-managers | ||
editors | ||
finance | ||
games | ||
hardware | ||
home-automation | ||
logging | ||
matrix | ||
misc | ||
monitoring | ||
network-filesystems | ||
networking | ||
printing | ||
scheduling | ||
search | ||
security | ||
system | ||
torrent | ||
tracing | ||
ttys | ||
video | ||
wayland | ||
web-apps | ||
web-servers | ||
x11 |