! exec pint -l debug --no-color lint rules
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=INFO msg="Loading configuration file" path=.pint.hcl
level=DEBUG msg="Adding pint config to the parser exclude list" path=.pint.hcl
level=INFO msg="Finding all rules to check" paths=["rules"]
level=DEBUG msg="File parsed" path=rules/0001.yml rules=1
level=DEBUG msg="Glob finder completed" count=1
level=INFO msg="Configured new Prometheus server" name=prom2 uris=1 uptime=up tags=[] include=[] exclude=[]
level=DEBUG msg="Starting query workers" name=prom2 uri=https://unique.example.com workers=16
level=INFO msg="Checking Prometheus rules" entries=1 workers=10 online=true
level=INFO msg="Finding Prometheus servers using file paths" dir=servers match=^(?P<name>\w+).ya?ml$
level=DEBUG msg="Path discovery match" match=^(?P<name>\w+).ya?ml$ path=prom1.yaml
level=DEBUG msg="Extracted regexp variables" regexp=^(?P<name>\w+).ya?ml$ vars={"name":"prom1"}
level=DEBUG msg="Rendered Prometheus server" name=prom1 uri=https://prom1.example.com headers=[] timeout=5s concurrency=16 rateLimit=100 uptime=up tags=["name/prom1"] required=true
level=DEBUG msg="Path discovery match" match=^(?P<name>\w+).ya?ml$ path=prom1.yml
level=DEBUG msg="Extracted regexp variables" regexp=^(?P<name>\w+).ya?ml$ vars={"name":"prom1"}
level=DEBUG msg="Rendered Prometheus server" name=prom1 uri=https://prom1.example.com headers=[] timeout=5s concurrency=16 rateLimit=100 uptime=up tags=["name/prom1"] required=true
level=DEBUG msg="Path discovery match" match=^(?P<name>\w+).ya?ml$ path=prom2.yaml
level=DEBUG msg="Extracted regexp variables" regexp=^(?P<name>\w+).ya?ml$ vars={"name":"prom2"}
level=DEBUG msg="Rendered Prometheus server" name=prom2 uri=https://prom2.example.com headers=[] timeout=5s concurrency=16 rateLimit=100 uptime=up tags=["name/prom2"] required=true
level=DEBUG msg="Path discovery match" match=^(?P<name>\w+).ya?ml$ path=prom2.yml
level=DEBUG msg="Extracted regexp variables" regexp=^(?P<name>\w+).ya?ml$ vars={"name":"prom2"}
level=DEBUG msg="Rendered Prometheus server" name=prom2 uri=https://prom2.example.com headers=[] timeout=5s concurrency=16 rateLimit=100 uptime=up tags=["name/prom2"] required=true
level=INFO msg="Configured new Prometheus server" name=prom1 uris=2 uptime=up tags=["name/prom1"] include=[] exclude=[]
level=DEBUG msg="Starting query workers" name=prom1 uri=https://prom1.example.com workers=16
level=DEBUG msg="Starting query workers" name=prom1 uri=https://prom1-backup.example.com workers=16
level=ERROR msg="Execution completed with error(s)" err="Duplicated name for Prometheus server definition: prom2"
-- rules/0001.yml --
groups:
- name: foo
  rules:
  - record: sum:up
    expr: sum(up)
-- servers/prom1.yml --
-- servers/prom1.yaml --
-- servers/prom2.yml --
-- servers/prom2.yaml --
-- .pint.hcl --
discovery {
  filepath {
    directory = "servers"
    match = "(?P<name>\\w+).ya?ml"
    template {
      name     = "{{ $name }}"
      uri      = "https://{{ $name }}.example.com"
      failover = [
        "https://{{ $name }}-backup.example.com"
      ]
      timeout  = "5s"
      required = true
      tags     = [
        "name/{{ $name }}"
      ]
    }
  }
}
prometheus "prom2" {
    uri      = "https://unique.example.com"
    timeout  = "5s"
}
