Commit Graph

373 Commits

Author SHA1 Message Date
Lassulus
da25b2382d
Merge pull request #280373 from h7x4/treewide-use-new-tmpfiles-api
treewide: use new tmpfiles API
2024-01-26 10:47:18 +01:00
h7x4
f5d513c573
treewide: use new tmpfiles api 2024-01-24 05:13:17 +01:00
Martin Weinelt
c2853e2588
Merge pull request #258680 from lf-/jade/remove-multiuser-netonline-dep
nixos/systemd: don't require network-online.target for multi-user.target
2024-01-19 12:49:23 +01:00
Sandro
eb09653fde
Merge pull request #266428 from lf-/jade/samba-fix-security-type 2024-01-19 12:29:19 +01:00
Jade Lovelace
6c5ab28fce nixos: fix a bunch of services missing dep on network-online.target
This was done by generating a truly hilarious configuration:

rg 'services\.[^.]+\.enable\t' opts-tags | cut -f1 > allonconfig.nix

The following were not tested due to other evaluation errors. They
should probably be manually audited.
services.amule
services.castopod
services.ceph
services.chatgpt-retrieval-plugin
services.clamsmtp
services.clight
services.dante
services.dex
services.discourse
services.dwm-status
services.engelsystem
services.foundationdb
services.frigate
services.frp
services.grocy
services.guacamole-client
services.hedgedoc
services.home-assistant
services.honk
services.imaginary
services.jitsi-meet
services.kerberos_server
services.limesurvey
services.mastodon
services.mediawiki
services.mobilizon
services.moodle
services.mosquitto
services.nextcloud
services.nullmailer
services.patroni
services.pfix-srsd
services.pgpkeyserver-lite
services.postfixadmin
services.roundcube
services.schleuder
services.self-deploy
services.slskd
services.spacecookie
services.statsd
services.step-ca
services.sympa
services.tsmBackup
services.vdirsyncer
services.vikunja
services.yandex-disk
services.zabbixWeb
2024-01-19 00:11:34 -08:00
Luflosi
a4c451fd37
nixos/kubo: cleanup
- Add note explaining why enabling the Kubo daemon won't fully work immediately and requires logging in again
- Use `builtins.isList addrIn` instead of `builtins.typeOf addrIn == "list"`
- Fix indentation
2024-01-14 12:21:09 +01:00
Franz Pletz
078c5755a9
Merge pull request #277912 from Luflosi/kubo-send-buffer-size 2024-01-10 02:09:45 +01:00
Emery Hemingway
b736a8a801 eris-go: 20231119 -> 20231219 2024-01-04 06:24:03 +00:00
Luflosi
b2f8b846f2
nixos/kubo: increase maximum UDP send buffer size
In addition to increasing the maximum UDP receive buffer size in the Linux kernel, it is now recommended to do the same for the send buffer size.
This is documented in https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes.
The change to the documentation was made in June: 5b5e58d289.

Without this change, the Kubo daemon will output this warning:
```
failed to sufficiently increase send buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details.
```
This can be seen while running the NixOS tests.
2023-12-31 14:09:27 +01:00
Luflosi
45c4fb240a
nixos/kubo: convert two settings to RFC42-style settings
Convert the `ipfsMountDir` and `ipnsMountDir` settings to RFC42-style settings.
I don't know why I didn't already do this in a255c43f44, I guess I just missed it.
2023-12-16 01:01:56 +01:00
Luflosi
d4fcb44dcc
nixos/kubo: fix potential panic on startup
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.
2023-12-15 23:36:08 +01:00
Ashish SHUKLA
086604334a drbd: fix path to drbdadm
props: @cody4k for the fix

Fixes #268172
2023-12-15 01:35:02 +05:30
h7x4
79d3d59f58
treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Anthony Roussel
e30f48be94
treewide: fix redirected and broken URLs
Using the script in maintainers/scripts/update-redirected-urls.sh
2023-11-11 10:49:01 +01:00
Jade Lovelace
ac827a6f85 nixos/samba: make securityType an enum
The possible values were sourced from reading `man smb.conf`.
2023-11-09 00:35:58 -08:00
Bjørn Forsman
142074c2a8 nixos: fix bad mkEnableOption descriptions
Fix descriptions that don't account for (1) the "Whether to enable"
prefix or (2) the automatically added trailing dot.
2023-10-20 16:22:40 +01:00
Fabián Heredia Montiel
f96d8113b3
Merge pull request #259745 from Luflosi/update/kubo
kubo: 0.22.0 -> 0.23.0
2023-10-12 15:42:59 -06:00
Izorkin
cfd837442f nixos/samba: start service after network activation 2023-10-10 20:13:52 +02:00
Luflosi
70c8adce8d
kubo: 0.22.0 -> 0.23.0
https://github.com/ipfs/kubo/releases/tag/v0.23.0

Support for /quic (Draft 29) was removed, so remove it from `services.kubo.settings.Addresses.Swarm`.

