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

nixos/zammad: refactor package, module and nixos-test #277456

Merged
merged 3 commits into from
Nov 25, 2024

Conversation

NetaliDev
Copy link
Member

@NetaliDev NetaliDev commented Dec 29, 2023

Description of changes

This PR refactors the Zammad package, NixOS module and NixOS test. It does the following things:

  • Use inherit (lib) ... instead of with lib;
  • Make the Zammad system user and group configurable
  • Use symlinks in the package to prevent the content of the package being copied to the state directory at every start of the systemd unit
  • Drop MySQL support for multiple reasons:
    • It wasn't really supported by the module before, since the zammad-web unit hard depended on a local PostgreSQL database (especially in the check if a database initialization is required)
    • Support for MySQL will be dropped in Zammad 7 (see here)
  • Replace complicated, PostgreSQL specific query to check if the database was already seeded with a simple file in the state directory
    • This also enables compatibility with other DB Backends that may be supported in the future
  • Fix the systemd unit dependencies so that it only depends on a local PostgreSQL DB if it is created locally
  • Remove locale hack in the test since it is not required anymore
  • Remove hardcoded debug log level
  • Add a cleanup task to the preScript of the zammad-web unit to clean the old package contents out of the state directory

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/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 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, 2023
@NetaliDev
Copy link
Member Author

@ofborg build zammad
@ofborg test zammad

@ofborg ofborg bot requested review from Radvendii and n0emis December 29, 2023 06:18
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by the maintainer of the package it changes 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 labels Dec 29, 2023
Copy link
Contributor

@Radvendii Radvendii left a comment

Choose a reason for hiding this comment

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

This is a clever change. I like that it leaves more things in the nix store rather than copied into runtime directories.

nixos/modules/services/development/zammad.nix Outdated Show resolved Hide resolved
nixos/modules/services/development/zammad.nix Outdated Show resolved Hide resolved
nixos/modules/services/development/zammad.nix Outdated Show resolved Hide resolved
Copy link
Contributor

@Radvendii Radvendii left a comment

Choose a reason for hiding this comment

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

I haven't tested it, but the code looks good to me.

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Mar 8, 2024
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label May 3, 2024
@mweinelt
Copy link
Member

Did a rebase, since what was there conflicted in a few places.

@Radvendii PTAL and ping me to merge.

@mweinelt mweinelt removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Oct 26, 2024
@ofborg ofborg bot requested a review from Radvendii October 27, 2024 00:05
@wegank wegank removed the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Oct 29, 2024
@mweinelt mweinelt added this to the 24.11 milestone Nov 6, 2024
@xanderio xanderio mentioned this pull request Nov 11, 2024
13 tasks
@NetaliDev
Copy link
Member Author

Moved the release notes entry to 25.05 since 24.11 is as good as released and this is far too big to backport.

@mweinelt mweinelt removed this from the 24.11 milestone Nov 22, 2024
@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 23, 2024
@NetaliDev NetaliDev removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 24, 2024
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/1016/186

Copy link
Contributor

@niklaskorz niklaskorz left a comment

Choose a reason for hiding this comment

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

NixOS tests are passing and I also tested the module on my own server, all running fine.

@NetaliDev NetaliDev merged commit ac24b97 into NixOS:master Nov 25, 2024
34 of 35 checks passed
@NetaliDev NetaliDev deleted the feature/zammad-refactor branch November 25, 2024 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog 8.has: documentation 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 11.by: package-maintainer This PR was created by the maintainer of the package it changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants