summaryrefslogtreecommitdiff
path: root/modules/nixos/mixins/grafana.nix
diff options
context:
space:
mode:
authorSeth Flynn <[email protected]>2025-02-20 04:19:27 -0500
committerSeth Flynn <[email protected]>2025-02-20 04:19:27 -0500
commita8cb1f33b2c0ea49c434b5f251fe45938d050f6a (patch)
tree8d5f992762727b93228452278db64332b844c407 /modules/nixos/mixins/grafana.nix
parent257d26ce3886ee8778565d8c214848d64a40ff0d (diff)
nixos: include nginx proxies in mixins
Diffstat (limited to 'modules/nixos/mixins/grafana.nix')
-rw-r--r--modules/nixos/mixins/grafana.nix19
1 files changed, 17 insertions, 2 deletions
diff --git a/modules/nixos/mixins/grafana.nix b/modules/nixos/mixins/grafana.nix
index 6d6a942..03f2c6a 100644
--- a/modules/nixos/mixins/grafana.nix
+++ b/modules/nixos/mixins/grafana.nix
@@ -5,6 +5,10 @@
...
}:
+let
+ grafanaCfg = config.services.grafana;
+in
+
{
config = lib.mkMerge [
{
@@ -21,12 +25,23 @@
domain = lib.mkDefault ("grafana." + config.networking.domain);
enable_gzip = true;
enforce_domain = true;
- root_url = "https://" + config.services.grafana.settings.server.domain + "/";
+ root_url = "https://" + grafanaCfg.settings.server.domain + "/";
};
};
};
}
+ (lib.mkIf grafanaCfg.enable {
+ services = {
+ nginx.virtualHosts.${grafanaCfg.settings.server.domain} = {
+ locations."/" = {
+ proxyPass = "http://${grafanaCfg.settings.server.http_addr}:${toString grafanaCfg.settings.server.http_port}";
+ proxyWebsockets = true;
+ };
+ };
+ };
+ })
+
(lib.mkIf config.services.kanidm.enableServer {
services.grafana = {
settings = {
@@ -56,7 +71,7 @@
};
})
- (lib.mkIf (config.services.grafana.enable && config.services.kanidm.enableServer) {
+ (lib.mkIf (grafanaCfg.enable && config.services.kanidm.enableServer) {
age.secrets.grafanaKanidm = {
file = secretsDir + "/grafanaKanidmSecret.age";
owner = config.users.users.grafana.name;