diff --git a/kube-prometheus-stack/templates/gitlab-runner-dashboard.yaml b/kube-prometheus-stack/templates/gitlab-runner-dashboard.yaml
new file mode 100644
index 0000000..135498f
--- /dev/null
+++ b/kube-prometheus-stack/templates/gitlab-runner-dashboard.yaml
@@ -0,0 +1,1562 @@
+#apiVersion: v1
+#kind: ConfigMap
+#metadata:
+# labels:
+# grafana_dashboard: "1"
+# name: gitlab-runner-dashboard
+# namespace: kube-prometheus-stack
+#data:
+# gitlab-runner-dashboard.json: |-
+# {
+# "annotations": {
+# "list": [
+# {
+# "builtIn": 1,
+# "datasource": {
+# "type": "datasource",
+# "uid": "grafana"
+# },
+# "enable": true,
+# "hide": true,
+# "iconColor": "rgba(0, 211, 255, 1)",
+# "name": "Annotations & Alerts",
+# "target": {
+# "limit": 100,
+# "matchAny": false,
+# "tags": [],
+# "type": "dashboard"
+# },
+# "type": "dashboard"
+# }
+# ]
+# },
+# "description": "This dashboard leverages the Prometheus exporter I wrote to fetch information about GitLab CI pipelines statuses. More information here: https://github.com/mvisonneau/gitlab-ci-pipelines-exporter",
+# "editable": true,
+# "fiscalYearStartMonth": 0,
+# "gnetId": 10620,
+# "graphTooltip": 0,
+# "id": 28,
+# "links": [],
+# "liveNow": false,
+# "panels": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "gridPos": {
+# "h": 3,
+# "w": 2,
+# "x": 0,
+# "y": 0
+# },
+# "id": 116,
+# "options": {
+# "content": "

