flake/services/distrust/lldap.nix

48 lines
1.3 KiB
Nix

{config, ...}: let
lldapPort = 8089;
in {
age.secrets = {
"hidden_service/lldap".file = ../../secrets/hidden_service/lldap;
"lldap_root_pass" = {
file = ../../secrets/lldap_root_pass;
mode = "0440";
group = "lldap-secrets";
};
};
services.lldap = {
enable = true;
settings = {
http_url = "https://login.distrust.network";
http_port = lldapPort;
ldap_user_email = "root@distrust.network";
ldap_user_dn = "root";
ldap_base_dn = "dc=distrust,dc=network";
ldap_user_pass_file = config.age.secrets."lldap_root_pass".path;
force_ldap_user_pass_reset = "always";
};
};
distrust.services."lldap" = {
url = "https://login.distrust.network";
onion = {
url = "http://i3a47orggn2cebueja2jur66yjgyqd2y7kzthajar4ghuerbx2kzwqyd.onion";
secretKey = config.age.secrets."hidden_service/lldap".path;
};
virtualHostConfig = ''
reverse_proxy localhost:${toString lldapPort}
'';
backup = {
enable = true;
paths = [
"/var/lib/lldap"
];
};
};
# Creates a group for the LLDAP DynamicUser to read the secret
users.groups.lldap-secrets = {};
systemd.services.lldap.serviceConfig = {
SupplementaryGroups = [ "lldap-secrets" ];
};
}