tadpole: Add whib-frontend service

This commit is contained in:
Alexander Heldt
2025-10-26 15:35:16 +01:00
parent 0e1b8581af
commit 3bb1c34c4e
2 changed files with 36 additions and 20 deletions

View File

@@ -23,6 +23,7 @@ in
pppdotpm-site.enable = true; pppdotpm-site.enable = true;
whib-backend.enable = true; whib-backend.enable = true;
whib-frontend.enable = true;
}; };
}; };
} }

View File

@@ -4,49 +4,64 @@
... ...
}: }:
let let
enabled = config.mod.whib-backend.enable; backendEnabled = config.mod.whib-backend.enable;
frontendEnabled = config.mod.whib-frontend.enable;
in in
{ {
options = { options = {
mod.whib-backend = { mod.whib-backend = {
enable = lib.mkEnableOption "enable WHIB backend"; enable = lib.mkEnableOption "enable WHIB backend";
}; };
mod.whib-frontend = {
enable = lib.mkEnableOption "enable WHIB frontend";
};
}; };
config = lib.mkIf enabled { config = {
assertions = [ assertions = [
{ {
assertion = config.services.nginx.enable; assertion = backendEnabled && config.services.nginx.enable;
message = "Option 'config.services.nginx' must be enabled"; message = "Option 'config.services.nginx' must be enabled";
} }
]; ];
services.whib-backend = { services = {
enable = true; whib-backend = lib.mkIf backendEnabled {
enable = true;
backend = { backend = {
domain = "api.whib.ppp.pm"; domain = "api.whib.ppp.pm";
useACMEHost = "api.whib.ppp.pm"; useACMEHost = "api.whib.ppp.pm";
environmentFile = config.age.secrets.whib-backend-env-vars.path; environmentFile = config.age.secrets.whib-backend-env-vars.path;
}; };
postgres = { postgres = {
environmentFile = config.age.secrets.whib-postgres-env-vars.path; environmentFile = config.age.secrets.whib-postgres-env-vars.path;
backup = { backup = {
interval = "*-*-* 00:00:00 UTC"; interval = "*-*-* 00:00:00 UTC";
environmentFile = config.age.secrets.whib-postgres-backup-env-vars.path; environmentFile = config.age.secrets.whib-postgres-backup-env-vars.path;
gpgPassphraseFile = config.age.secrets.whib-gpg-key.path; gpgPassphraseFile = config.age.secrets.whib-gpg-key.path;
};
};
grafana = {
domain = "grafana.whib.ppp.pm";
useACMEHost = "grafana.whib.ppp.pm";
environmentFile = config.age.secrets.whib-grafana-env-vars.path;
}; };
}; };
grafana = { whib-frontend = lib.mkIf frontendEnabled {
domain = "grafana.whib.ppp.pm"; enable = true;
useACMEHost = "grafana.whib.ppp.pm";
environmentFile = config.age.secrets.whib-grafana-env-vars.path; domain = "whib.ppp.pm";
useACMEHost = "whib.ppp.pm";
backendHost = "api.whib.ppp.pm";
}; };
}; };