nix-config/hosts/auth/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

73 lines
1.5 KiB
Nix
Raw Normal View History

2023-01-01 20:51:19 +01:00
{ config, lib, libS, ... }:
2022-07-23 00:06:12 +02:00
{
c3d2.deployment.server = "server10";
2022-07-23 00:06:12 +02:00
system.stateVersion = "22.05";
networking = {
hostName = "auth";
2022-07-23 02:04:42 +02:00
firewall.allowedTCPPorts = [
636 # ldaps
];
2022-07-23 00:06:12 +02:00
};
services = {
2022-12-23 08:22:28 +01:00
dex.settings.oauth2.skipApprovalScreen = true;
2022-07-23 00:06:12 +02:00
nginx = {
enable = true;
virtualHosts."auth.c3d2.de" = {
default = true;
forceSSL = true;
enableACME = true;
locations = {
"/".proxyPass = "http://localhost:${toString config.services.portunus.port}";
"/dex".proxyPass = "http://localhost:${toString config.services.portunus.dex.port}";
2022-07-23 00:06:12 +02:00
};
};
};
portunus = {
enable = true;
dex = {
2022-12-23 08:22:28 +01:00
enable = true;
oidcClients = [{
2022-12-23 08:22:28 +01:00
callbackURL = "https://grafana.hq.c3d2.de/login/generic_oauth";
id = "grafana";
}];
2022-07-23 00:06:12 +02:00
};
ldap = {
searchUserName = "search";
2022-07-23 00:06:12 +02:00
suffix = "dc=c3d2,dc=de";
tls = true;
};
2022-12-24 00:11:52 +01:00
seedPath = ./seed.json;
2022-08-01 00:16:40 +02:00
};
};
sops = {
defaultSopsFile = ./secrets.yaml;
secrets = {
"dex/environment".owner = "dex";
"portunus/users/admin-password".owner = "portunus";
"portunus/users/search-password".owner = "portunus";
};
2022-07-23 00:06:12 +02:00
};
2022-12-23 08:22:28 +01:00
systemd.services.dex.serviceConfig = {
DynamicUser = lib.mkForce false;
EnvironmentFile = config.sops.secrets."dex/environment".path;
StateDirectory = "dex";
User = "dex";
};
users = {
groups.dex = { };
users.dex = {
group = "dex";
isSystemUser = true;
};
};
2022-07-23 00:06:12 +02:00
}