From 03e83e7201ed74a9ffe4d4611aec8818ec25b59a Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Sun, 22 Feb 2026 10:56:28 -0800 Subject: [PATCH] Fix Forgejo port (3001) and add repo drill-down variable to dashboard Co-Authored-By: Claude Opus 4.6 --- .../roles/forgejo_metrics/defaults/main.yml | 2 +- .../dashboards/configmap-forgejo.yaml | 42 ++++++++++++------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/ansible/roles/forgejo_metrics/defaults/main.yml b/ansible/roles/forgejo_metrics/defaults/main.yml index 1e70c0d..de5930b 100644 --- a/ansible/roles/forgejo_metrics/defaults/main.yml +++ b/ansible/roles/forgejo_metrics/defaults/main.yml @@ -2,7 +2,7 @@ # Forgejo metrics collection configuration # Forgejo server URL -forgejo_metrics_url: "http://localhost:3000" +forgejo_metrics_url: "http://localhost:3001" # Path to file containing Forgejo API token (should have 600 permissions) forgejo_metrics_api_key_file: "/Users/erichblume/.forgejo-api-key" diff --git a/argocd/manifests/grafana-config/dashboards/configmap-forgejo.yaml b/argocd/manifests/grafana-config/dashboards/configmap-forgejo.yaml index 0115646..ccd5986 100644 --- a/argocd/manifests/grafana-config/dashboards/configmap-forgejo.yaml +++ b/argocd/manifests/grafana-config/dashboards/configmap-forgejo.yaml @@ -94,7 +94,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum(forgejo_repo_open_pull_requests)", + "expr": "sum(forgejo_repo_open_pull_requests{repo=~\"$repo\"})", "refId": "A" } ], @@ -135,7 +135,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum(forgejo_repo_open_issues)", + "expr": "sum(forgejo_repo_open_issues{repo=~\"$repo\"})", "refId": "A" } ], @@ -177,7 +177,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "time() - max(forgejo_repo_latest_release_timestamp_seconds)", + "expr": "time() - max(forgejo_repo_latest_release_timestamp_seconds{repo=~\"$repo\"})", "refId": "A" } ], @@ -218,13 +218,13 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum(forgejo_actions_jobs_running)", + "expr": "sum(forgejo_actions_jobs_running{repo=~\"$repo\"})", "legendFormat": "Running", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum(forgejo_actions_jobs_waiting)", + "expr": "sum(forgejo_actions_jobs_waiting{repo=~\"$repo\"})", "legendFormat": "Waiting", "refId": "B" } @@ -267,7 +267,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "time() - max(forgejo_actions_last_success_timestamp_seconds)", + "expr": "time() - max(forgejo_actions_last_success_timestamp_seconds{repo=~\"$repo\"})", "refId": "A" } ], @@ -335,7 +335,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum by (status) (forgejo_actions_runs_total)", + "expr": "sum by (status) (forgejo_actions_runs_total{repo=~\"$repo\"})", "legendFormat": "{{status}}", "refId": "A" } @@ -396,7 +396,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "forgejo_actions_run_duration_seconds", + "expr": "forgejo_actions_run_duration_seconds{repo=~\"$repo\"}", "legendFormat": "{{repo}} / {{workflow}}", "refId": "A" } @@ -457,7 +457,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum by (language) (forgejo_repo_language_bytes)", + "expr": "sum by (language) (forgejo_repo_language_bytes{repo=~\"$repo\"})", "legendFormat": "{{language}}", "refId": "A" } @@ -517,7 +517,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "forgejo_repo_releases_total", + "expr": "forgejo_repo_releases_total{repo=~\"$repo\"}", "legendFormat": "{{repo}}", "refId": "A" } @@ -582,7 +582,7 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "time() - forgejo_actions_last_success_timestamp_seconds", + "expr": "time() - forgejo_actions_last_success_timestamp_seconds{repo=~\"$repo\"}", "legendFormat": "{{repo}} / {{workflow}}", "refId": "A" } @@ -651,13 +651,13 @@ data: "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum(forgejo_actions_jobs_waiting)", + "expr": "sum(forgejo_actions_jobs_waiting{repo=~\"$repo\"})", "legendFormat": "Waiting", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "prometheus" }, - "expr": "sum(forgejo_actions_jobs_running)", + "expr": "sum(forgejo_actions_jobs_running{repo=~\"$repo\"})", "legendFormat": "Running", "refId": "B" } @@ -670,7 +670,21 @@ data: "schemaVersion": 38, "tags": ["forgejo", "ci-cd", "repository"], "templating": { - "list": [] + "list": [ + { + "current": { "selected": true, "text": "All", "value": "$__all" }, + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "definition": "label_values(forgejo_repo_open_pull_requests, repo)", + "includeAll": true, + "multi": true, + "name": "repo", + "label": "Repository", + "query": { "query": "label_values(forgejo_repo_open_pull_requests, repo)", "refId": "StandardVariableQuery" }, + "refresh": 2, + "sort": 1, + "type": "query" + } + ] }, "time": { "from": "now-6h",