You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
infra/machines/auth.domain.com/configuration.nix

67 lines
1.3 KiB

{ config, lib, pkgs, git_url, ... }:
{
imports = [
./hardware-configuration.nix
../../modules/keycloak.nix
];
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
networking.hostName = "auth";
networking.domain = "domain.com";
time.timeZone = "UTC";
services.openssh = {
enable = true;
settings = {
PermitRootLogin = "prohibit-password";
PasswordAuthentication = false;
};
};
environment.systemPackages = with pkgs; [
curl
tmux
wget
bash
];
services.keycloak = {
enable = true;
hostname = "auth.domain.com";
adminPasswordFile = "/etc/keycloak-admin-password";
database = {
host = "localhost";
passwordFile = "/etc/keycloak-db-password";
};
};
infra.gatus = {
enable = true;
hostname = "status.domain.com";
title = "Status";
endpoints = [
{
name = "Keycloak";
url = "https://auth.domain.com/health";
interval = "1m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 500"
];
}
];
};
infra.autoUpdate = {
enable = true;
# selects the nixosConfigurations.auth.domain.com output from the flake
flake = "${git_url}#auth.domain.com";
allowReboot = true;
};
system.stateVersion = "26.05";
}