{ config, ... }: { config.services.victoriametrics = { enable = true; extraOptions = [ "-storage.minFreeDiskSpaceBytes=5GB" ]; scrapeConfigs = { forgejo = { targets = [ "127.0.0.1:${toString config.services.forgejo.settings.server.HTTP_PORT}" ]; extraSettings.authorization.credentials_file = config.sops.secrets."forgejo/metrics-token".path; }; coturn.targets = [ "127.0.0.1:9641" ]; crowdsec.targets = let address = config.security.crowdsec.settings.prometheus.listen_addr; port = config.security.crowdsec.settings.prometheus.listen_port; in [ "${address}:${toString port}" ]; csFirewallBouncer.targets = let address = config.security.crowdsec.remediationComponents.firewallBouncer.settings.prometheus.listen_addr; port = config.security.crowdsec.remediationComponents.firewallBouncer.settings.prometheus.listen_port; in [ "${address}:${toString port}" ]; # Configured in the hookshot listeners, but it's hard to filter # the correct values out of that config. matrixHookshot.targets = [ "127.0.0.1:9001" ]; }; }; }