graylog: improve JRE handling
Since the upstream graylogctl script will prefer finding its java executable based on JAVA_HOME, we now set this instead of PATH in order to allow it to find the JRE. By setting it conditionally on it not already being set, we allow selecting a different JRE at runtime. We also explicitly use openjdk11, which supports the UseConcMarkSweepGC option which graylog insists on using.
This commit is contained in:
parent
d3f7e969b9
commit
22de3c19e7
2 changed files with 4 additions and 6 deletions
|
@ -39,7 +39,6 @@ in
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.graylog;
|
default = pkgs.graylog;
|
||||||
defaultText = "pkgs.graylog";
|
defaultText = "pkgs.graylog";
|
||||||
example = literalExample "pkgs.graylog";
|
|
||||||
description = "Graylog package to use.";
|
description = "Graylog package to use.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -138,14 +137,13 @@ in
|
||||||
"d '${cfg.messageJournalDir}' - ${cfg.user} - - -"
|
"d '${cfg.messageJournalDir}' - ${cfg.user} - - -"
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.graylog = with pkgs; {
|
systemd.services.graylog = {
|
||||||
description = "Graylog Server";
|
description = "Graylog Server";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = {
|
environment = {
|
||||||
JAVA_HOME = jre;
|
|
||||||
GRAYLOG_CONF = "${confFile}";
|
GRAYLOG_CONF = "${confFile}";
|
||||||
};
|
};
|
||||||
path = [ pkgs.jre_headless pkgs.which pkgs.procps ];
|
path = [ pkgs.which pkgs.procps ];
|
||||||
preStart = ''
|
preStart = ''
|
||||||
rm -rf /var/lib/graylog/plugins || true
|
rm -rf /var/lib/graylog/plugins || true
|
||||||
mkdir -p /var/lib/graylog/plugins -m 755
|
mkdir -p /var/lib/graylog/plugins -m 755
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchurl, makeWrapper, jre_headless, nixosTests }:
|
{ lib, stdenv, fetchurl, makeWrapper, openjdk11_headless, nixosTests }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "graylog";
|
pname = "graylog";
|
||||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
makeWrapperArgs = [ "--prefix" "PATH" ":" "${jre_headless}/bin" ];
|
makeWrapperArgs = [ "--set-default" "JAVA_HOME" "${openjdk11_headless}" ];
|
||||||
|
|
||||||
passthru.tests = { inherit (nixosTests) graylog; };
|
passthru.tests = { inherit (nixosTests) graylog; };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue