diff options
author | Emilia Bopp <contact@ebopp.de> | 2023-06-25 18:39:20 +0200 |
---|---|---|
committer | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2024-01-05 18:20:24 +0100 |
commit | 5f6b7a35d636a4f89f0f7d913d3df9522541d23b (patch) | |
tree | 97146b1df0a6accd4343f7abd9965e8d49f61cab | |
parent | e2896d19b6718b386168abdc66090aa6106500ce (diff) |
neo4j: 4.4.11 -> 5.9.0
-rw-r--r-- | nixos/doc/manual/release-notes/rl-2405.section.md | 4 | ||||
-rw-r--r-- | nixos/modules/services/databases/neo4j.nix | 77 | ||||
-rw-r--r-- | pkgs/servers/nosql/neo4j/default.nix | 14 |
3 files changed, 46 insertions, 49 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index d238e92271c5..ffa88b7dd01c 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -52,6 +52,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `idris2` was updated to v0.7.0. This version introduces breaking changes. Check out the [changelog](https://github.com/idris-lang/Idris2/blob/v0.7.0/CHANGELOG.md#v070) for details. +- `neo4j` has been updated to 5, you may want to read the [release notes for Neo4j 5](https://neo4j.com/release-notes/database/neo4j-5/) + +- `services.neo4j.allowUpgrade` was removed and no longer has any effect. Neo4j 5 supports automatic rolling upgrades. + - `nitter` requires a `guest_accounts.jsonl` to be provided as a path or loaded into the default location at `/var/lib/nitter/guest_accounts.jsonl`. See [Guest Account Branch Deployment](https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment) for details. - Invidious has changed its default database username from `kemal` to `invidious`. Setups involving an externally provisioned database (i.e. `services.invidious.database.createLocally == false`) should adjust their configuration accordingly. The old `kemal` user will not be removed automatically even when the database is provisioned automatically.(https://github.com/NixOS/nixpkgs/pull/265857) diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix index 56b916ee3758..45630e2d4488 100644 --- a/nixos/modules/services/databases/neo4j.nix +++ b/nixos/modules/services/databases/neo4j.nix @@ -35,65 +35,64 @@ let serverConfig = pkgs.writeText "neo4j.conf" '' # General - dbms.allow_upgrade=${boolToString cfg.allowUpgrade} - dbms.default_listen_address=${cfg.defaultListenAddress} - dbms.databases.default_to_read_only=${boolToString cfg.readOnly} + server.default_listen_address=${cfg.defaultListenAddress} + server.databases.default_to_read_only=${boolToString cfg.readOnly} ${optionalString (cfg.workerCount > 0) '' dbms.threads.worker_count=${toString cfg.workerCount} ''} # Directories (readonly) - dbms.directories.certificates=${cfg.directories.certificates} - dbms.directories.plugins=${cfg.directories.plugins} - dbms.directories.lib=${cfg.package}/share/neo4j/lib + # dbms.directories.certificates=${cfg.directories.certificates} + server.directories.plugins=${cfg.directories.plugins} + server.directories.lib=${cfg.package}/share/neo4j/lib ${optionalString (cfg.constrainLoadCsv) '' - dbms.directories.import=${cfg.directories.imports} + server.directories.import=${cfg.directories.imports} ''} # Directories (read and write) - dbms.directories.data=${cfg.directories.data} - dbms.directories.logs=${cfg.directories.home}/logs - dbms.directories.run=${cfg.directories.home}/run + server.directories.data=${cfg.directories.data} + server.directories.logs=${cfg.directories.home}/logs + server.directories.run=${cfg.directories.home}/run # HTTP Connector ${optionalString (cfg.http.enable) '' - dbms.connector.http.enabled=${boolToString cfg.http.enable} - dbms.connector.http.listen_address=${cfg.http.listenAddress} - dbms.connector.http.advertised_address=${cfg.http.listenAddress} + server.http.enabled=${boolToString cfg.http.enable} + server.http.listen_address=${cfg.http.listenAddress} + server.http.advertised_address=${cfg.http.listenAddress} ''} # HTTPS Connector - dbms.connector.https.enabled=${boolToString cfg.https.enable} - dbms.connector.https.listen_address=${cfg.https.listenAddress} - dbms.connector.https.advertised_address=${cfg.https.listenAddress} + server.https.enabled=${boolToString cfg.https.enable} + server.https.listen_address=${cfg.https.listenAddress} + server.https.advertised_address=${cfg.https.listenAddress} # BOLT Connector - dbms.connector.bolt.enabled=${boolToString cfg.bolt.enable} - dbms.connector.bolt.listen_address=${cfg.bolt.listenAddress} - dbms.connector.bolt.advertised_address=${cfg.bolt.listenAddress} - dbms.connector.bolt.tls_level=${cfg.bolt.tlsLevel} + server.bolt.enabled=${boolToString cfg.bolt.enable} + server.bolt.listen_address=${cfg.bolt.listenAddress} + server.bolt.advertised_address=${cfg.bolt.listenAddress} + server.bolt.tls_level=${cfg.bolt.tlsLevel} # SSL Policies ${concatStringsSep "\n" sslPolicies} # Default retention policy from neo4j.conf - dbms.tx_log.rotation.retention_policy=1 days + db.tx_log.rotation.retention_policy=1 days # Default JVM parameters from neo4j.conf - dbms.jvm.additional=-XX:+UseG1GC - dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow - dbms.jvm.additional=-XX:+AlwaysPreTouch - dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions - dbms.jvm.additional=-XX:+TrustFinalNonStaticFields - dbms.jvm.additional=-XX:+DisableExplicitGC - dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048 - dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true - dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball - - #dbms.memory.heap.initial_size=12000m - #dbms.memory.heap.max_size=12000m - #dbms.memory.pagecache.size=4g - #dbms.tx_state.max_off_heap_memory=8000m + server.jvm.additional=-XX:+UseG1GC + server.jvm.additional=-XX:-OmitStackTraceInFastThrow + server.jvm.additional=-XX:+AlwaysPreTouch + server.jvm.additional=-XX:+UnlockExperimentalVMOptions + server.jvm.additional=-XX:+TrustFinalNonStaticFields + server.jvm.additional=-XX:+DisableExplicitGC + server.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048 + server.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true + server.jvm.additional=-Dunsupported.dbms.udc.source=tarball + + #server.memory.off_heap.transaction_max_size=12000m + #server.memory.heap.max_size=12000m + #server.memory.pagecache.size=4g + #server.tx_state.max_off_heap_memory=8000m # Extra Configuration ${cfg.extraServerConfig} @@ -127,14 +126,6 @@ in { ''; }; - allowUpgrade = mkOption { - type = types.bool; - default = false; - description = lib.mdDoc '' - Allow upgrade of Neo4j database files from an older version. - ''; - }; - constrainLoadCsv = mkOption { type = types.bool; default = true; diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix index 7de1967583b6..a198cc7d07b1 100644 --- a/pkgs/servers/nosql/neo4j/default.nix +++ b/pkgs/servers/nosql/neo4j/default.nix @@ -1,12 +1,12 @@ -{ stdenv, lib, fetchurl, nixosTests, makeWrapper, openjdk11, which, gawk }: +{ stdenv, lib, fetchurl, nixosTests, makeWrapper, openjdk17, which, gawk }: stdenv.mkDerivation rec { pname = "neo4j"; - version = "4.4.11"; + version = "5.9.0"; src = fetchurl { url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz"; - sha256 = "sha256-KIENqsXeSl1bd84tp9fD2kxczxMoi62IW4M8NblhAMg="; + sha256 = "sha256-XId0r6wk6KQ9HelNeyAO1q0n9Rtqt4ArwyX10nmSkwo="; }; nativeBuildInputs = [ makeWrapper ]; @@ -21,13 +21,15 @@ stdenv.mkDerivation rec { chmod +x "$out/share/neo4j/bin/$NEO4J_SCRIPT" makeWrapper "$out/share/neo4j/bin/$NEO4J_SCRIPT" \ "$out/bin/$NEO4J_SCRIPT" \ - --prefix PATH : "${lib.makeBinPath [ openjdk11 which gawk ]}" \ - --set JAVA_HOME "${openjdk11}" + --prefix PATH : "${lib.makeBinPath [ openjdk17 which gawk ]}" \ + --set JAVA_HOME "${openjdk17}" done patchShebangs $out/share/neo4j/bin/neo4j-admin + # user will be asked to change password on first login - $out/bin/neo4j-admin set-initial-password neo4j + # password must be at least 8 characters long + $out/bin/neo4j-admin dbms set-initial-password neo4jadmin ''; passthru.tests.nixos = nixosTests.neo4j; |