infrastructure/modules/nixos/keycloak.nix
2024-04-15 11:23:20 -07:00

20 lines
547 B
Nix

{config, lib, ...}: let
inherit (lib.options) mkOption;
inherit (lib.modules) mkOptionDefault;
cfg = config.services.keycloak;
in {
options.services.keycloak = with lib.types; {
protocol = mkOption {
type = enum [ "http" "https" ];
readOnly = true;
};
port = mkOption {
type = port;
readOnly = true;
};
};
config.services.keycloak = {
protocol = mkOptionDefault (if cfg.sslCertificate != null then "https" else "http");
port = mkOptionDefault cfg.settings."${cfg.protocol}-port";
};
}