lib/prom_ex/grafana_client/dashboard_checker.ex
defmodule PromEx.GrafanaClient.DashboardChecker do
@moduledoc """
This module is used to validate Grafana dashboard to ensure that
they adhere to certain style and structure requirements.
"""
# TODO: Items to check for to ensure uniformity
# - Shared cross hair
# - Y Axis min 0 on non-negative data
# - Y axis labels
# - Ensure null ID field value
# - Ensure readonly dashboard
# - Ensure uid is prefixed with "prom_ex_"
# - Ensure version is always at 1
# - Ensure timeline is current time - 1h
# - Ensure refresh interval is 5s
# - Check for default panel names
# - Check for dashboard name format "PromEx - .*"
# - Check for 3 variables: time aggregate, job, instance
# - Check for PromEx tags: PromEx, Plugin name, prometheus
# - Ensure that help tips end in a period
# - Check for template strings in datasource fields
end