Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add data dir config for meilisearch #369216

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

MatthiasvB
Copy link

@MatthiasvB MatthiasvB commented Dec 29, 2024

Extend the config of the meilisearch module to allow setting a custom location for meilisearch to store its data. This is non-trivial due to the dynamic user that's used here. Fixes #368611

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` labels Dec 29, 2024
@MatthiasvB
Copy link
Author

I have (so far) not added any tests. Will that be necessary for this change?

Also, the creation of the datadir according to the tmpfiles thingy didn't work for me doing a nixos-rebuild test. I don't know, does that need a reboot or is it somehow incorrectly done? For now, I've just created the directory manually and it does work

@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 labels Dec 29, 2024
@MatthiasvB
Copy link
Author

This PR fails according to formatting. I'm using Alejandra. Apparently, that's not good enough. How should I format the code?

@happysalada
Copy link
Contributor

There is a nixpkgs specific formatter, its a package. It should be in the contrib docs. I would link to it but im on mobile.
Also, i think having datadir default to null is adding a bit of logic for not much gain.
Changing yhe default to be var lib meillisearch and then having the tmprule to be unconditional simplifies quite a bit.

@MatthiasvB
Copy link
Author

Changing yhe default to be var lib meillisearch and then having the tmprule to be unconditional simplifies quite a bit.

True, it would be simpler. However, it would mean that we use "something custom built" in all cases and no longer leverage the systemd's StateDirectory in the default case. I'm not sure if that may have any downsides

@happysalada
Copy link
Contributor

We could have statedirectory be an mkif with the condition that datadir = /var/lib/meilisearch for example

Statedirectory handle the creation of a directory with special permissions , thats it as far as i know. But yes, better to keep it.

@@ -64,6 +58,15 @@ in
type = with types; nullOr path;
};

datadir = mkOption {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be dataDir by convention.

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Meilisearch complains about incorrect "read-only file system" and exhibits unexpected behaviour
4 participants