2023-08-31 00:55:45 +02:00
|
|
|
{ config, depot, ... }:
|
2023-06-10 17:54:03 +02:00
|
|
|
|
|
|
|
{
|
2023-06-11 21:33:53 +02:00
|
|
|
links = {
|
|
|
|
idm = {
|
2023-08-31 00:55:45 +02:00
|
|
|
ipv4 = "idm.${depot.lib.meta.domain}";
|
2023-06-11 21:33:53 +02:00
|
|
|
port = 443;
|
|
|
|
protocol = "https";
|
|
|
|
};
|
|
|
|
ldap = {
|
2023-08-31 00:55:45 +02:00
|
|
|
hostname = "idm-ldap.internal.${depot.lib.meta.domain}";
|
2023-06-11 21:33:53 +02:00
|
|
|
ipv4 = config.vars.mesh.VEGAS.meshIp;
|
|
|
|
port = 636;
|
|
|
|
protocol = "ldaps";
|
|
|
|
};
|
2023-06-10 17:54:03 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
services.idm = {
|
|
|
|
nodes = {
|
|
|
|
server = [ "VEGAS" ];
|
2023-11-04 00:46:14 +01:00
|
|
|
client = [ "checkmate" "grail" "VEGAS" "prophet" "soda" "thunderskin" ];
|
2023-06-11 17:07:45 +02:00
|
|
|
client-soda = [ "soda" ];
|
2023-06-10 17:54:03 +02:00
|
|
|
};
|
|
|
|
nixos = {
|
2024-07-16 00:32:49 +02:00
|
|
|
server = [
|
|
|
|
./common.nix
|
|
|
|
./server.nix
|
|
|
|
];
|
2023-06-11 02:00:46 +02:00
|
|
|
client = [
|
2024-07-16 00:32:49 +02:00
|
|
|
./common.nix
|
2023-06-11 02:00:46 +02:00
|
|
|
./client.nix
|
2023-06-12 23:44:46 +02:00
|
|
|
./modules/idm-nss-ready.nix
|
|
|
|
./modules/idm-tmpfiles.nix
|
2023-06-11 02:00:46 +02:00
|
|
|
./policies/infra-admins.nix
|
|
|
|
];
|
2023-06-11 17:07:45 +02:00
|
|
|
client-soda = [
|
|
|
|
./policies/soda.nix
|
|
|
|
];
|
2023-06-10 17:54:03 +02:00
|
|
|
};
|
2024-07-08 18:41:51 +02:00
|
|
|
secrets.serviceAccountCredentials = {
|
|
|
|
nodes = config.services.idm.nodes.client;
|
|
|
|
shared = false;
|
|
|
|
};
|
2023-06-10 17:54:03 +02:00
|
|
|
};
|
2023-12-03 23:04:15 +01:00
|
|
|
|
|
|
|
dns.records = let
|
|
|
|
serverAddrsPublic = map
|
|
|
|
(node: depot.hours.${node}.interfaces.primary.addrPublic)
|
|
|
|
config.services.idm.nodes.server;
|
|
|
|
serverAddrsInternal = map
|
|
|
|
(node: config.vars.mesh.${node}.meshIp)
|
|
|
|
config.services.idm.nodes.server;
|
|
|
|
in {
|
|
|
|
idm = {
|
|
|
|
type = "A";
|
|
|
|
target = serverAddrsPublic;
|
|
|
|
};
|
|
|
|
"idm-ldap.internal" = {
|
|
|
|
type = "A";
|
|
|
|
target = serverAddrsInternal;
|
|
|
|
};
|
|
|
|
};
|
2023-06-10 17:54:03 +02:00
|
|
|
}
|