From 3e566faca65cc5275c4ef430823e1f15914e2c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laure=CE=B7t?= Date: Sun, 6 Oct 2024 18:15:10 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=9A=20(cesium)=20move=20gatus=20endpoi?= =?UTF-8?q?nts=20in=20their=20associated=20services?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hosts/cesium/services/atuin.nix | 15 ++ hosts/cesium/services/default.nix | 2 +- .../services/{gitea.nix => forgejo.nix} | 15 ++ hosts/cesium/services/gatus.nix | 199 ------------------ .../cesium/services/nginx/laurent/resume.nix | 14 ++ .../cesium/services/nginx/laurent/website.nix | 23 ++ .../services/nginx/n7/TP-calcul-parallele.nix | 18 +- .../nginx/n7/TP-reinforcement-learning.nix | 18 +- .../nginx/n7/TP-traitement-audio-visuel.nix | 18 +- hosts/cesium/services/nginx/n7/default.nix | 55 ++--- .../nginx/n7/projet-audionumerique.nix | 18 +- .../services/nginx/n7/projet-fin-etude.nix | 23 +- ...t-intelligence-artificielle-multimedia.nix | 22 +- .../cesium/services/nginx/n7/projet-long.nix | 23 +- .../n7/projet-modelisation-geometrique.nix | 18 +- .../services/nginx/n7/projet-oral-anglais.nix | 18 +- .../nginx/n7/projet-oral-japonais.nix | 18 +- .../nginx/n7/projet-probleme-inverse-3D.nix | 23 +- .../projet-systemes-algorithmes-repartis.nix | 18 +- 19 files changed, 312 insertions(+), 246 deletions(-) rename hosts/cesium/services/{gitea.nix => forgejo.nix} (70%) diff --git a/hosts/cesium/services/atuin.nix b/hosts/cesium/services/atuin.nix index cfb56f6..445bcca 100644 --- a/hosts/cesium/services/atuin.nix +++ b/hosts/cesium/services/atuin.nix @@ -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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/default.nix b/hosts/cesium/services/default.nix index 4b1852e..69f04bd 100644 --- a/hosts/cesium/services/default.nix +++ b/hosts/cesium/services/default.nix @@ -5,7 +5,7 @@ ./atuin.nix ./fail2ban.nix ./gatus.nix - ./gitea.nix + ./forgejo.nix ./ssh.nix ]; } diff --git a/hosts/cesium/services/gitea.nix b/hosts/cesium/services/forgejo.nix similarity index 70% rename from hosts/cesium/services/gitea.nix rename to hosts/cesium/services/forgejo.nix index 40eb4f8..fb7b509 100644 --- a/hosts/cesium/services/gitea.nix +++ b/hosts/cesium/services/forgejo.nix @@ -37,4 +37,19 @@ 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(*Explore - Forgejo: Beyond coding. We Forge.*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/gatus.nix b/hosts/cesium/services/gatus.nix index 8e0b01e..2814f1a 100644 --- a/hosts/cesium/services/gatus.nix +++ b/hosts/cesium/services/gatus.nix @@ -6,61 +6,6 @@ web.port = 2020; 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(*Laurent Fainsin*)" - "[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(*Explore - Forgejo: Beyond coding. We Forge.*)" - ]; - } - { - 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"; group = "services"; @@ -73,150 +18,6 @@ "[BODY] == pat(*Health Dashboard | Gatus*)" ]; } - { - 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*)" - ]; - } - { - 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(*CAPTCHA*)" - ]; - } - { - 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(*Benchmarking Distributed GEMM Algorithms*)" - ]; - } - { - 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*)" - ]; - } ]; }; }; diff --git a/hosts/cesium/services/nginx/laurent/resume.nix b/hosts/cesium/services/nginx/laurent/resume.nix index b83cf1f..098fcb3 100644 --- a/hosts/cesium/services/nginx/laurent/resume.nix +++ b/hosts/cesium/services/nginx/laurent/resume.nix @@ -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" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/laurent/website.nix b/hosts/cesium/services/nginx/laurent/website.nix index eea8de8..4396859 100644 --- a/hosts/cesium/services/nginx/laurent/website.nix +++ b/hosts/cesium/services/nginx/laurent/website.nix @@ -23,4 +23,27 @@ 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(*Laurent Fainsin*)" + "[CERTIFICATE_EXPIRATION] > 240h" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/TP-calcul-parallele.nix b/hosts/cesium/services/nginx/n7/TP-calcul-parallele.nix index 37b8d17..69019bd 100644 --- a/hosts/cesium/services/nginx/n7/TP-calcul-parallele.nix +++ b/hosts/cesium/services/nginx/n7/TP-calcul-parallele.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.TP-calcul-parallele.packages.${system}.report + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/TP-calcul-parallele/" = { + 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(*Benchmarking Distributed GEMM Algorithms*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/TP-reinforcement-learning.nix b/hosts/cesium/services/nginx/n7/TP-reinforcement-learning.nix index 722d9e2..453ad42 100644 --- a/hosts/cesium/services/nginx/n7/TP-reinforcement-learning.nix +++ b/hosts/cesium/services/nginx/n7/TP-reinforcement-learning.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.TP-reinforcement-learning.packages.${system}.notebooks + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/TP-reinforcement-learning/" = { + 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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/TP-traitement-audio-visuel.nix b/hosts/cesium/services/nginx/n7/TP-traitement-audio-visuel.nix index dc9bc38..e2551fc 100644 --- a/hosts/cesium/services/nginx/n7/TP-traitement-audio-visuel.nix +++ b/hosts/cesium/services/nginx/n7/TP-traitement-audio-visuel.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.TP-traitement-audio-visuel.packages.${system}.notebooks + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/TP-traitement-audio-visuel/" = { + 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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/default.nix b/hosts/cesium/services/nginx/n7/default.nix index aa9d52d..50a6c76 100644 --- a/hosts/cesium/services/nginx/n7/default.nix +++ b/hosts/cesium/services/nginx/n7/default.nix @@ -1,34 +1,37 @@ -{ - inputs, - system, - pkgs, - ... -}: { +{...}: { services.nginx.virtualHosts = { "n7.laurent.fainsin.bzh" = { enableACME = true; forceSSL = true; - locations = - { - "/".return = "301 $scheme://git.fainsin.bzh/ENSEEIHT"; - } - // { - "/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;}; - }; + 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 = [ + { + name = "n7.laurent.fainsin.bzh"; + group = "n7.laurent.fainsin.bzh"; + url = "https://n7.laurent.fainsin.bzh"; + interval = "15m"; + conditions = [ + "[CERTIFICATE_EXPIRATION] > 240h" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-audionumerique.nix b/hosts/cesium/services/nginx/n7/projet-audionumerique.nix index 6b91881..638f5e3 100644 --- a/hosts/cesium/services/nginx/n7/projet-audionumerique.nix +++ b/hosts/cesium/services/nginx/n7/projet-audionumerique.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.projet-audionumerique.packages.${system}.slides + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-audionumerique/" = { + 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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-fin-etude.nix b/hosts/cesium/services/nginx/n7/projet-fin-etude.nix index dc0c304..6d19ca3 100644 --- a/hosts/cesium/services/nginx/n7/projet-fin-etude.nix +++ b/hosts/cesium/services/nginx/n7/projet-fin-etude.nix @@ -5,7 +5,24 @@ sha256 = "sha256-pOu0lohJ1Yqg/a5hqnNTePTrU8t5By5AbhUAJfL5MBg="; }; in { - alias = "${pages}/"; - index = "index.html"; - tryFiles = "$uri $uri/ /projet-fin-etude/index.html"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-fin-etude/" = { + alias = "${pages}/"; + index = "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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-intelligence-artificielle-multimedia.nix b/hosts/cesium/services/nginx/n7/projet-intelligence-artificielle-multimedia.nix index c6d3a3a..d9a7ef0 100644 --- a/hosts/cesium/services/nginx/n7/projet-intelligence-artificielle-multimedia.nix +++ b/hosts/cesium/services/nginx/n7/projet-intelligence-artificielle-multimedia.nix @@ -3,7 +3,23 @@ system, ... }: { - alias = - inputs.projet-intelligence-artificielle-multimedia.packages.${system}.slides - + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-intelligence-artificielle-multimedia/" = { + alias = + 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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-long.nix b/hosts/cesium/services/nginx/n7/projet-long.nix index e2385b8..80f1a7d 100644 --- a/hosts/cesium/services/nginx/n7/projet-long.nix +++ b/hosts/cesium/services/nginx/n7/projet-long.nix @@ -5,7 +5,24 @@ sha256 = "1xwc0hfdn77183vvm6gadibdd0bh379192qkzf2xvidfhb8yzgqr"; }; in { - alias = "${pages}/"; - index = "index.html"; - tryFiles = "$uri $uri/ /projet-long/index.html"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-long/" = { + alias = "${pages}/"; + index = "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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-modelisation-geometrique.nix b/hosts/cesium/services/nginx/n7/projet-modelisation-geometrique.nix index fa44997..30e7ef0 100644 --- a/hosts/cesium/services/nginx/n7/projet-modelisation-geometrique.nix +++ b/hosts/cesium/services/nginx/n7/projet-modelisation-geometrique.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.projet-modelisation-geometrique.packages.${system}.report + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-modelisation-geometrique/" = { + 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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-oral-anglais.nix b/hosts/cesium/services/nginx/n7/projet-oral-anglais.nix index 4eb0e03..f868068 100644 --- a/hosts/cesium/services/nginx/n7/projet-oral-anglais.nix +++ b/hosts/cesium/services/nginx/n7/projet-oral-anglais.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.projet-oral-anglais.packages.${system}.slides + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-oral-anglais/" = { + 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(*CAPTCHA*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-oral-japonais.nix b/hosts/cesium/services/nginx/n7/projet-oral-japonais.nix index ff2df1a..f7a9184 100644 --- a/hosts/cesium/services/nginx/n7/projet-oral-japonais.nix +++ b/hosts/cesium/services/nginx/n7/projet-oral-japonais.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.projet-oral-japonais.packages.${system}.slides + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-oral-japonais/" = { + 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(*わたしたちのまちは*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-probleme-inverse-3D.nix b/hosts/cesium/services/nginx/n7/projet-probleme-inverse-3D.nix index aab8d84..7b3292a 100644 --- a/hosts/cesium/services/nginx/n7/projet-probleme-inverse-3D.nix +++ b/hosts/cesium/services/nginx/n7/projet-probleme-inverse-3D.nix @@ -5,7 +5,24 @@ sha256 = "19s8ccvarlps70aqc8njn92sbmmjbpc1d7q08hdb5apghmkplj9f"; }; in { - alias = "${pages}/"; - index = "index.html"; - tryFiles = "$uri $uri/ /projet-probleme-inverse-3D/index.html"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-probleme-inverse-3D/" = { + alias = "${pages}/"; + index = "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*)" + ]; + } + ]; } diff --git a/hosts/cesium/services/nginx/n7/projet-systemes-algorithmes-repartis.nix b/hosts/cesium/services/nginx/n7/projet-systemes-algorithmes-repartis.nix index 2afb004..77cddfb 100644 --- a/hosts/cesium/services/nginx/n7/projet-systemes-algorithmes-repartis.nix +++ b/hosts/cesium/services/nginx/n7/projet-systemes-algorithmes-repartis.nix @@ -3,5 +3,21 @@ system, ... }: { - alias = inputs.projet-systemes-algorithmes-repartis.packages.${system}.slides + "/"; + services.nginx.virtualHosts."n7.laurent.fainsin.bzh".locations."/projet-systemes-algorithmes-repartis/" = { + 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*)" + ]; + } + ]; }