🚚 (cesium) move gatus endpoints in their associated services

This commit is contained in:
Laureηt 2024-10-06 18:15:10 +02:00
parent c70e047c9f
commit 3e566faca6
Signed by: Laurent
SSH key fingerprint: SHA256:pb5NrYg80So5z9hmqQFPmp//sgr+DFeJkKhmGyU2NLk
19 changed files with 312 additions and 246 deletions

View file

@ -14,4 +14,19 @@
}; };
}; };
}; };
services.gatus.settings.endpoints = [
{
name = "atuin.fainsin.bzh";
group = "services";
url = "https://atuin.fainsin.bzh";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[CERTIFICATE_EXPIRATION] > 240h"
"[BODY].homage == pat(*Sir Terry Pratchett*)"
];
}
];
} }

View file

@ -5,7 +5,7 @@
./atuin.nix ./atuin.nix
./fail2ban.nix ./fail2ban.nix
./gatus.nix ./gatus.nix
./gitea.nix ./forgejo.nix
./ssh.nix ./ssh.nix
]; ];
} }

View file

@ -37,4 +37,19 @@
proxyWebsockets = true; proxyWebsockets = true;
}; };
}; };
services.gatus.settings.endpoints = [
{
name = "git.fainsin.bzh";
group = "services";
url = "https://git.fainsin.bzh";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[CERTIFICATE_EXPIRATION] > 240h"
"[BODY] == pat(*<title>Explore - Forgejo: Beyond coding. We Forge.</title>*)"
];
}
];
} }

View file

@ -6,61 +6,6 @@
web.port = 2020; web.port = 2020;
endpoints = [ endpoints = [
{
name = "fainsin.bzh";
url = "https://fainsin.bzh";
interval = "6h";
conditions = [
"[DOMAIN_EXPIRATION] > 720h"
];
}
{
name = "laurent.fainsin.bzh";
group = "web";
url = "https://laurent.fainsin.bzh";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*<title>Laurent Fainsin</title>*)"
"[CERTIFICATE_EXPIRATION] > 240h"
];
}
{
name = "resume.laurent.fainsin.bzh";
group = "web";
url = "https://resume.laurent.fainsin.bzh";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[CERTIFICATE_EXPIRATION] > 240h"
];
}
{
name = "git.fainsin.bzh";
group = "services";
url = "https://git.fainsin.bzh";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[CERTIFICATE_EXPIRATION] > 240h"
"[BODY] == pat(*<title>Explore - Forgejo: Beyond coding. We Forge.</title>*)"
];
}
{
name = "atuin.fainsin.bzh";
group = "services";
url = "https://atuin.fainsin.bzh";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[CERTIFICATE_EXPIRATION] > 240h"
"[BODY].homage == pat(*Sir Terry Pratchett*)"
];
}
{ {
name = "status.fainsin.bzh"; name = "status.fainsin.bzh";
group = "services"; group = "services";
@ -73,150 +18,6 @@
"[BODY] == pat(*<title>Health Dashboard | Gatus</title>*)" "[BODY] == pat(*<title>Health Dashboard | Gatus</title>*)"
]; ];
} }
{
name = "n7.laurent.fainsin.bzh";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh";
interval = "15m";
conditions = [
"[CERTIFICATE_EXPIRATION] > 240h"
];
}
{
name = "projet-audionumerique";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-audionumerique/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*Whisper</h1>*)"
];
}
{
name = "projet-systemes-algorithmes-repartis";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-systemes-algorithmes-repartis/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*The RAFT Consensus Algorithm*)"
];
}
{
name = "projet-intelligence-artificielle-multimedia";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-intelligence-artificielle-multimedia/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*Projet IAM*)"
];
}
{
name = "projet-probleme-inverse-3D";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-probleme-inverse-3D/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*slidevjs/slidev*)"
"[BODY] == pat(*/projet-probleme-inverse-3D/assets/index*)"
];
}
{
name = "projet-modelisation-geometrique";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-modelisation-geometrique/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*Projet de Modélisation Géométrique*)"
];
}
{
name = "projet-long";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-long/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*slidevjs/slidev*)"
"[BODY] == pat(*/projet-long/assets/index*)"
];
}
{
name = "projet-oral-japonais";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-oral-japonais/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(**)"
];
}
{
name = "projet-oral-anglais";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-oral-anglais/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*<title>CAPTCHA</title>*)"
];
}
{
name = "projet-fin-etude";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-fin-etude/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*slidevjs/slidev*)"
"[BODY] == pat(*/projet-fin-etude/assets/index*)"
];
}
{
name = "TP-calcul-parallele";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/TP-calcul-parallele/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*<title>Benchmarking Distributed GEMM Algorithms</title>*)"
];
}
{
name = "TP-reinforcement-learning";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/TP-reinforcement-learning/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*pluto_notebook*)"
];
}
{
name = "TP-traitement-audio-visuel";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/TP-traitement-audio-visuel/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*pluto_notebook*)"
];
}
]; ];
}; };
}; };