The changelog says that there have been some fixes to the FUSE mountpoint functionality but the test still requires the workaround, so leave that unchanged.
2023-10-08 02:04:02 +02:00
K900
2c596b216a nixos/orangefs: fix typo in group name
This would have broken eval and has broken the test.
2023-10-07 00:07:23 +03:00
Franz Pletz
9640eb3970
Merge pull request #246029 from ehmry/eris-go 2023-08-08 06:18:03 +02:00
K900
4a2735bb3d
Merge pull request #241481 from Mayeu/update/kubo
kubo: 0.20.0 -> 0.21.0
2023-08-06 20:03:37 +03:00
Emery Hemingway
354821c1e8 nixos/eris-server: init 2023-07-29 11:56:58 +01:00
Mayeu
77fb833411 kubo: 0.20.0 -> 0.21.0 2023-07-27 16:59:45 +02:00
Varun Madiath
d237a7318c nixos/samba-wsdd: add openFirewall option 2023-07-17 10:22:43 -04:00
Sandro
eae22520b9
Merge pull request #237802 from SuperSandro2000/ceph-package-options
nixos/ceph: add options to configure package used by each component
2023-07-09 23:38:28 +02:00
Felix Buehler
933a41a73f treewide: use optional instead of 'then []' 2023-06-25 09:11:40 -03:00
Sandro Jäckel
d64e1f0b40
nixos/ceph: add options to configure package used by each component
This makes updates following the upstream guide possible.
2023-06-14 19:20:10 +02:00
Sandro Jäckel
e1fedfdf45
nixos/ceph: run statix fix 2023-06-14 19:20:10 +02:00
Luflosi
ada7f14219
kubo: 0.19.2 -> 0.20.0
https://github.com/ipfs/kubo/releases/tag/v0.20.0

When creating a repository with `ipfs init`, `--empty-repo=true` is now the default according to the changelog. Modify the NixOS module to reflect this change and fix the `emptyRepo` setting to work with this change.
2023-05-10 19:50:46 +02:00
Sandro
7b22f5b4a2
Merge pull request #215494 from poelzi/webdav-server-rs-debug 2023-05-10 14:29:26 +02:00
Artturi
b83db86a9e
Merge pull request #222080 from Stunkymonkey/nixos-optionalString 2023-04-20 16:07:30 +03:00
Luflosi
f2be3ae30d
nixos/kubo: restrict access to the API to users in a group by default 2023-04-15 15:25:20 +02:00
Luflosi
7ceebbb35b
nixos/kubo: allow multiple API and Gateway addresses
The daemon allows specifying an array of multiaddrs for Addresses.API and Addresses.Gateway, so the NixOS module should allow that as well.
2023-04-15 15:25:06 +02:00
Luflosi
929a00bd84
nixos/kubo: give normal users access to the daemon by default
Fixes https://github.com/NixOS/nixpkgs/issues/223289.

This doesn't reduce the security in any way since it was already possible for normal users to do what I do here and create such a fake repo for themselves and set their $IPFS_PATH variable to it. It was and still is also possible to just use the --api CLI option.
This change just removes the manual setup that would otherwise be required.

We wouldn't need this workaround if https://github.com/ipfs/kubo/pull/9366 was merged but the fix seems to have been ignored upstream. Patching it ourselves seems like a bad idea since the patch has security implications.
2023-04-15 15:24:58 +02:00
Karmanyaah Malhotra
6086d85777 nixos/kubo: documentation suggestions
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-04-13 03:14:59 -05:00
Karmanyaah Malhotra
4bd622cd9d nixos/kubo: unmount on service stop
When kubo is force killed with `pkill -KILL ipfs` or by systemd-oomd,
it doesn't unmount /ipfs and /ipns. That prevents it
from starting up the next time. So, unmount on postStop.
2023-04-13 03:14:59 -05:00
Michael Raitza
9f0e1b6047 modules.openafsServer: Add FABS backup server 2023-04-11 08:30:56 -03:00
Felix Buehler
327b0cff7a treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
Luflosi
ef9c99a035
nixos/kubo: add QUICv1 and WebTransport to Addresses.Swarm list
According to https://github.com/ipfs/kubo/blob/v0.18.0/docs/config.md#addressesswarm, the default list of swarm multiaddrs includes QUICv1 and WebTransport since v0.18.0.
More information can be found in the release notes at https://github.com/ipfs/kubo/releases/tag/v0.18.0.
2023-03-22 20:02:56 +01:00
Daniel Poelzleithner
fa60722e96 webdav-server-rs: Add debug option 2023-02-09 11:53:06 +01:00
pennae
bf4c0c1900 nixos/*: remove trailing period in mkEnableOptions
those are added by mkEnableOption, and .. is replaced to … by markdown
processing.
2023-02-08 15:23:34 +01:00
Sandro
8b598ff3d6
Merge pull request #199731 from Luflosi/kubo-idempotence 2023-01-31 22:12:49 +01:00
pennae
0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
Luflosi
78f357f134
nixos/kubo: make the configuration options idempotent
Without this commit, unsetting any of the `services.kubo.settings` options does not reset the value back to the default. This commit gets rid of this statefulness.
This is achieved by generating the default config, applying the user specified config options to it and then patching the `Identity` and `Pinning` config options from the old config back in. This new config is then applied using `ipfs config replace`.
The only remaining stateful parts of the config are the `Identity` and `Pinning.RemoteServices` settings as those can't be changed with `ipfs config replace`. `Pinning.RemoteServices` also contains secrets that shouldn't be in the Nix store. Setting these options wasn't possible before as it would result in an error when the daemon tried to start. I added some assertions to guard against this case.
2023-01-24 16:33:03 +01:00
pennae
53fc887582 nixos/manual: move "edit the MD file" comments to generated XML 2023-01-10 12:34:37 +01:00
pennae
bf92eaebe4 nixos/manual: generate module chapters with md-to-db.sh 2023-01-10 10:32:00 +01:00
pennae
23ea73b416 nixos/manual: enable smart quotes for all MD chapters 2023-01-10 10:31:59 +01:00
pennae
d075d2c276 nixos/litestream: convert manual chapter to MD 2023-01-10 10:31:57 +01:00