mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-04-02 02:00:51 +02:00
Compare commits
No commits in common. "7fad180d174a9c189ab8d9cee89b24efe71c3e7e" and "fab4088b82ef947ec30c4f159b8787cb4e2c679f" have entirely different histories.
7fad180d17
...
fab4088b82
8 changed files with 4 additions and 52 deletions
|
@ -19,7 +19,6 @@
|
||||||
profiles = with profiles; [
|
profiles = with profiles; [
|
||||||
vm-simple-network
|
vm-simple-network
|
||||||
server
|
server
|
||||||
behind-sniproxy
|
|
||||||
];
|
];
|
||||||
ips = {
|
ips = {
|
||||||
public.ipv4 = "82.67.34.230";
|
public.ipv4 = "82.67.34.230";
|
||||||
|
|
|
@ -121,9 +121,6 @@
|
||||||
|
|
||||||
security.acme.certs."ca.luj".server = lib.mkForce "https://127.0.0.1:8444/acme/acme/directory";
|
security.acme.certs."ca.luj".server = lib.mkForce "https://127.0.0.1:8444/acme/acme/directory";
|
||||||
|
|
||||||
machine.meta.monitors."ca.luj - IPv4".url = lib.mkForce "https://100.100.45.14/health";
|
|
||||||
machine.meta.monitors."ca.luj - IPv6".url = lib.mkForce "https://[fd7a:115c:a1e0::e]/health";
|
|
||||||
|
|
||||||
systemd.services."step-ca".after = [ "keycloak.service" ];
|
systemd.services."step-ca".after = [ "keycloak.service" ];
|
||||||
|
|
||||||
# TODO: Remove when keycloak is update in stable channel
|
# TODO: Remove when keycloak is update in stable channel
|
||||||
|
|
|
@ -145,7 +145,7 @@
|
||||||
luj.mediaserver = {
|
luj.mediaserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
tv.enable = true;
|
tv.enable = true;
|
||||||
music.enable = false;
|
music.enable = true;
|
||||||
};
|
};
|
||||||
luj.deluge.interface = "wg0";
|
luj.deluge.interface = "wg0";
|
||||||
|
|
||||||
|
|
|
@ -105,29 +105,6 @@ lib.mkMerge [
|
||||||
machine.meta.zones."luj.fr".AAAA = [ config.machine.meta.ips.public.ipv6 ];
|
machine.meta.zones."luj.fr".AAAA = [ config.machine.meta.ips.public.ipv6 ];
|
||||||
machine.meta.zones."luj.fr".TXT = [ "homepage.luj.luj-static.page" ];
|
machine.meta.zones."luj.fr".TXT = [ "homepage.luj.luj-static.page" ];
|
||||||
|
|
||||||
machine.meta.monitors = {
|
|
||||||
"luj.fr - IPv4" = {
|
|
||||||
url = "https://${config.machine.meta.ips.public.ipv4}";
|
|
||||||
type = "http";
|
|
||||||
accepted_statuscodes = [ "200-299" ];
|
|
||||||
headers = ''
|
|
||||||
{
|
|
||||||
"Host": "luj.fr"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"luj.fr - IPv6" = {
|
|
||||||
url = "https://${config.machine.meta.ips.public.ipv6}";
|
|
||||||
type = "http";
|
|
||||||
accepted_statuscodes = [ "200-299" ];
|
|
||||||
headers = ''
|
|
||||||
{
|
|
||||||
"Host": "luj.fr"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# DNS Records from all non local configurations are exported here
|
# DNS Records from all non local configurations are exported here
|
||||||
|
|
|
@ -1,17 +1,9 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
|
||||||
nixosConfigurations,
|
|
||||||
config,
|
config,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
|
|
||||||
probesFromConfig = lib.mkMerge (
|
|
||||||
lib.mapAttrsToList (_: value: value.config.machine.meta.monitors) nixosConfigurations
|
|
||||||
);
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
|
||||||
services.uptime-kuma = {
|
services.uptime-kuma = {
|
||||||
|
@ -38,7 +30,6 @@ in
|
||||||
|
|
||||||
statelessUptimeKuma = {
|
statelessUptimeKuma = {
|
||||||
enableService = true;
|
enableService = true;
|
||||||
probesConfig.monitors = probesFromConfig;
|
|
||||||
extraFlags = [
|
extraFlags = [
|
||||||
"-s"
|
"-s"
|
||||||
"-v DEBUG"
|
"-v DEBUG"
|
||||||
|
|
|
@ -133,9 +133,6 @@
|
||||||
root = "/home/gitlab-runner/artifacts";
|
root = "/home/gitlab-runner/artifacts";
|
||||||
};
|
};
|
||||||
|
|
||||||
machine.meta.monitors."phd.julienmalka.me - IPv4".accepted_statuscodes = [ "401" ];
|
|
||||||
machine.meta.monitors."phd.julienmalka.me - IPv6".accepted_statuscodes = [ "401" ];
|
|
||||||
|
|
||||||
systemd.services.nginx.serviceConfig.ProtectHome = "read-only";
|
systemd.services.nginx.serviceConfig.ProtectHome = "read-only";
|
||||||
systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/home/gitlab-runner/artifacts" ];
|
systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/home/gitlab-runner/artifacts" ];
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ lib, profiles, ... }:
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
profiles,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
options.machine.meta = lib.mkOption {
|
options.machine.meta = lib.mkOption {
|
||||||
description = "Machine metadata";
|
description = "Machine metadata";
|
||||||
|
@ -43,11 +38,6 @@
|
||||||
default = with profiles; [ base ];
|
default = with profiles; [ base ];
|
||||||
};
|
};
|
||||||
|
|
||||||
monitors = mkOption {
|
|
||||||
default = { };
|
|
||||||
type = types.attrsOf (pkgs.formats.json { }).type;
|
|
||||||
};
|
|
||||||
|
|
||||||
defaultInterface = mkOption {
|
defaultInterface = mkOption {
|
||||||
description = "default interface of the machine";
|
description = "default interface of the machine";
|
||||||
default = "ens18";
|
default = "ens18";
|
||||||
|
|
|
@ -59,7 +59,7 @@ in
|
||||||
'';
|
'';
|
||||||
|
|
||||||
systemConfig = _: {
|
systemConfig = _: {
|
||||||
machine.meta.monitors = lib.mkIf (name != "default") {
|
statelessUptimeKuma.probesConfig.monitors = lib.mkIf (name != "default") {
|
||||||
"${name} - IPv4" = {
|
"${name} - IPv4" = {
|
||||||
url = "https://${
|
url = "https://${
|
||||||
if (hasSuffix "luj" name) then
|
if (hasSuffix "luj" name) then
|
||||||
|
@ -167,6 +167,7 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
machine = mergeSub (c: c.machine);
|
machine = mergeSub (c: c.machine);
|
||||||
|
statelessUptimeKuma = mergeSub (c: c.statelessUptimeKuma);
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue