From 9765ee6bbf893e7ecebe18915aacb323897d3e6a Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 30 Apr 2022 22:41:24 +0200 Subject: [PATCH] keycloak: 17.0.1 -> 18.0.0 Release notes available at https://www.keycloak.org/docs/latest/release_notes/index.html#keycloak-18-0-0. The way the database port is configured changed in Keycloak 18 and the old way of including it in the `db-url-host` setting no longer works. Use the new `db-url-port` setting instead. Signed-off-by: Felix Singer Signed-off-by: Kim Lindberger --- nixos/modules/services/web-apps/keycloak.nix | 3 ++- pkgs/servers/keycloak/default.nix | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix index 2d817ca1923..a1855e1c1a7 100644 --- a/nixos/modules/services/web-apps/keycloak.nix +++ b/nixos/modules/services/web-apps/keycloak.nix @@ -540,7 +540,8 @@ in db = if cfg.database.type == "postgresql" then "postgres" else cfg.database.type; db-username = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username; db-password._secret = cfg.database.passwordFile; - db-url-host = "${cfg.database.host}:${toString cfg.database.port}"; + db-url-host = cfg.database.host; + db-url-port = toString cfg.database.port; db-url-database = if databaseActuallyCreateLocally then "keycloak" else cfg.database.name; db-url-properties = prefixUnlessEmpty "?" dbProps; db-url = null; diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix index f28679f2cf5..95a3ade822c 100644 --- a/pkgs/servers/keycloak/default.nix +++ b/pkgs/servers/keycloak/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "keycloak"; - version = "17.0.1"; + version = "18.0.0"; src = fetchzip { url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip"; - sha256 = "sha256-z1LfTUoK+v4oQxdyIQruFhl5O333zirSrkPoTFgVfmI="; + sha256 = "0fxf9m50hpjplj077z2zjp0qibixz5y4lbc8159cnxbd4gzpkaaf"; }; nativeBuildInputs = [ makeWrapper jre ]; @@ -57,8 +57,8 @@ stdenv.mkDerivation rec { ''; postFixup = '' - substituteInPlace $out/bin/kc.sh --replace '-Dkc.home.dir=$DIRNAME/../' '-Dkc.home.dir=$KC_HOME_DIR' - substituteInPlace $out/bin/kc.sh --replace '-Djboss.server.config.dir=$DIRNAME/../conf' '-Djboss.server.config.dir=$KC_CONF_DIR' + substituteInPlace $out/bin/kc.sh --replace ${lib.escapeShellArg "-Dkc.home.dir='$DIRNAME'/../"} '-Dkc.home.dir=$KC_HOME_DIR' + substituteInPlace $out/bin/kc.sh --replace ${lib.escapeShellArg "-Djboss.server.config.dir='$DIRNAME'/../conf"} '-Djboss.server.config.dir=$KC_CONF_DIR' for script in $(find $out/bin -type f -executable); do wrapProgram "$script" --set JAVA_HOME ${jre} --prefix PATH : ${jre}/bin