Upstream installs the volume option presets into
$(localstatedir)/lib/glusterd/groups, which ends up under the package's
$out/var rather than /var, so `gluster volume set <vol> group <name>`
failed for metadata-cache, nl-cache, virt, etc. Copy them into place
alongside the existing hooks rehydration.
Fixes#33159.
Assisted-by: claude-code with claude-opus-4-8[1m]-high
The hooks tree copied into /var/lib/glusterd contains one symlink,
S57glusterfind-delete-post, whose relative target resolves inside the
package's $out but dangles once copied verbatim into / (the referent
lives in the Nix store, not under /libexec). Pass --copy-unsafe-links so
rsync dereferences symlinks pointing outside the tree into real files.
Fixes#257863.
Assisted-by: claude-code with claude-opus-4-8[1m]-high
No more IFD for the defaults.
Specifically the merging with the config values is now done at runtime.
The output of the command for generating the defaults is also specifically stripped of the generated credentials, making it reproducible.
This introduces caveats in terms of overwriting as it is now dependent on jq's merge behaviour.
A cleaner solution would probably move from specifying a single JSON-esque datastructure to specifying an attrset with keys and values being those of `ipfs config set` respectively.
This would allow setting individual keys to objects, removing entries, and more fine grained control in general.
However that would introduce severe backwards incompatibilities, so this commit is merely a "minimum viable fix" so to say.
Signed-off-by: benaryorg <binary@benary.org>
This exposes a new configuration option,
`services.openafsClient.globalCellServDBFile`, which can be used to pass
an existing CellServDB file (such as the one distributed by
grand.central.org).
Also, the global CellServDB is now filtered to remove any cells
configured in `services.openafsClient.cellServDB`, so local
configuration can override the global file.
Previously, servers could only be supplied for ThisCell. This meant that
if a server and client have different ThisCell values, the client's
CellServDB couldn't be configured for its own server.
The previous list values are still accepted, but now a CellServDB option
can also be specified as an attrset of cell names to servers.
We do not create networking.target anywhere ourselves and it is not one
of the default targets defined in systemd.special(7).
References to networking.target are therefore most likely typos and
meant to refer to network.target, which does exist.
https://github.com/ipfs/kubo/releases/tag/v0.37.0
Kubo v0.37.0 embeds the repository migration from repo version v16 to v17 and the kubo-fs-repo-migrations package will not reveive any more updates.
I'll keep the `kubo-fs-repo-migrations` and `kubo-migrator` packages around for now until a future version of Kubo no longer supports calling the external migration binaries.
Since the (newest) migrations are now built into Kubo, the NixOS module now needs to call `ipfs repo migrate --to=xx --allow-downgrade` instead of `fs-repo-migrations --to xx -y`.
The `--allow-downgrade` flag is only there for the unlikely situation that someone downgrades their local Kubo version with an overlay, separate channel input or similar means. It does however not work for rolling back the NixOS generation after a Kubo upgrade which increases the repo version (not all Kubo upgrades increase the repo version). This is because the Kubo version of the previous NixOS generation doesn't have the code for upgrading to or downgrading from the newer repo version.
Since we only have one version of Kubo in Nixpkgs at a time, migrations cannot be tested automatically. I manually verified that `ipfs repo migrate` uses binaries like `fs-repo-15-to-16` provided by the `kubo-fs-repo-migrations` packages for older migrations. I also tested that the migration from v16 to v17 works on my machine using the NixOS module.
The `Mounts.FuseAllowOther` setting could be used before to override the default but it was not obvious that the default was `true`.
Since this option is irrelevant if the `--mount` flag isn't passed to the daemon (the `autoMount` NixOS option is set to false) the Kubo daemon ignores this setting in this case. This means enabling this option conditionally or not makes no difference in practice, so it might as well be enabled all the time.
According to the manpage the rsyncd.conf has a global section without a
module header. Settings for listening port or bind address must be put
there and will not work if defined in a global submodule (i.e. below a
"[global]" header).
This commit changes the ini format generator for the rsyncd service to
allow a global section in the config file without a submodule header.
Fixes#304293
Credits to @nydragon
* remove retrocompat, add incompat release notes