fix(monitoring): moonraker/fluidd status

This commit is contained in:
arcnmx 2024-08-11 15:16:30 -07:00
parent cd83456843
commit bd27fd4fcb
3 changed files with 13 additions and 5 deletions

View file

@ -1,10 +1,12 @@
{
config,
lib,
gensokyo-zone,
...
}: let
inherit (gensokyo-zone.lib) mkAlmostOptionDefault;
inherit (lib.modules) mkIf;
systemConfig = config;
in {
config.exports.services.fluidd = {config, ...}: {
displayName = mkAlmostOptionDefault "Fluidd";
@ -13,13 +15,13 @@ in {
serviceAttr = "fluidd";
assertions = let
mkAssertion = f: nixosConfig: let
cfg = nixosConfig.services.nginx;
cfg = nixosConfig.services.fluidd;
in
f nixosConfig cfg;
in
mkIf config.enable [
(mkAssertion (nixosConfig: cfg: {
assertion = config.ports.default.port == 80;
assertion = config.ports.default.port == nixosConfig.services.nginx.proxied.listenPort;
message = "port mismatch";
}))
];
@ -27,11 +29,11 @@ in {
defaults.port.listen = mkAlmostOptionDefault "lan";
ports = {
default = {
port = mkAlmostOptionDefault 80;
port = mkAlmostOptionDefault systemConfig.exports.services.nginx.ports.proxied.port;
protocol = "http";
status = {
enable = mkAlmostOptionDefault true;
gatus.client.network = mkAlmostOptionDefault "ip4";
gatus.settings.headers.Host = mkAlmostOptionDefault "fluidd_internal";
};
prometheus.exporter.enable = mkAlmostOptionDefault true;
};

View file

@ -29,7 +29,10 @@ in {
default = {
port = mkAlmostOptionDefault 7125;
protocol = "http";
status.enable = mkAlmostOptionDefault true;
status = {
enable = mkAlmostOptionDefault true;
gatus.client.network = mkAlmostOptionDefault "ip4";
};
};
};
};

View file

@ -1,6 +1,7 @@
{ config, gensokyo-zone, lib, ... }: let
inherit (gensokyo-zone.lib) domain;
inherit (lib.modules) mkIf mkDefault;
inherit (lib.strings) removePrefix;
cfg = config.services.fluidd;
serverName = "@fluidd_internal";
virtualHost = config.services.nginx.virtualHosts.${cfg.hostName};
@ -22,6 +23,8 @@ in {
};
${serverName} = {
# https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/web-apps/fluidd.nix
# XXX: non-@ host required for gatus to work
serverAliases = [ (removePrefix "@" serverName) ];
proxied.enable = true;
# TODO: proxy.upstream = "fluidd-apiserver";
proxy.url = "http://fluidd-apiserver";