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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

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.

@NetaliDev
Copy link
Member Author

@ofborg build zammad
@ofborg test zammad

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.

@mweinelt
Copy link
Member

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

@Radvendii PTAL and ping me to merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants