groups:
- name: Hardware alerts
  rules:
  - alert: Node down
    expr: up{job="node_exporter"} == 0
    #     ^ @promql
    for: 3m
    labels:
      severity: warning
    annotations:
      title: Node {{ $labels.instance }} is down
      description: Failed to scrape {{ $labels.job }} on {{ $labels.instance }} for more than 3 minutes. Node seems down.
  - alert: Node down
    expr: |
      up{job="node_exporter"} == 0
    # ^ @promql
    for: 3m
    labels:
      severity: warning
  - alert: Regex and String matching
    expr: |
      foo{path=~"^foo$"}[5m] or foo{path!~"[a-zA-Z0-9]{1,3}"}[5m] or foo{path="/api/users/{userId}"}[5m] or foo{path!="/api/users/{userId}"}[5m]
    # ^ @promql
    #            ^ @regex
    #                                      ^ @regex
    #                                                                          ^ @!regex
    #                                                                                                                  ^ @!regex
    for: 3m
    labels:
      severity: warning
    annotations:
      title: Foo
      description: Bar