",
+# "mode": "html"
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "refId": "A"
+# }
+# ],
+# "transparent": true,
+# "type": "text"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "decimals": 0,
+# "mappings": [
+# {
+# "options": {
+# "match": "null",
+# "result": {
+# "text": "N/A"
+# }
+# },
+# "type": "special"
+# }
+# ],
+# "thresholds": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "semi-dark-blue",
+# "value": null
+# },
+# {
+# "color": "#d44a3a"
+# }
+# ]
+# },
+# "unit": "none"
+# },
+# "overrides": []
+# },
+# "gridPos": {
+# "h": 3,
+# "w": 2,
+# "x": 2,
+# "y": 0
+# },
+# "id": 107,
+# "links": [],
+# "maxDataPoints": 100,
+# "options": {
+# "colorMode": "background",
+# "fieldOptions": {
+# "calcs": [
+# "lastNotNull"
+# ]
+# },
+# "graphMode": "area",
+# "justifyMode": "auto",
+# "orientation": "horizontal",
+# "reduceOptions": {
+# "calcs": [
+# "last"
+# ],
+# "fields": "",
+# "values": false
+# },
+# "textMode": "auto"
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "count(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"})",
+# "format": "time_series",
+# "instant": false,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "A"
+# }
+# ],
+# "title": "PIPELINES #",
+# "type": "stat"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "decimals": 0,
+# "mappings": [
+# {
+# "options": {
+# "match": "null",
+# "result": {
+# "text": "N/A"
+# }
+# },
+# "type": "special"
+# }
+# ],
+# "thresholds": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "#299c46",
+# "value": null
+# },
+# {
+# "color": "#C4162A",
+# "value": 1
+# },
+# {
+# "color": "#d44a3a"
+# }
+# ]
+# },
+# "unit": "none"
+# },
+# "overrides": []
+# },
+# "gridPos": {
+# "h": 3,
+# "w": 2,
+# "x": 4,
+# "y": 0
+# },
+# "id": 117,
+# "links": [],
+# "maxDataPoints": 100,
+# "options": {
+# "colorMode": "background",
+# "fieldOptions": {
+# "calcs": [
+# "lastNotNull"
+# ]
+# },
+# "graphMode": "area",
+# "justifyMode": "auto",
+# "orientation": "horizontal",
+# "reduceOptions": {
+# "calcs": [
+# "last"
+# ],
+# "fields": "",
+# "values": false
+# },
+# "textMode": "auto"
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "count(gitlab_ci_pipeline_status{status=\"failed\", project=~\"$PROJECT\", ref=~\"$REF\"} > 0) or vector(0)",
+# "format": "time_series",
+# "instant": false,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "A"
+# }
+# ],
+# "title": "FAILED PIPELINES #",
+# "type": "stat"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "decimals": 0,
+# "mappings": [
+# {
+# "options": {
+# "match": "null",
+# "result": {
+# "text": "N/A"
+# }
+# },
+# "type": "special"
+# }
+# ],
+# "thresholds": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "semi-dark-blue",
+# "value": null
+# },
+# {
+# "color": "#d44a3a"
+# }
+# ]
+# },
+# "unit": "none"
+# },
+# "overrides": []
+# },
+# "gridPos": {
+# "h": 3,
+# "w": 3,
+# "x": 6,
+# "y": 0
+# },
+# "id": 118,
+# "links": [],
+# "maxDataPoints": 100,
+# "options": {
+# "colorMode": "background",
+# "fieldOptions": {
+# "calcs": [
+# "lastNotNull"
+# ]
+# },
+# "graphMode": "area",
+# "justifyMode": "auto",
+# "orientation": "horizontal",
+# "reduceOptions": {
+# "calcs": [
+# "last"
+# ],
+# "fields": "",
+# "values": false
+# },
+# "textMode": "auto"
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "sum(increase(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"}[1h]))",
+# "format": "time_series",
+# "instant": false,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "A"
+# }
+# ],
+# "title": "RUNS # (in the last hour)",
+# "type": "stat"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "mappings": [
+# {
+# "options": {
+# "match": "null",
+# "result": {
+# "text": "N/A"
+# }
+# },
+# "type": "special"
+# }
+# ]
+# },
+# "overrides": []
+# },
+# "gridPos": {
+# "h": 6,
+# "w": 15,
+# "x": 9,
+# "y": 0
+# },
+# "id": 110,
+# "links": [],
+# "mappingTypes": [
+# {
+# "name": "value to text",
+# "value": 1
+# },
+# {
+# "name": "range to text",
+# "value": 2
+# }
+# ],
+# "options": {
+# "autoSizeColumns": true,
+# "autoSizePolygons": true,
+# "autoSizeRows": true,
+# "compositeConfig": {
+# "animationSpeed": "2500",
+# "composites": [],
+# "enabled": true
+# },
+# "ellipseCharacters": 18,
+# "ellipseEnabled": false,
+# "globalAutoScaleFonts": true,
+# "globalClickthrough": "",
+# "globalClickthroughNewTabEnabled": false,
+# "globalClickthroughSanitizedEnabled": false,
+# "globalDecimals": 2,
+# "globalDisplayMode": "all",
+# "globalDisplayTextTriggeredEmpty": "OK",
+# "globalFillColor": "#0a50a1",
+# "globalFontSize": 4,
+# "globalGradientsEnabled": true,
+# "globalOperator": "last",
+# "globalPolygonBorderColor": "#10111c",
+# "globalPolygonBorderSize": 1,
+# "globalPolygonSize": 50,
+# "globalRegexPattern": "",
+# "globalShape": "hexagon_pointed_top",
+# "globalShowValueEnabled": true,
+# "globalTextFontAutoColor": "#000000",
+# "globalTextFontAutoColorEnabled": true,
+# "globalTextFontColor": "",
+# "globalThresholdsConfig": [],
+# "globalTooltipsEnabled": true,
+# "globalTooltipsShowTimestampEnabled": true,
+# "globalUnitFormat": "short",
+# "layoutDisplayLimit": 100,
+# "layoutNumColumns": 8,
+# "layoutNumRows": 4,
+# "overrideConfig": {
+# "overrides": [
+# {
+# "alias": "",
+# "clickThrough": "",
+# "clickThroughOpenNewTab": true,
+# "clickThroughSanitize": true,
+# "colors": [
+# "#299c46",
+# "#e5ac0e",
+# "#bf1b00",
+# "#ffffff"
+# ],
+# "decimals": "",
+# "enabled": true,
+# "label": "OVERRIDE 1",
+# "metricName": "/.*/",
+# "operatorName": "last",
+# "order": 0,
+# "prefix": "",
+# "scaledDecimals": 0,
+# "suffix": "",
+# "thresholds": [],
+# "unitFormat": "short"
+# }
+# ]
+# },
+# "panelId": 0,
+# "radius": 100,
+# "sortByDirection": 1,
+# "sortByField": "name",
+# "tooltipDisplayMode": "all",
+# "tooltipDisplayTextTriggeredEmpty": "OK",
+# "tooltipPrimarySortByField": "thresholdLevel",
+# "tooltipPrimarySortDirection": 2,
+# "tooltipSecondarySortByField": "value",
+# "tooltipSecondarySortDirection": 2
+# },
+# "pluginVersion": "2.0.1",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "(gitlab_ci_pipeline_status{status=\"success\", project=~\"$PROJECT\", ref=~\"$REF\"} * 1 > 0) or (gitlab_ci_pipeline_status{status=\"running\", project=~\"$PROJECT\", ref=~\"$REF\"} * 2 > 0) or (gitlab_ci_pipeline_status{status=~\"failed|canceled\", project=~\"$PROJECT\", ref=~\"$REF\"} * 3 > 0) or (gitlab_ci_pipeline_status{status!~\"success|running|failed|canceled\", project=~\"$PROJECT\", ref=~\"$REF\"} * 4 > 0)",
+# "format": "time_series",
+# "hide": false,
+# "instant": true,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": " {{project}} - {{ref}}",
+# "refId": "A"
+# }
+# ],
+# "transparent": true,
+# "type": "grafana-polystat-panel"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "decimals": 0,
+# "mappings": [
+# {
+# "options": {
+# "match": "null",
+# "result": {
+# "text": "N/A"
+# }
+# },
+# "type": "special"
+# }
+# ],
+# "thresholds": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "#299c46",
+# "value": null
+# },
+# {
+# "color": "rgba(237, 129, 40, 0.89)",
+# "value": 5184000
+# },
+# {
+# "color": "#C4162A",
+# "value": 15552000
+# }
+# ]
+# },
+# "unit": "dtdurations"
+# },
+# "overrides": []
+# },
+# "gridPos": {
+# "h": 3,
+# "w": 5,
+# "x": 0,
+# "y": 3
+# },
+# "id": 108,
+# "links": [],
+# "maxDataPoints": 100,
+# "options": {
+# "colorMode": "background",
+# "fieldOptions": {
+# "calcs": [
+# "lastNotNull"
+# ]
+# },
+# "graphMode": "area",
+# "justifyMode": "center",
+# "orientation": "horizontal",
+# "reduceOptions": {
+# "calcs": [
+# "lastNotNull"
+# ],
+# "fields": "/^Value$/",
+# "values": false
+# },
+# "textMode": "auto"
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "avg(time() - gitlab_ci_pipeline_timestamp{project=~\"$PROJECT\", ref=~\"$REF\"})",
+# "format": "time_series",
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "A"
+# }
+# ],
+# "title": "Average Pipeline Run Frequency",
+# "type": "stat"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "decimals": 0,
+# "mappings": [
+# {
+# "options": {
+# "match": "null",
+# "result": {
+# "text": "N/A"
+# }
+# },
+# "type": "special"
+# }
+# ],
+# "thresholds": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "#299c46",
+# "value": null
+# },
+# {
+# "color": "rgba(237, 129, 40, 0.89)",
+# "value": 600
+# },
+# {
+# "color": "#d44a3a",
+# "value": 900
+# }
+# ]
+# },
+# "unit": "dtdurations"
+# },
+# "overrides": []
+# },
+# "gridPos": {
+# "h": 3,
+# "w": 4,
+# "x": 5,
+# "y": 3
+# },
+# "id": 106,
+# "links": [],
+# "maxDataPoints": 100,
+# "options": {
+# "colorMode": "background",
+# "fieldOptions": {
+# "calcs": [
+# "lastNotNull"
+# ]
+# },
+# "graphMode": "area",
+# "justifyMode": "auto",
+# "orientation": "horizontal",
+# "reduceOptions": {
+# "calcs": [
+# "lastNotNull"
+# ],
+# "fields": "",
+# "values": false
+# },
+# "textMode": "auto"
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "avg(gitlab_ci_pipeline_duration_seconds{project=~\"$PROJECT\", ref=~\"$REF\"})",
+# "format": "time_series",
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "A"
+# }
+# ],
+# "title": "Average Pipeline Duration",
+# "type": "stat"
+# },
+# {
+# "aliasColors": {},
+# "bars": true,
+# "dashLength": 10,
+# "dashes": false,
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "description": "",
+# "fill": 1,
+# "fillGradient": 0,
+# "gridPos": {
+# "h": 4,
+# "w": 12,
+# "x": 0,
+# "y": 6
+# },
+# "hiddenSeries": false,
+# "id": 114,
+# "legend": {
+# "alignAsTable": true,
+# "avg": false,
+# "current": false,
+# "hideZero": true,
+# "max": false,
+# "min": false,
+# "rightSide": true,
+# "show": true,
+# "total": false,
+# "values": false
+# },
+# "lines": false,
+# "linewidth": 1,
+# "nullPointMode": "null as zero",
+# "options": {
+# "alertThreshold": false
+# },
+# "percentage": false,
+# "pluginVersion": "9.1.6",
+# "pointradius": 2,
+# "points": false,
+# "renderer": "flot",
+# "seriesOverrides": [],
+# "spaceLength": 10,
+# "stack": true,
+# "steppedLine": false,
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "sum(increase(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"}[1m])) by (project, ref) / sum(increase(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"}[1m])) by (project, ref)",
+# "format": "time_series",
+# "instant": false,
+# "interval": "",
+# "legendFormat": "{{ project }} - {{ ref }}",
+# "refId": "A"
+# }
+# ],
+# "thresholds": [],
+# "timeRegions": [],
+# "title": "PIPELINE RUNS",
+# "tooltip": {
+# "shared": true,
+# "sort": 0,
+# "value_type": "individual"
+# },
+# "type": "graph",
+# "xaxis": {
+# "mode": "time",
+# "show": true,
+# "values": []
+# },
+# "yaxes": [
+# {
+# "format": "short",
+# "logBase": 1,
+# "min": "0",
+# "show": true
+# },
+# {
+# "format": "short",
+# "logBase": 1,
+# "show": true
+# }
+# ],
+# "yaxis": {
+# "align": false
+# }
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "color": {
+# "mode": "thresholds"
+# },
+# "custom": {
+# "align": "center",
+# "displayMode": "auto",
+# "filterable": false,
+# "inspect": false
+# },
+# "links": [],
+# "mappings": [],
+# "thresholds": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "green",
+# "value": null
+# }
+# ]
+# }
+# },
+# "overrides": [
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "ID"
+# },
+# "properties": [
+# {
+# "id": "links",
+# "value": [
+# {
+# "targetBlank": true,
+# "title": "View pipeline #${__value.numeric}",
+# "url": "https://${GITLAB_HOST}/${__data.fields.project}/pipelines/${__value.numeric}"
+# }
+# ]
+# },
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# },
+# {
+# "id": "color",
+# "value": {
+# "fixedColor": "dark-blue",
+# "mode": "fixed"
+# }
+# },
+# {
+# "id": "custom.width",
+# "value": 85
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Status"
+# },
+# "properties": [
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# },
+# {
+# "id": "mappings",
+# "value": [
+# {
+# "options": {
+# "1": {
+# "text": "SUCCESS"
+# }
+# },
+# "type": "value"
+# }
+# ]
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Job"
+# },
+# "properties": [
+# {
+# "id": "custom.align",
+# "value": "left"
+# },
+# {
+# "id": "custom.width",
+# "value": 230
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Project"
+# },
+# "properties": [
+# {
+# "id": "custom.align",
+# "value": "left"
+# },
+# {
+# "id": "custom.width",
+# "value": 218
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Ref Kind"
+# },
+# "properties": [
+# {
+# "id": "custom.width",
+# "value": 98
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Ref Name"
+# },
+# "properties": [
+# {
+# "id": "custom.width",
+# "value": 122
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Duration"
+# },
+# "properties": [
+# {
+# "id": "unit",
+# "value": "dtdurations"
+# },
+# {
+# "id": "thresholds",
+# "value": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "green",
+# "value": null
+# },
+# {
+# "color": "light-orange",
+# "value": 900
+# },
+# {
+# "color": "semi-dark-red",
+# "value": 1200
+# }
+# ]
+# }
+# },
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Date"
+# },
+# "properties": [
+# {
+# "id": "unit",
+# "value": "dtdurations"
+# },
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# }
+# ]
+# }
+# ]
+# },
+# "gridPos": {
+# "h": 26,
+# "w": 12,
+# "x": 12,
+# "y": 6
+# },
+# "id": 122,
+# "links": [],
+# "options": {
+# "footer": {
+# "fields": "",
+# "reducer": [
+# "sum"
+# ],
+# "show": false
+# },
+# "showHeader": true,
+# "sortBy": [
+# {
+# "desc": true,
+# "displayName": "Date"
+# }
+# ]
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "-max(time() - gitlab_ci_pipeline_timestamp{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless max(gitlab_ci_pipeline_status{status!~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0",
+# "format": "table",
+# "hide": false,
+# "instant": true,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "B"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "max(gitlab_ci_pipeline_duration_seconds{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless (max(gitlab_ci_pipeline_status{status!~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0)",
+# "format": "table",
+# "hide": false,
+# "instant": true,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "C"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "max(gitlab_ci_pipeline_id{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless (max(gitlab_ci_pipeline_status{status!~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0)",
+# "format": "table",
+# "instant": true,
+# "interval": "",
+# "legendFormat": "",
+# "refId": "D"
+# }
+# ],
+# "title": "SUCCESSFULLY COMPLETED",
+# "transformations": [
+# {
+# "id": "merge",
+# "options": {}
+# },
+# {
+# "id": "organize",
+# "options": {
+# "excludeByName": {
+# "Time": true,
+# "Value #A": false,
+# "job_name": false
+# },
+# "indexByName": {
+# "Time": 0,
+# "Value #A": 9,
+# "Value #B": 6,
+# "Value #C": 7,
+# "Value #D": 1,
+# "job_name": 3,
+# "kind": 4,
+# "project": 2,
+# "ref": 5,
+# "status": 8
+# },
+# "renameByName": {
+# "Value #A": "Status",
+# "Value #B": "Date",
+# "Value #C": "Duration",
+# "Value #D": "ID",
+# "job_name": "Job",
+# "kind": "Ref Kind",
+# "project": "Project",
+# "ref": "Ref Name",
+# "status": "Status"
+# }
+# }
+# },
+# {
+# "id": "calculateField",
+# "options": {
+# "alias": "Status",
+# "mode": "reduceRow",
+# "reduce": {
+# "include": [
+# "ID"
+# ],
+# "reducer": "count"
+# }
+# }
+# }
+# ],
+# "type": "table"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "fieldConfig": {
+# "defaults": {
+# "color": {
+# "mode": "thresholds"
+# },
+# "custom": {
+# "align": "center",
+# "displayMode": "auto",
+# "filterable": false,
+# "inspect": false
+# },
+# "links": [],
+# "mappings": [],
+# "thresholds": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "green",
+# "value": null
+# }
+# ]
+# }
+# },
+# "overrides": [
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "ID"
+# },
+# "properties": [
+# {
+# "id": "links",
+# "value": [
+# {
+# "targetBlank": true,
+# "title": "View pipeline #${__value.numeric}",
+# "url": "https://${GITLAB_HOST}/${__data.fields.project}/pipelines/${__value.numeric}"
+# }
+# ]
+# },
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# },
+# {
+# "id": "color",
+# "value": {
+# "fixedColor": "dark-blue",
+# "mode": "fixed"
+# }
+# },
+# {
+# "id": "custom.width",
+# "value": 85
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Status"
+# },
+# "properties": [
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# },
+# {
+# "id": "color",
+# "value": {
+# "mode": "thresholds"
+# }
+# },
+# {
+# "id": "mappings",
+# "value": [
+# {
+# "options": {
+# "2": {
+# "text": "RUNNING"
+# },
+# "3": {
+# "text": "FAILED"
+# },
+# "4": {
+# "text": "CANCELED"
+# },
+# "5": {
+# "text": "CREATED"
+# },
+# "6": {
+# "text": "WAITING FOR RESOURCE"
+# },
+# "7": {
+# "text": "PREPARING"
+# },
+# "8": {
+# "text": "PENDING"
+# },
+# "9": {
+# "text": "SKIPPED"
+# },
+# "10": {
+# "text": "MANUAL"
+# },
+# "11": {
+# "text": "SCHEDULED"
+# }
+# },
+# "type": "value"
+# }
+# ]
+# },
+# {
+# "id": "thresholds",
+# "value": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "green",
+# "value": null
+# },
+# {
+# "color": "light-blue",
+# "value": 1
+# },
+# {
+# "color": "semi-dark-red",
+# "value": 3
+# },
+# {
+# "color": "light-orange",
+# "value": 5
+# },
+# {
+# "color": "rgb(135, 135, 134)",
+# "value": 9
+# }
+# ]
+# }
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Job"
+# },
+# "properties": [
+# {
+# "id": "custom.align",
+# "value": "left"
+# },
+# {
+# "id": "custom.width",
+# "value": 230
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Project"
+# },
+# "properties": [
+# {
+# "id": "custom.align",
+# "value": "left"
+# },
+# {
+# "id": "custom.width",
+# "value": 218
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Ref Kind"
+# },
+# "properties": [
+# {
+# "id": "custom.width",
+# "value": 98
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Ref Name"
+# },
+# "properties": [
+# {
+# "id": "custom.width",
+# "value": 122
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Duration"
+# },
+# "properties": [
+# {
+# "id": "unit",
+# "value": "dtdurations"
+# },
+# {
+# "id": "thresholds",
+# "value": {
+# "mode": "absolute",
+# "steps": [
+# {
+# "color": "green",
+# "value": null
+# },
+# {
+# "color": "light-orange",
+# "value": 900
+# },
+# {
+# "color": "semi-dark-red",
+# "value": 1200
+# }
+# ]
+# }
+# },
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# }
+# ]
+# },
+# {
+# "matcher": {
+# "id": "byName",
+# "options": "Date"
+# },
+# "properties": [
+# {
+# "id": "unit",
+# "value": "dtdurations"
+# },
+# {
+# "id": "custom.displayMode",
+# "value": "color-background"
+# }
+# ]
+# }
+# ]
+# },
+# "gridPos": {
+# "h": 22,
+# "w": 12,
+# "x": 0,
+# "y": 10
+# },
+# "id": 120,
+# "links": [],
+# "options": {
+# "footer": {
+# "fields": "",
+# "reducer": [
+# "sum"
+# ],
+# "show": false
+# },
+# "showHeader": true,
+# "sortBy": [
+# {
+# "desc": true,
+# "displayName": "Date"
+# }
+# ]
+# },
+# "pluginVersion": "9.1.6",
+# "targets": [
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "-max(time() - gitlab_ci_pipeline_timestamp{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless max(gitlab_ci_pipeline_status{status=~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0",
+# "format": "table",
+# "hide": false,
+# "instant": true,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "B"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "max(gitlab_ci_pipeline_duration_seconds{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless (max(gitlab_ci_pipeline_status{status=~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0)",
+# "format": "table",
+# "hide": false,
+# "instant": true,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "C"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"running\"}) by (project, ref, kind) * 2) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"failed\"}) by (project, ref, kind) * 3) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"canceled\"}) by (project, ref, kind) * 4) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"created\"}) by (project, ref, kind) * 5) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"waiting_for_resource\"}) by (project, ref, kind) * 6) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"preparing\"}) by (project, ref, kind) * 7) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"pending\"}) by (project, ref, kind) * 8) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"skipped\"}) by (project, ref, kind) * 9) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"manual\"}) by (project, ref, kind) * 10) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"scheduled\"}) by (project, ref, kind) * 11) > 0",
+# "format": "table",
+# "hide": false,
+# "instant": true,
+# "interval": "",
+# "intervalFactor": 1,
+# "legendFormat": "",
+# "refId": "A"
+# },
+# {
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "expr": "max(gitlab_ci_pipeline_id{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind, job_name) unless (max(gitlab_ci_pipeline_status{status=~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind, job_name) > 0)",
+# "format": "table",
+# "instant": true,
+# "interval": "",
+# "legendFormat": "",
+# "refId": "D"
+# }
+# ],
+# "title": "RUNNING, FAILED OR NOT COMPLETED",
+# "transformations": [
+# {
+# "id": "merge",
+# "options": {}
+# },
+# {
+# "id": "organize",
+# "options": {
+# "excludeByName": {
+# "Time": true,
+# "Value #A": false,
+# "job_name": false
+# },
+# "indexByName": {
+# "Time": 0,
+# "Value #A": 9,
+# "Value #B": 6,
+# "Value #C": 7,
+# "Value #D": 1,
+# "job_name": 3,
+# "kind": 4,
+# "project": 2,
+# "ref": 5,
+# "status": 8
+# },
+# "renameByName": {
+# "Value #A": "Status",
+# "Value #B": "Date",
+# "Value #C": "Duration",
+# "Value #D": "ID",
+# "job_name": "Job",
+# "kind": "Ref Kind",
+# "project": "Project",
+# "ref": "Ref Name",
+# "status": "Status"
+# }
+# }
+# }
+# ],
+# "type": "table"
+# }
+# ],
+# "refresh": "10s",
+# "schemaVersion": 37,
+# "style": "dark",
+# "tags": [],
+# "templating": {
+# "list": [
+# {
+# "hide": 2,
+# "name": "GITLAB_HOST",
+# "query": "gitlab.com",
+# "skipUrlSync": false,
+# "type": "constant"
+# },
+# {
+# "allValue": ".*",
+# "current": {
+# "selected": false,
+# "text": "All",
+# "value": "$__all"
+# },
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "definition": "label_values(gitlab_ci_pipeline_id, project)",
+# "hide": 0,
+# "includeAll": true,
+# "label": "owner",
+# "multi": true,
+# "name": "OWNER",
+# "options": [],
+# "query": {
+# "query": "label_values(gitlab_ci_pipeline_id, project)",
+# "refId": "Prometheus-OWNER-Variable-Query"
+# },
+# "refresh": 2,
+# "regex": "/(.*)\\/.*$/",
+# "skipUrlSync": false,
+# "sort": 0,
+# "tagValuesQuery": "",
+# "tagsQuery": "",
+# "type": "query",
+# "useTags": false
+# },
+# {
+# "allValue": ".*",
+# "current": {
+# "selected": false,
+# "text": "All",
+# "value": "$__all"
+# },
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "definition": "label_values(gitlab_ci_pipeline_id{project=~\"$OWNER.*\"}, project)",
+# "hide": 0,
+# "includeAll": true,
+# "label": "project",
+# "multi": true,
+# "name": "PROJECT",
+# "options": [],
+# "query": {
+# "query": "label_values(gitlab_ci_pipeline_id{project=~\"$OWNER.*\"}, project)",
+# "refId": "Prometheus-PROJECT-Variable-Query"
+# },
+# "refresh": 2,
+# "regex": "",
+# "skipUrlSync": false,
+# "sort": 1,
+# "tagValuesQuery": "",
+# "tagsQuery": "",
+# "type": "query",
+# "useTags": false
+# },
+# {
+# "allValue": ".*",
+# "current": {
+# "selected": false,
+# "text": "All",
+# "value": "$__all"
+# },
+# "datasource": {
+# "type": "prometheus",
+# "uid": "prometheus"
+# },
+# "definition": "label_values(gitlab_ci_pipeline_id{project=~\"$PROJECT\"}, ref)",
+# "hide": 0,
+# "includeAll": true,
+# "label": "ref",
+# "multi": true,
+# "name": "REF",
+# "options": [],
+# "query": {
+# "query": "label_values(gitlab_ci_pipeline_id{project=~\"$PROJECT\"}, ref)",
+# "refId": "Prometheus-REF-Variable-Query"
+# },
+# "refresh": 2,
+# "regex": "",
+# "skipUrlSync": false,
+# "sort": 1,
+# "tagValuesQuery": "",
+# "tagsQuery": "",
+# "type": "query",
+# "useTags": false
+# }
+# ]
+# },
+# "time": {
+# "from": "now-1h",
+# "to": "now"
+# },
+# "timepicker": {
+# "refresh_intervals": [
+# "10s",
+# "30s",
+# "1m",
+# "5m",
+# "15m",
+# "30m",
+# "1h",
+# "2h",
+# "1d"
+# ],
+# "time_options": [
+# "5m",
+# "15m",
+# "1h",
+# "6h",
+# "12h",
+# "24h",
+# "2d",
+# "7d",
+# "30d"
+# ]
+# },
+# "timezone": "",
+# "title": "GitLab CI pipelines",
+# "uid": "gitlab_ci_pipelines",
+# "version": 1,
+# "weekStart": ""
+# }
\ No newline at end of file