View file

@ -15,4 +15,18 @@
}; };
}; };
}; };
services.gatus.settings.endpoints = [
{
name = "resume.laurent.fainsin.bzh";
group = "web";
url = "https://resume.laurent.fainsin.bzh";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[CERTIFICATE_EXPIRATION] > 240h"
];
}
];
} }

View file

@ -23,4 +23,27 @@
locations."/".return = ''301 "$scheme://laurent.fainsin.bzh" ''; locations."/".return = ''301 "$scheme://laurent.fainsin.bzh" '';
}; };
}; };
services.gatus.settings.endpoints = [
{
name = "fainsin.bzh";
url = "https://fainsin.bzh";
interval = "6h";
conditions = [
"[DOMAIN_EXPIRATION] > 720h"
];
}
{
name = "laurent.fainsin.bzh";
group = "web";
url = "https://laurent.fainsin.bzh";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*<title>Laurent Fainsin</title>*)"
"[CERTIFICATE_EXPIRATION] > 240h"
];
}
];
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/TP-calcul-parallele/" = {
alias = inputs.TP-calcul-parallele.packages.${system}.report + "/"; alias = inputs.TP-calcul-parallele.packages.${system}.report + "/";
};
services.gatus.settings.endpoints = [
{
name = "TP-calcul-parallele";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/TP-calcul-parallele/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*<title>Benchmarking Distributed GEMM Algorithms</title>*)"
];
}
];
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/TP-reinforcement-learning/" = {
alias = inputs.TP-reinforcement-learning.packages.${system}.notebooks + "/"; alias = inputs.TP-reinforcement-learning.packages.${system}.notebooks + "/";
};
services.gatus.settings.endpoints = [
{
name = "TP-reinforcement-learning";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/TP-reinforcement-learning/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*pluto_notebook*)"
];
}
];
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/TP-traitement-audio-visuel/" = {
alias = inputs.TP-traitement-audio-visuel.packages.${system}.notebooks + "/"; alias = inputs.TP-traitement-audio-visuel.packages.${system}.notebooks + "/";
};
services.gatus.settings.endpoints = [
{
name = "TP-traitement-audio-visuel";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/TP-traitement-audio-visuel/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*pluto_notebook*)"
];
}
];
} }

View file

@ -1,34 +1,37 @@
{ {...}: {
inputs,
system,
pkgs,
...
}: {
services.nginx.virtualHosts = { services.nginx.virtualHosts = {
"n7.laurent.fainsin.bzh" = { "n7.laurent.fainsin.bzh" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations = locations."/".return = "301 $scheme://git.fainsin.bzh/ENSEEIHT";
};
};
imports = [
./projet-audionumerique.nix
./projet-fin-etude.nix
./projet-intelligence-artificielle-multimedia.nix
./projet-long.nix
./projet-modelisation-geometrique.nix
./projet-oral-anglais.nix
./projet-oral-japonais.nix
./projet-probleme-inverse-3D.nix
./projet-systemes-algorithmes-repartis.nix
./TP-calcul-parallele.nix
./TP-reinforcement-learning.nix
./TP-traitement-audio-visuel.nix
];
services.gatus.settings.endpoints = [
{ {
"/".return = "301 $scheme://git.fainsin.bzh/ENSEEIHT"; name = "n7.laurent.fainsin.bzh";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh";
interval = "15m";
conditions = [
"[CERTIFICATE_EXPIRATION] > 240h"
];
} }
// { ];
"/projet-audionumerique/" = import ./projet-audionumerique.nix {inherit inputs system;};
"/projet-systemes-algorithmes-repartis/" = import ./projet-systemes-algorithmes-repartis.nix {inherit inputs system;};
"/projet-intelligence-artificielle-multimedia/" = import ./projet-intelligence-artificielle-multimedia.nix {inherit inputs system;};
"/projet-probleme-inverse-3D/" = import ./projet-probleme-inverse-3D.nix pkgs;
"/projet-modelisation-geometrique/" = import ./projet-modelisation-geometrique.nix {inherit inputs system;};
"/projet-long/" = import ./projet-long.nix pkgs;
"/projet-oral-japonais/" = import ./projet-oral-japonais.nix {inherit inputs system;};
"/projet-oral-anglais/" = import ./projet-oral-anglais.nix {inherit inputs system;};
"/projet-fin-etude/" = import ./projet-fin-etude.nix pkgs;
}
// {
"/TP-calcul-parallele/" = import ./TP-calcul-parallele.nix {inherit inputs system;};
"/TP-reinforcement-learning/" = import ./TP-reinforcement-learning.nix {inherit inputs system;};
"/TP-traitement-audio-visuel/" = import ./TP-traitement-audio-visuel.nix {inherit inputs system;};
};
};
};
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-audionumerique/" = {
alias = inputs.projet-audionumerique.packages.${system}.slides + "/"; alias = inputs.projet-audionumerique.packages.${system}.slides + "/";
};
services.gatus.settings.endpoints = [
{
name = "projet-audionumerique";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-audionumerique/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*Whisper</h1>*)"
];
}
];
} }

