From e32e0e6e02de16098172c7fa66625cf6923ae8bc Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Wed, 5 Jun 2019 13:02:26 +0200 Subject: [PATCH] nixos/thanos: assert that prometheus2 is running and has labels set --- nixos/modules/services/monitoring/thanos.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nixos/modules/services/monitoring/thanos.nix b/nixos/modules/services/monitoring/thanos.nix index e920de1bd34..0bc0d67329c 100644 --- a/nixos/modules/services/monitoring/thanos.nix +++ b/nixos/modules/services/monitoring/thanos.nix @@ -661,6 +661,21 @@ in { config = mkMerge [ (mkIf cfg.sidecar.enable { + assertions = [ + { + assertion = config.services.prometheus2.enable; + message = + "Please enable services.prometheus2 when enabling services.thanos.sidecar."; + } + { + assertion = !(config.services.prometheus2.globalConfig.external_labels == null || + config.services.prometheus2.globalConfig.external_labels == {}); + message = + "services.thanos.sidecar requires uniquely identifying external labels " + + "to be configured in the Prometheus server. " + + "Please set services.prometheus2.globalConfig.external_labels."; + } + ]; systemd.services.thanos-sidecar = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" "prometheus2.service" ];