From 03c092579a32d05de1ecc46b8307e5da06ed57b6 Mon Sep 17 00:00:00 2001
From: Georg Haas <hax404foogit@hax404.de>
Date: Thu, 29 Apr 2021 23:30:36 +0200
Subject: [PATCH] prometheus-xmpp-alerts: apply RFC 42
---
.../monitoring/prometheus/xmpp-alerts.nix | 26 ++++++++++++-------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix b/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix
index 44b15cb2034..980c93c9c47 100644
--- a/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix
+++ b/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix
@@ -4,21 +4,29 @@ with lib;
let
cfg = config.services.prometheus.xmpp-alerts;
-
- configFile = pkgs.writeText "prometheus-xmpp-alerts.yml" (builtins.toJSON cfg.configuration);
-
+ settingsFormat = pkgs.formats.yaml {};
+ configFile = settingsFormat.generate "prometheus-xmpp-alerts.yml" cfg.settings;
in
-
{
- options.services.prometheus.xmpp-alerts = {
+ imports = [
+ (mkRenamedOptionModule
+ [ "services" "prometheus" "xmpp-alerts" "configuration" ]
+ [ "services" "prometheus" "xmpp-alerts" "settings" ])
+ ];
+ options.services.prometheus.xmpp-alerts = {
enable = mkEnableOption "XMPP Web hook service for Alertmanager";
- configuration = mkOption {
- type = types.attrs;
- description = "Configuration as attribute set which will be converted to YAML";
- };
+ settings = mkOption {
+ type = settingsFormat.type;
+ default = {};
+ description = ''
+ Configuration for prometheus xmpp-alerts, see
+ <link xlink:href="https://github.com/jelmer/prometheus-xmpp-alerts/blob/master/xmpp-alerts.yml.example"/>
+ for supported values.
+ '';
+ };
};
config = mkIf cfg.enable {