http response prometheus /api/v1/metadata 200 {"status":"success","data":{}}
http response prometheus /api/v1/status/config 200 {"status":"success","data":{"yaml":"global:\n  scrape_interval: 30s\n"}}
http response prometheus /api/v1/status/flags 200 {"status":"success","data":{"storage.tsdb.retention.time": "1d"}}
http response prometheus /api/v1/query_range 200 {"status":"success","data":{"resultType":"matrix","result":[]}}
http response prometheus /api/v1/query 200 {"status":"success","data":{"resultType":"vector","result":[]}}
http start prometheus 127.0.0.1:7080

pint.ok --no-color lint rules
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=info msg="Loading configuration file" path=.pint.hcl
level=warn msg="No results for Prometheus uptime metric, you might have set uptime config option to a missing metric, please check your config" metric=prometheus_ready name=prom1
rules/1.yml:2 Warning: http_errors_total[2d] selector is trying to query Prometheus for 2d worth of metrics, but prometheus "prom1" at http://127.0.0.1:7080 is configured to only keep 1d of metrics history (promql/range_query)
 2 |   expr: rate(http_errors_total[2d]) > 0

rules/1.yml:2 Warning: prometheus "prom1" at http://127.0.0.1:7080 didn't have any series for "http_errors_total" metric in the last 1w. Metric name "http_errors_total" matches "promql/series" check ignore regexp "^.+_errors_.+$" (promql/series)
 2 |   expr: rate(http_errors_total[2d]) > 0

level=info msg="Problems found" Warning=2
-- rules/1.yml --
- alert: http errors
  expr: rate(http_errors_total[2d]) > 0

-- .pint.hcl --
prometheus "prom1" {
  uri      = "http://127.0.0.1:7080"
  timeout  = "5s"
  required = true
  uptime   = "prometheus_ready"
}
parser {
  relaxed = [".*"]
}
check "promql/series" {
    ignoreMetrics = [
        ".+_error",
        ".+_error_.+",
        ".+_errors",
        ".+_errors_.+",
    ]
}
