1
0
Fork 0
salty-dog/rules/grafana.yml

43 lines
1.2 KiB
YAML

name: grafana
rules:
- name: production dashboards should have production alerts
desc: dashboards with the production tag must use notification channels with production in the name
level: info
tags:
- grafana
- dashboard
# this is not the ideal selector for this rule, but tags are located at $.dashboard.tags, while notification
# channels are nested under $.dashboard.panels[*].alert.notifications[*].uid
select: '$.dashboard'
filter:
type: object
properties:
tags:
type: array
items:
type: string
contains:
pattern: production
check:
type: object
properties:
panels:
type: array
items:
type: object
properties:
alert:
type: object
properties:
notifications:
type: array
items:
type: object
required: [uid]
properties:
uid:
type: string
pattern: production