-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
Update graylog #349057
Update graylog #349057
Conversation
7c42bef
to
3b5ff75
Compare
Graylog 5.1 was discontinued in May 2024. https://endoflife.date/graylog
3b5ff75
to
03d1a21
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally I'm okay with removing the package, but not with the package default change.
default = if lib.versionOlder config.system.stateVersion "23.05" then pkgs.graylog-3_3 else pkgs.graylog-5_1; | ||
defaultText = lib.literalExpression (if lib.versionOlder config.system.stateVersion "23.05" then "pkgs.graylog-3_3" else "pkgs.graylog-5_1"); | ||
default = pkgs.graylog-6_0; | ||
defaultText = lib.literalExpression "pkgs.graylog-6_0"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not so happy with silently changing the default for all state versions. It's probably the easiest to add an assertion for old state versions like in https://github.com/NixOS/nixpkgs/pull/345625/files#diff-5834a9cebfb2c9d2d6863e68be9c225f325f77d1c5a1a5e55f66fa3298995a93R90 or only set the default when the state version is >=25.05
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for pointing out the assertion pattern that I was not aware of.
However, after grep'ing for this pattern and recognizing that it is only used for UniFi, I decided to go with the pattern PostgreSQL uses:
in the options part
nixpkgs/nixos/modules/services/databases/postgresql.nix
Lines 89 to 91 in 924dd67
package = mkPackageOption pkgs "postgresql" { | |
example = "postgresql_15"; | |
}; |
In the implementation part (config = mkIf cfg.enable
)
nixpkgs/nixos/modules/services/databases/postgresql.nix
Lines 491 to 512 in 924dd67
services.postgresql.package = let | |
mkThrow = ver: throw "postgresql_${ver} was removed, please upgrade your postgresql version."; | |
mkWarn = ver: warn '' | |
The postgresql package is not pinned and selected automatically by | |
`system.stateVersion`. Right now this is `pkgs.postgresql_${ver}`, the | |
oldest postgresql version available and thus the next that will be | |
removed when EOL on the next stable cycle. | |
See also https://endoflife.date/postgresql | |
''; | |
base = if versionAtLeast config.system.stateVersion "24.11" then pkgs.postgresql_16 | |
else if versionAtLeast config.system.stateVersion "23.11" then pkgs.postgresql_15 | |
else if versionAtLeast config.system.stateVersion "22.05" then pkgs.postgresql_14 | |
else if versionAtLeast config.system.stateVersion "21.11" then mkWarn "13" pkgs.postgresql_13 | |
else if versionAtLeast config.system.stateVersion "20.03" then mkThrow "11" | |
else if versionAtLeast config.system.stateVersion "17.09" then mkThrow "9_6" | |
else mkThrow "9_5"; | |
in | |
# Note: when changing the default, make it conditional on | |
# ‘system.stateVersion’ to maintain compatibility with existing | |
# systems! | |
mkDefault (if cfg.enableJIT then base.withJIT else base); |
I'll split the PR up into dedicated updates for each version (that can then be backported on an individual level) and another for the removal of Graylog 5.1. |
Migration Guide 5.1 → 5.2
Migration Guide 5.2 → 6.0
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.