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

-- stderr.txt --
level=info msg="Loading configuration file" path=.pint.hcl
rules/1.yml:22-23 Bug: summary annotation is required (alerts/annotation)
 22 |           - alert: Example_High_Restart_Rate
 23 |             expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m])) > ( 3/60 )

rules/1.yml:22-23 Bug: priority label is required (rule/label)
 22 |           - alert: Example_High_Restart_Rate
 23 |             expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m])) > ( 3/60 )

rules/1.yml:24-25 Bug: summary annotation is required (alerts/annotation)
 24 |           - alert: Invalid Query
 25 |             expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m]) / x

rules/1.yml:24-25 Bug: priority label is required (rule/label)
 24 |           - alert: Invalid Query
 25 |             expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m]) / x

rules/1.yml:25 Fatal: syntax error: no arguments for aggregate expression provided (promql/syntax)
 25 |             expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m]) / x

rules/1.yml:28 Fatal: duplicated expr key (yaml/parse)
 28 |             expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m])) > ( 3/60 )

level=info msg="Problems found" Bug=4 Fatal=2
level=fatal msg="Fatal error" error="problems found"
-- rules/1.yml --
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: example-app-alerts
  labels:
  app: example-app
data:
  alerts: |
    groups:
      - name: example-app-alerts
        rules:
          - alert: Example_Is_Down
            expr: kube_deployment_status_replicas_available{namespace="example-app"} < 1
            for: 5m
            labels:
              priority: "2"
              environment: production
            annotations:
              summary: "No replicas for Example have been running for 5 minutes"

          - alert: Example_High_Restart_Rate
            expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m])) > ( 3/60 )
          - alert: Invalid Query
            expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m]) / x
          - alert: Duplicated Expr
            expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m])) > ( 3/60 )
            expr: sum(rate(kube_pod_container_status_restarts_total{namespace="example-app"}[5m])) > ( 3/60 )

-- .pint.hcl --
parser {
  relaxed = [".*"]
}
rule {
  match { kind = "alerting" }
  label "priority" {
    severity = "bug"
    value    = "(1|2|3|4|5)"
    required = true
  }
  annotation "summary" {
    severity = "bug"
    required = true
  }
}
