nixos/keycloak: Allow setting hostname-url

(cherry picked from commit 4b0b3413b4)
This commit is contained in:
talyz
2023-11-16 16:12:07 +01:00
committed by github-actions[bot]
parent 0561103ced
commit e71e3de8dc

View File

@@ -24,7 +24,6 @@ let
maintainers
catAttrs
collect
splitString
hasPrefix
;
@@ -335,7 +334,8 @@ in
};
hostname = mkOption {
type = str;
type = nullOr str;
default = null;
example = "keycloak.example.com";
description = lib.mdDoc ''
The hostname part of the public URL used as base for
@@ -457,7 +457,7 @@ in
keycloakConfig = lib.generators.toKeyValue {
mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" {
mkValueString = v: with builtins;
mkValueString = v:
if isInt v then toString v
else if isString v then v
else if true == v then "true"
@@ -486,6 +486,14 @@ in
assertion = createLocalPostgreSQL -> config.services.postgresql.settings.standard_conforming_strings or true;
message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably";
}
{
assertion = cfg.settings.hostname != null || cfg.settings.hostname-url or null != null;
message = "Setting the Keycloak hostname is required, see `services.keycloak.settings.hostname`";
}
{
assertion = !(cfg.settings.hostname != null && cfg.settings.hostname-url or null != null);
message = "`services.keycloak.settings.hostname` and `services.keycloak.settings.hostname-url` are mutually exclusive";
}
];
environment.systemPackages = [ keycloakBuild ];