{ pkgs, config, lib, ... }: { services.prometheus.exporters.pve = { enable = true; configFile = "/etc/prometheus-pve-exporter/pve.yml"; }; users.users.pve-exporter = { isSystemUser = true; group = "pve-exporter"; }; users.groups.pve-exporter = { }; systemd.services."prometheus-pve-exporter".serviceConfig = { DynamicUser = lib.mkForce false; }; sops.secrets."pve.yaml" = { key = ""; path = "/etc/prometheus-pve-exporter/pve.yml"; owner = "pve-exporter"; group = "pve-exporter"; mode = "0440"; sopsFile = ../../secrets/pve.yaml; }; environment.etc."alloy/pve.alloy" = { text = '' prometheus.scrape "example" { // Collect metrics from the default listen address. targets = [{ __address__ = "127.0.0.1:9221", __scheme__ = "http", __metrics_path__ = "pve", __param_target__ = "94.45.255.1", }] forward_to = [prometheus.relabel.pve.receiver] } prometheus.relabel "pve" { forward_to = [prometheus.remote_write.default.receiver] rule { source_labels = [ __address__ ] target_label = __param_target } rule { source_labels = [ __param_target ] target_label = instance } rule { target_label = __address__ replacement = "pve-exporter:9221" } } ''; }; }