Skip to content

v3.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 23 Jul 15:50
· 21 commits to master since this release
  • Changed: Updated README.md installation instructions, to install latest version use go install github.com/fusakla/promruval/v3.
  • Fixed: ⚠️ Unmarshalling of the rule files is strict again, this behavior was unintentionally brought when adding support for yaml comments.
  • Changed: ⚠️ Renamed hasValidPartialStrategy to hasValidPartialResponseStrategy as it was documented so it is actually a fix
  • Changed: ⚠️ Disallow special rule file fields of Thanos, Mimir or Loki by default
    To enable them, you need to set some of the new flags described below
  • Changed: The Prometheus results cache format has changed to reduce it's size and improve performance. Delete the old cache file before upgrade.
    Also now if the cache contains time of creation and URL of the Prometheus it has data for. From now on, if the URL does not match, the case is pruned.
  • Added: 🚀 Support for validation of rule files in the Jsonnet format.
  • Added: New flags --support-thanos, --support-mimir, --support-loki to enable special rule file fields of Thanos, Mimir or Loki
  • Added: 🎉 Support for validation of Loki rules! Now you can validate Loki rules as well. First two validators are:
    • expressionIsValidLogQL to check if the expression is a valid LogQL query
    • logQlExpressionUsesRangeAggregation to check if the LogQL expression uses range aggregation
    • logQlExpressionUsesFiltersFirst to check if the LogQL expression uses filters first in the query since it is more efficient
  • Added: Support for alert field keep_firing_for
  • Added: Support for the query_offset field in the rule group
  • Added: New validator expressionIsValidPromQL to check if the expression is a valid PromQL query
  • Added: Support for bearer token authentication in the prometheus section of the config using the bearerTokenFile field or by specifying the PROMETHEUS_BEARER_TOKEN env variable.
  • Added: maximumMatchingSeries option to the expressionSelectorsMatchesAnything validator to check maximum number of series any selector can match.
  • Added: new config options to the prometheus section of config:
    • queryOffset: Specify offset(delay) of the query (useful for consistency if using remote write for example).
    • queryLookback: How long into the past to look in queries supporting time range (just metadata queries for now).
  • Added: New validator alertNameMatchesRegexp to check if the alert name matches the regexp.
  • Added: New validator groupNameMatchesRegexp to check if the rule group name matches the regexp.
  • Added: New validator recordedMetricNameMatchesRegexp to check if the recorded metric name matches the regexp.
  • Added: Set the User-Agent header in the Prometheus requests to promruva to identify the client.
  • Added: Automatically configure the X-ScopeOrgID header in the Prometheus requests if the source_tenants field is set in the rule group.
  • Fixed: Rules count in the result stats is now correct.
  • Fixed: Better error message when validation rule is missing scope.
  • Fixed: Loading glob patterns in the file paths to rules
  • Fixed: Params of the expressionCanBeEvaluated validator were ignored, this is now fixed.
  • Updated: Prometheus and other dependencies
  • CI: Updated Github actions for golangcilint and goreleaser