View file

@ -5,7 +5,24 @@
sha256 = "sha256-pOu0lohJ1Yqg/a5hqnNTePTrU8t5By5AbhUAJfL5MBg="; sha256 = "sha256-pOu0lohJ1Yqg/a5hqnNTePTrU8t5By5AbhUAJfL5MBg=";
}; };
in { in {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-fin-etude/" = {
alias = "${pages}/"; alias = "${pages}/";
index = "index.html"; index = "index.html";
tryFiles = "$uri $uri/ /projet-fin-etude/index.html"; tryFiles = "$uri $uri/ /projet-fin-etude/index.html";
};
services.gatus.settings.endpoints = [
{
name = "projet-fin-etude";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-fin-etude/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*slidevjs/slidev*)"
"[BODY] == pat(*/projet-fin-etude/assets/index*)"
];
}
];
} }

View file

@ -3,7 +3,23 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-intelligence-artificielle-multimedia/" = {
alias = alias =
inputs.projet-intelligence-artificielle-multimedia.packages.${system}.slides inputs.projet-intelligence-artificielle-multimedia.packages.${system}.slides
+ "/"; + "/";
};
services.gatus.settings.endpoints = [
{
name = "projet-intelligence-artificielle-multimedia";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-intelligence-artificielle-multimedia/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*Projet IAM*)"
];
}
];
} }

View file

@ -5,7 +5,24 @@
sha256 = "1xwc0hfdn77183vvm6gadibdd0bh379192qkzf2xvidfhb8yzgqr"; sha256 = "1xwc0hfdn77183vvm6gadibdd0bh379192qkzf2xvidfhb8yzgqr";
}; };
in { in {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-long/" = {
alias = "${pages}/"; alias = "${pages}/";
index = "index.html"; index = "index.html";
tryFiles = "$uri $uri/ /projet-long/index.html"; tryFiles = "$uri $uri/ /projet-long/index.html";
};
services.gatus.settings.endpoints = [
{
name = "projet-long";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-long/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*slidevjs/slidev*)"
"[BODY] == pat(*/projet-long/assets/index*)"
];
}
];
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-modelisation-geometrique/" = {
alias = inputs.projet-modelisation-geometrique.packages.${system}.report + "/"; alias = inputs.projet-modelisation-geometrique.packages.${system}.report + "/";
};
services.gatus.settings.endpoints = [
{
name = "projet-modelisation-geometrique";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-modelisation-geometrique/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*Projet de Modélisation Géométrique*)"
];
}
];
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-oral-anglais/" = {
alias = inputs.projet-oral-anglais.packages.${system}.slides + "/"; alias = inputs.projet-oral-anglais.packages.${system}.slides + "/";
};
services.gatus.settings.endpoints = [
{
name = "projet-oral-anglais";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-oral-anglais/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*<title>CAPTCHA</title>*)"
];
}
];
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-oral-japonais/" = {
alias = inputs.projet-oral-japonais.packages.${system}.slides + "/"; alias = inputs.projet-oral-japonais.packages.${system}.slides + "/";
};
services.gatus.settings.endpoints = [
{
name = "projet-oral-japonais";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-oral-japonais/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(**)"
];
}
];
} }

View file

@ -5,7 +5,24 @@
sha256 = "19s8ccvarlps70aqc8njn92sbmmjbpc1d7q08hdb5apghmkplj9f"; sha256 = "19s8ccvarlps70aqc8njn92sbmmjbpc1d7q08hdb5apghmkplj9f";
}; };
in { in {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-probleme-inverse-3D/" = {
alias = "${pages}/"; alias = "${pages}/";
index = "index.html"; index = "index.html";
tryFiles = "$uri $uri/ /projet-probleme-inverse-3D/index.html"; tryFiles = "$uri $uri/ /projet-probleme-inverse-3D/index.html";
};
services.gatus.settings.endpoints = [
{
name = "projet-probleme-inverse-3D";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-probleme-inverse-3D/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*slidevjs/slidev*)"
"[BODY] == pat(*/projet-probleme-inverse-3D/assets/index*)"
];
}
];
} }

View file

@ -3,5 +3,21 @@
system, system,
... ...
}: { }: {
services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-systemes-algorithmes-repartis/" = {
alias = inputs.projet-systemes-algorithmes-repartis.packages.${system}.slides + "/"; alias = inputs.projet-systemes-algorithmes-repartis.packages.${system}.slides + "/";
};
services.gatus.settings.endpoints = [
{
name = "projet-systemes-algorithmes-repartis";
group = "n7.laurent.fainsin.bzh";
url = "https://n7.laurent.fainsin.bzh/projet-systemes-algorithmes-repartis/";
interval = "15m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
"[BODY] == pat(*The RAFT Consensus Algorithm*)"
];
}
];
} }