diff options
| author | Franck Cuny <franck@fcuny.net> | 2023-04-23 13:37:03 -0700 |
|---|---|---|
| committer | Franck Cuny <franck@fcuny.net> | 2023-04-23 14:29:06 -0700 |
| commit | 251379d6084849f26866226b4bd0391216a8ccec (patch) | |
| tree | 448c3517fe994c0dca98f4e9c958ef503bfd7eff /modules/services/grafana/default.nix | |
| parent | modules/grafana: add loki as a source to grafana (diff) | |
| download | infra-251379d6084849f26866226b4bd0391216a8ccec.tar.gz | |
modules/monitoring: consolidate all monitoring services together
This will help to organize and structure monitoring modules a bit
better.
Diffstat (limited to 'modules/services/grafana/default.nix')
| -rw-r--r-- | modules/services/grafana/default.nix | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/modules/services/grafana/default.nix b/modules/services/grafana/default.nix deleted file mode 100644 index ded6930..0000000 --- a/modules/services/grafana/default.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.my.services.grafana; - secrets = config.age.secrets; -in -{ - options.my.services.grafana = with lib; { - enable = mkEnableOption "grafana observability stack"; - vhostName = mkOption { - type = types.str; - example = "dash.fcuny.net"; - description = "Name for the virtual host"; - }; - }; - - config = lib.mkIf cfg.enable { - services.grafana = { - enable = true; - settings = { - security.adminUser = "fcuny"; - analytics.reporting_enabled = false; - server.http_port = 4000; - server.http_addr = "127.0.0.1"; - }; - provision = { - enable = true; - datasources.settings.datasources = [ - { - name = "prometheus"; - type = "prometheus"; - isDefault = true; - url = "http://localhost:9090"; - } - { - name = "loki"; - url = "http://192.168.6.40:3100"; - type = "loki"; - } - ]; - dashboards.settings.providers = [{ - disableDeletion = true; - options.path = ./dashboards; - }]; - }; - }; - - services.nginx.virtualHosts."${cfg.vhostName}" = { - forceSSL = true; - useACMEHost = cfg.vhostName; - listen = [ - { - addr = "100.85.232.66"; - port = 443; - ssl = true; - } - { - addr = "100.85.232.66"; - port = 80; - ssl = false; - } - ]; - locations."/" = { - proxyPass = "http://${config.services.grafana.settings.server.http_addr}:${ - toString config.services.grafana.settings.server.http_port - }"; - proxyWebsockets = true; - }; - }; - - security.acme.certs."${cfg.vhostName}" = { - dnsProvider = "gcloud"; - credentialsFile = secrets."acme/credentials".path; - }; - - my.services.backup = { - paths = [ "/var/lib/grafana" ]; - exclude = [ - "/var/lib/grafana/data/log/" - "/var/lib/grafana/log/" - ]; - }; - }; -} |
