47 lines
1.3 KiB
Nix
47 lines
1.3 KiB
Nix
{ system, pkgs, distribution, invDistribution }:
|
|
|
|
let
|
|
utils = pkgs.lib.callPackageWith pkgs ../../../utils.nix { };
|
|
|
|
customPkgs = import ../../../all-packages.nix {
|
|
inherit system pkgs utils;
|
|
};
|
|
in
|
|
with utils;
|
|
rec {
|
|
KeycloakPostgresDB = customPkgs.mkPostgresDB {
|
|
name = "KeycloakPostgresDB";
|
|
database = "keycloak";
|
|
username = "keycloak";
|
|
# TODO: use passwordFile
|
|
password = "keycloak";
|
|
};
|
|
|
|
KeycloakService = customPkgs.mkKeycloakService {
|
|
name = "KeycloakService";
|
|
subdomain = "keycloak";
|
|
|
|
# Get these from infrastructure.nix
|
|
user = "keycloak";
|
|
group = "keycloak";
|
|
|
|
postgresServiceName = (getTarget distribution "KeycloakPostgresDB").containers.postgresql-database.service_name;
|
|
initialAdminUsername = "admin";
|
|
|
|
keys = {
|
|
dbPassword = "keycloakdbpassword";
|
|
initialAdminPassword = "keycloakinitialadmin";
|
|
};
|
|
|
|
logLevel = "INFO";
|
|
hostname = "keycloak.${getDomain distribution "KeycloakService"}";
|
|
|
|
dbType = "postgres";
|
|
dbDatabase = KeycloakPostgresDB.database;
|
|
dbUsername = KeycloakPostgresDB.username;
|
|
dbHost = {KeycloakPostgresDB}: KeycloakPostgresDB.target.properties.hostname;
|
|
dbPort = (getTarget distribution "KeycloakPostgresDB").containers.postgresql-database.port;
|
|
|
|
inherit KeycloakPostgresDB;
|
|
};
|
|
}
|