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

Update graylog #349057

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions nixos/doc/manual/release-notes/rl-2411.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,9 @@
- `python3Packages.nose` has been removed, as it has been deprecated and unmaintained for almost a decade and does not work on Python 3.12.
Please switch to `pytest` or another test runner/framework.

- `services.graylog.package` now defaults to `graylog-6_0` as previous default `graylog-5_1` is EOL and therefore removed.
Check the migration guides on [5.1→5.2](https://go2docs.graylog.org/5-2/upgrading_graylog/upgrading_to_graylog_5.2.x.htm) and [5.2→6.0](https://go2docs.graylog.org/6-0/upgrading_graylog/upgrading_to_graylog_6.0.x.html) for breaking changes.

## Other Notable Changes {#sec-release-24.11-notable-changes}

<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
Expand Down
4 changes: 2 additions & 2 deletions nixos/modules/services/logging/graylog.nix
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ in

package = lib.mkOption {
type = lib.types.package;
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";
Copy link
Member

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

Copy link
Member Author

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

package = mkPackageOption pkgs "postgresql" {
example = "postgresql_15";
};

In the implementation part (config = mkIf cfg.enable)

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);

description = "Graylog package to use.";
};

Expand Down
9 changes: 0 additions & 9 deletions pkgs/tools/misc/graylog/5.1.nix

This file was deleted.

4 changes: 2 additions & 2 deletions pkgs/tools/misc/graylog/5.2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
let
buildGraylog = callPackage ./graylog.nix {};
in buildGraylog {
version = "5.2.9";
hash = "sha256-xvKFHAWUb1cqARWH57AOEdRzj5W7n0AgIUkEOBuRumo=";
version = "5.2.12";
hash = "sha256-VF6eLOYfnIROPj1pvyV1G3TKGj/rAa2spc/oel4LFwk=";
maintainers = [ lib.maintainers.f2k1de ];
license = lib.licenses.sspl;
}
4 changes: 2 additions & 2 deletions pkgs/tools/misc/graylog/6.0.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
let
buildGraylog = callPackage ./graylog.nix {};
in buildGraylog {
version = "6.0.4";
hash = "sha256-PU7AepIRwx7FibBkZaQUWUy3v2MeM7cS77FH28aj8I8=";
version = "6.0.7";
hash = "sha256-whLU1d0wmmdSiMESpzmCTHe5U7GXVHefsonTPO7d7rY=";
maintainers = with lib.maintainers; [ bbenno ];
license = lib.licenses.sspl;
}
4 changes: 2 additions & 2 deletions pkgs/tools/misc/graylog/plugins.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, unzip, graylog-5_1 }:
{ lib, stdenv, fetchurl, unzip, graylog-5_2 }:

let
inherit (lib)
Expand All @@ -22,7 +22,7 @@ let
dontUnpack = true;
nativeBuildInputs = [ unzip ];
meta = a.meta // {
platforms = graylog-5_1.meta.platforms;
platforms = graylog-5_2.meta.platforms;
maintainers = (a.meta.maintainers or []) ++ [ maintainers.fadenb ];
sourceProvenance = with sourceTypes; [ binaryBytecode ];
};
Expand Down
1 change: 1 addition & 0 deletions pkgs/top-level/aliases.nix
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,7 @@ mapAliases {
graylog-4_0 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09
graylog-4_3 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09
graylog-5_0 = throw "graylog 5.0.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 5.0.x to latest series."; # Added 2024-02-15
graylog-5_1 = throw "graylog 5.1.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 5.1.x to latest series."; # Added 2024-10-16
gringo = clingo; # added 2022-11-27
grub2_full = grub2; # Added 2022-11-18
gtetrinet = throw "'gtetrinet' has been removed because it depends on GNOME 2 libraries"; # Added 2024-06-27
Expand Down
2 changes: 0 additions & 2 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8117,8 +8117,6 @@ with pkgs;

grails = callPackage ../development/web/grails { jdk = null; };

graylog-5_1 = callPackage ../tools/misc/graylog/5.1.nix { };

graylog-5_2 = callPackage ../tools/misc/graylog/5.2.nix { };

graylog-6_0 = callPackage ../tools/misc/graylog/6.0.nix { };
Expand Down