2023-08-31 01:55:45 +03:00
|
|
|
{ config, depot, ... }:
|
2023-06-10 18:54:03 +03:00
|
|
|
|
|
|
|
{
|
2023-06-11 22:33:53 +03:00
|
|
|
links = {
|
|
|
|
idm = {
|
2023-08-31 01:55:45 +03:00
|
|
|
ipv4 = "idm.${depot.lib.meta.domain}";
|
2023-06-11 22:33:53 +03:00
|
|
|
port = 443;
|
|
|
|
protocol = "https";
|
|
|
|
};
|
|
|
|
ldap = {
|
2023-08-31 01:55:45 +03:00
|
|
|
hostname = "idm-ldap.internal.${depot.lib.meta.domain}";
|
2023-06-11 22:33:53 +03:00
|
|
|
ipv4 = config.vars.mesh.VEGAS.meshIp;
|
|
|
|
port = 636;
|
|
|
|
protocol = "ldaps";
|
|
|
|
};
|
2023-06-10 18:54:03 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
services.idm = {
|
|
|
|
nodes = {
|
|
|
|
server = [ "VEGAS" ];
|
2023-11-04 01:46:14 +02:00
|
|
|
client = [ "checkmate" "grail" "VEGAS" "prophet" "soda" "thunderskin" ];
|
2023-06-11 18:07:45 +03:00
|
|
|
client-soda = [ "soda" ];
|
2023-06-10 18:54:03 +03:00
|
|
|
};
|
|
|
|
nixos = {
|
2024-07-16 01:32:49 +03:00
|
|
|
server = [
|
|
|
|
./common.nix
|
|
|
|
./server.nix
|
|
|
|
];
|
2023-06-11 03:00:46 +03:00
|
|
|
client = [
|
2024-07-16 01:32:49 +03:00
|
|
|
./common.nix
|
2023-06-11 03:00:46 +03:00
|
|
|
./client.nix
|
2023-06-13 00:44:46 +03:00
|
|
|
./modules/idm-nss-ready.nix
|
|
|
|
./modules/idm-tmpfiles.nix
|
2023-06-11 03:00:46 +03:00
|
|
|
./policies/infra-admins.nix
|
|
|
|
];
|
2023-06-11 18:07:45 +03:00
|
|
|
client-soda = [
|
|
|
|
./policies/soda.nix
|
|
|
|
];
|
2023-06-10 18:54:03 +03:00
|
|
|
};
|
2024-07-08 19:41:51 +03:00
|
|
|
secrets.serviceAccountCredentials = {
|
|
|
|
nodes = config.services.idm.nodes.client;
|
|
|
|
shared = false;
|
|
|
|
};
|
2023-06-10 18:54:03 +03:00
|
|
|
};
|
2023-12-04 00:04:15 +02: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 18:54:03 +03:00
|
|
|
}
|