{{- /*
Generated from 'grafana-overview' from https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/main/manifests/grafana-dashboardDefinitions.yaml
Do not change in-place! In order to change this file first read following link:
https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
*/ -}}
{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion .Values.kubeTargetVersionOverride }}
{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards) (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" $kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled }}
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) "grafana-overview" | trunc 63 | trimSuffix "-" }}
  annotations:
{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
  labels:
    {{- if $.Values.grafana.sidecar.dashboards.label }}
    {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary $.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty $.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
    {{- end }}
    app: {{ template "kube-prometheus-stack.name" $ }}-grafana
{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
data:
  grafana-overview.json: |-
    {
        "annotations": {
            "list": [
                {
                    "builtIn": 1,
                    "datasource": "-- Grafana --",
                    "enable": true,
                    "hide": true,
                    "iconColor": "rgba(0, 211, 255, 1)",
                    "name": "Annotations & Alerts",
                    "target": {
                        "limit": 100,
                        "matchAny": false,
                        "tags": [

                        ],
                        "type": "dashboard"
                    },
                    "type": "dashboard"
                }
            ]
        },
        "editable": true,
        "gnetId": null,
        "graphTooltip": 0,
        "id": 3085,
        "iteration": 1631554945276,
        "links": [

        ],
        "panels": [
            {
                "datasource": "$datasource",
                "fieldConfig": {
                    "defaults": {
                        "mappings": [

                        ],
                        "noValue": "0",
                        "thresholds": {
                            "mode": "absolute",
                            "steps": [
                                {
                                    "color": "green",
                                    "value": null
                                },
                                {
                                    "color": "red",
                                    "value": 80
                                }
                            ]
                        }
                    },
                    "overrides": [

                    ]
                },
                "gridPos": {
                    "h": 5,
                    "w": 6,
                    "x": 0,
                    "y": 0
                },
                "id": 6,
                "options": {
                    "colorMode": "value",
                    "graphMode": "area",
                    "justifyMode": "auto",
                    "orientation": "auto",
                    "reduceOptions": {
                        "calcs": [
                            "mean"
                        ],
                        "fields": "",
                        "values": false
                    },
                    "text": {

                    },
                    "textMode": "auto"
                },
                "pluginVersion": "8.1.3",
                "targets": [
                    {
                        "expr": "grafana_alerting_result_total{job=~\"$job\", instance=~\"$instance\", state=\"alerting\"}",
                        "instant": true,
                        "interval": "",
                        "legendFormat": "",
                        "refId": "A"
                    }
                ],
                "timeFrom": null,
                "timeShift": null,
                "title": "Firing Alerts",
                "type": "stat"
            },
            {
                "datasource": "$datasource",
                "fieldConfig": {
                    "defaults": {
                        "mappings": [

                        ],
                        "thresholds": {
                            "mode": "absolute",
                            "steps": [
                                {
                                    "color": "green",
                                    "value": null
                                },
                                {
                                    "color": "red",
                                    "value": 80
                                }
                            ]
                        }
                    },
                    "overrides": [

                    ]
                },
                "gridPos": {
                    "h": 5,
                    "w": 6,
                    "x": 6,
                    "y": 0
                },
                "id": 8,
                "options": {
                    "colorMode": "value",
                    "graphMode": "area",
                    "justifyMode": "auto",
                    "orientation": "auto",
                    "reduceOptions": {
                        "calcs": [
                            "mean"
                        ],
                        "fields": "",
                        "values": false
                    },
                    "text": {

                    },
                    "textMode": "auto"
                },
                "pluginVersion": "8.1.3",
                "targets": [
                    {
                        "expr": "sum(grafana_stat_totals_dashboard{job=~\"$job\", instance=~\"$instance\"})",
                        "interval": "",
                        "legendFormat": "",
                        "refId": "A"
                    }
                ],
                "timeFrom": null,
                "timeShift": null,
                "title": "Dashboards",
                "type": "stat"
            },
            {
                "datasource": "$datasource",
                "fieldConfig": {
                    "defaults": {
                        "custom": {
                            "align": null,
                            "displayMode": "auto"
                        },
                        "mappings": [

                        ],
                        "thresholds": {
                            "mode": "absolute",
                            "steps": [
                                {
                                    "color": "green",
                                    "value": null
                                },
                                {
                                    "color": "red",
                                    "value": 80
                                }
                            ]
                        }
                    },
                    "overrides": [

                    ]
                },
                "gridPos": {
                    "h": 5,
                    "w": 12,
                    "x": 12,
                    "y": 0
                },
                "id": 10,
                "options": {
                    "showHeader": true
                },
                "pluginVersion": "8.1.3",
                "targets": [
                    {
                        "expr": "grafana_build_info{job=~\"$job\", instance=~\"$instance\"}",
                        "instant": true,
                        "interval": "",
                        "legendFormat": "",
                        "refId": "A"
                    }
                ],
                "timeFrom": null,
                "timeShift": null,
                "title": "Build Info",
                "transformations": [
                    {
                        "id": "labelsToFields",
                        "options": {

                        }
                    },
                    {
                        "id": "organize",
                        "options": {
                            "excludeByName": {
                                "Time": true,
                                "Value": true,
                                "branch": true,
                                "container": true,
                                "goversion": true,
                                "namespace": true,
                                "pod": true,
                                "revision": true
                            },
                            "indexByName": {
                                "Time": 7,
                                "Value": 11,
                                "branch": 4,
                                "container": 8,
                                "edition": 2,
                                "goversion": 6,
                                "instance": 1,
                                "job": 0,
                                "namespace": 9,
                                "pod": 10,
                                "revision": 5,
                                "version": 3
                            },
                            "renameByName": {

                            }
                        }
                    }
                ],
                "type": "table"
            },
            {
                "aliasColors": {

                },
                "bars": false,
                "dashLength": 10,
                "dashes": false,
                "datasource": "$datasource",
                "fieldConfig": {
                    "defaults": {
                        "links": [

                        ]
                    },
                    "overrides": [

                    ]
                },
                "fill": 1,
                "fillGradient": 0,
                "gridPos": {
                    "h": 8,
                    "w": 12,
                    "x": 0,
                    "y": 5
                },
                "hiddenSeries": false,
                "id": 2,
                "legend": {
                    "avg": false,
                    "current": false,
                    "max": false,
                    "min": false,
                    "show": true,
                    "total": false,
                    "values": false
                },
                "lines": true,
                "linewidth": 1,
                "nullPointMode": "null",
                "options": {
                    "alertThreshold": true
                },
                "percentage": false,
                "pluginVersion": "8.1.3",
                "pointradius": 2,
                "points": false,
                "renderer": "flot",
                "seriesOverrides": [

                ],
                "spaceLength": 10,
                "stack": true,
                "steppedLine": false,
                "targets": [
                    {
                        "expr": "sum by (status_code) (irate(grafana_http_request_duration_seconds_count{job=~\"$job\", instance=~\"$instance\"}[1m])) ",
                        "interval": "",
                        "legendFormat": "{{`{{`}}status_code{{`}}`}}",
                        "refId": "A"
                    }
                ],
                "thresholds": [

                ],
                "timeFrom": null,
                "timeRegions": [

                ],
                "timeShift": null,
                "title": "RPS",
                "tooltip": {
                    "shared": true,
                    "sort": 0,
                    "value_type": "individual"
                },
                "type": "graph",
                "xaxis": {
                    "buckets": null,
                    "mode": "time",
                    "name": null,
                    "show": true,
                    "values": [

                    ]
                },
                "yaxes": [
                    {
                        "$$hashKey": "object:157",
                        "format": "reqps",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    },
                    {
                        "$$hashKey": "object:158",
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": false
                    }
                ],
                "yaxis": {
                    "align": false,
                    "alignLevel": null
                }
            },
            {
                "aliasColors": {

                },
                "bars": false,
                "dashLength": 10,
                "dashes": false,
                "datasource": "$datasource",
                "fieldConfig": {
                    "defaults": {
                        "links": [

                        ]
                    },
                    "overrides": [

                    ]
                },
                "fill": 1,
                "fillGradient": 0,
                "gridPos": {
                    "h": 8,
                    "w": 12,
                    "x": 12,
                    "y": 5
                },
                "hiddenSeries": false,
                "id": 4,
                "legend": {
                    "avg": false,
                    "current": false,
                    "max": false,
                    "min": false,
                    "show": true,
                    "total": false,
                    "values": false
                },
                "lines": true,
                "linewidth": 1,
                "nullPointMode": "null",
                "options": {
                    "alertThreshold": true
                },
                "percentage": false,
                "pluginVersion": "8.1.3",
                "pointradius": 2,
                "points": false,
                "renderer": "flot",
                "seriesOverrides": [

                ],
                "spaceLength": 10,
                "stack": false,
                "steppedLine": false,
                "targets": [
                    {
                        "exemplar": true,
                        "expr": "histogram_quantile(0.99, sum(irate(grafana_http_request_duration_seconds_bucket{instance=~\"$instance\", job=~\"$job\"}[$__rate_interval])) by (le)) * 1",
                        "interval": "",
                        "legendFormat": "99th Percentile",
                        "refId": "A"
                    },
                    {
                        "exemplar": true,
                        "expr": "histogram_quantile(0.50, sum(irate(grafana_http_request_duration_seconds_bucket{instance=~\"$instance\", job=~\"$job\"}[$__rate_interval])) by (le)) * 1",
                        "interval": "",
                        "legendFormat": "50th Percentile",
                        "refId": "B"
                    },
                    {
                        "exemplar": true,
                        "expr": "sum(irate(grafana_http_request_duration_seconds_sum{instance=~\"$instance\", job=~\"$job\"}[$__rate_interval])) * 1 / sum(irate(grafana_http_request_duration_seconds_count{instance=~\"$instance\", job=~\"$job\"}[$__rate_interval]))",
                        "interval": "",
                        "legendFormat": "Average",
                        "refId": "C"
                    }
                ],
                "thresholds": [

                ],
                "timeFrom": null,
                "timeRegions": [

                ],
                "timeShift": null,
                "title": "Request Latency",
                "tooltip": {
                    "shared": true,
                    "sort": 0,
                    "value_type": "individual"
                },
                "type": "graph",
                "xaxis": {
                    "buckets": null,
                    "mode": "time",
                    "name": null,
                    "show": true,
                    "values": [

                    ]
                },
                "yaxes": [
                    {
                        "$$hashKey": "object:210",
                        "format": "ms",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    },
                    {
                        "$$hashKey": "object:211",
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    }
                ],
                "yaxis": {
                    "align": false,
                    "alignLevel": null
                }
            }
        ],
        "schemaVersion": 30,
        "style": "dark",
        "tags": [

        ],
        "templating": {
            "list": [
                {
                    "current": {
                        "selected": true,
                        "text": "dev-cortex",
                        "value": "dev-cortex"
                    },
                    "description": null,
                    "error": null,
                    "hide": 0,
                    "includeAll": false,
                    "label": null,
                    "multi": false,
                    "name": "datasource",
                    "options": [

                    ],
                    "query": "prometheus",
                    "queryValue": "",
                    "refresh": 1,
                    "regex": "",
                    "skipUrlSync": false,
                    "type": "datasource"
                },
                {
                    "allValue": ".*",
                    "current": {
                        "selected": false,
                        "text": [
                            "default/grafana"
                        ],
                        "value": [
                            "default/grafana"
                        ]
                    },
                    "datasource": "$datasource",
                    "definition": "label_values(grafana_build_info, job)",
                    "description": null,
                    "error": null,
                    "hide": 0,
                    "includeAll": true,
                    "label": null,
                    "multi": true,
                    "name": "job",
                    "options": [

                    ],
                    "query": {
                        "query": "label_values(grafana_build_info, job)",
                        "refId": "Billing Admin-job-Variable-Query"
                    },
                    "refresh": 1,
                    "regex": "",
                    "skipUrlSync": false,
                    "sort": 0,
                    "tagValuesQuery": "",
                    "tagsQuery": "",
                    "type": "query",
                    "useTags": false
                },
                {
                    "allValue": ".*",
                    "current": {
                        "selected": false,
                        "text": "All",
                        "value": "$__all"
                    },
                    "datasource": "$datasource",
                    "definition": "label_values(grafana_build_info, instance)",
                    "description": null,
                    "error": null,
                    "hide": 0,
                    "includeAll": true,
                    "label": null,
                    "multi": true,
                    "name": "instance",
                    "options": [

                    ],
                    "query": {
                        "query": "label_values(grafana_build_info, instance)",
                        "refId": "Billing Admin-instance-Variable-Query"
                    },
                    "refresh": 1,
                    "regex": "",
                    "skipUrlSync": false,
                    "sort": 0,
                    "tagValuesQuery": "",
                    "tagsQuery": "",
                    "type": "query",
                    "useTags": false
                }
            ]
        },
        "time": {
            "from": "now-6h",
            "to": "now"
        },
        "timepicker": {
            "refresh_intervals": [
                "10s",
                "30s",
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "2h",
                "1d"
            ]
        },
        "timezone": "{{ .Values.grafana.defaultDashboardsTimezone }}",
        "title": "Grafana Overview",
        "uid": "6be0s85Mk",
        "version": 2
    }
{{- end }}