chore(deps): update ghcr.io/mogenius/helm-charts/renovate-operator docker tag to v5.4.0 #109

Open
renovate-bot wants to merge 1 commit from renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x into main
Member

This PR contains the following updates:

Package Update Change
ghcr.io/mogenius/helm-charts/renovate-operator (source) minor 5.2.05.4.0

Release Notes

mogenius/renovate-operator (ghcr.io/mogenius/helm-charts/renovate-operator)

v5.4.0

Compare Source

Features
  • adding public endpoint option (95b600a), closes #​502
  • helm: Allow overriding the webhook baseUrl (8e69df7)
  • hydrate metrics from crd state on startup (6ba5a20)
  • improve grafana dashboard with new metrics (cc454dd)
  • metrics: expand Prometheus/OTel metrics for SRE and SecOps (d58b98f)
  • unify last Run and scheduled at into lastTransition (2401ed4)
Bug Fixes
  • add metric hydration for missing metrics (0f58f9c)
  • adding missing metrics for gitea and bitbucket webhooks (ecd9d9c)
  • deps: update aws-sdk-go-v2 monorepo (7a640e6)
  • deps: update dependency react to v19.2.8 (d8db772)
  • deps: update dependency react-dom to v19.2.8 (6b576ba)
  • deps: update helm release valkey to v0.11.0 (1813e0a)
  • deps: update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.106.0 (d8af1d5)
  • otel: upgrade semconv to match otel sdk version (579a29a)

v5.3.0

Compare Source

Features
  • add extra labels to renovate job pods from global label templates (8506a24), closes #​457
  • adding a button to download the selected logs in the ui (6552d39), closes #​508
  • adding the option for the cron parser to support jenkins style hash parsers (3685505), closes #​495
  • ui: persist log level filter (e63e8ab)
Bug Fixes
  • adding printer columns to renovatejob crd (0cc97c1)
  • deps: update aws-sdk-go-v2 monorepo (4be0aaf)
  • deps: update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.105.2 (998ff8c)
  • deps: update module github.com/go-logr/logr to v1.4.4 (a50454e)
  • deps: update module github.com/prometheus/client_golang to v1.24.0 (5f79fb2)
  • honor group settings when authorizing users (da04964)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/mogenius/helm-charts/renovate-operator](https://mogenius.com) ([source](https://github.com/mogenius/renovate-operator)) | minor | `5.2.0` → `5.4.0` | --- ### Release Notes <details> <summary>mogenius/renovate-operator (ghcr.io/mogenius/helm-charts/renovate-operator)</summary> ### [`v5.4.0`](https://github.com/mogenius/renovate-operator/blob/HEAD/CHANGELOG.md#540-2026-07-23) [Compare Source](https://github.com/mogenius/renovate-operator/compare/5.3.0...5.4.0) ##### Features - adding public endpoint option ([95b600a](https://github.com/mogenius/renovate-operator/commit/95b600adaef539443407c2bf66f2233204087a15)), closes [#&#8203;502](https://github.com/mogenius/renovate-operator/issues/502) - **helm:** Allow overriding the webhook baseUrl ([8e69df7](https://github.com/mogenius/renovate-operator/commit/8e69df78acd47998d032ca95a3f2249ef48011c9)) - hydrate metrics from crd state on startup ([6ba5a20](https://github.com/mogenius/renovate-operator/commit/6ba5a204b1566a61e46f25ac54c5b39359165b7c)) - improve grafana dashboard with new metrics ([cc454dd](https://github.com/mogenius/renovate-operator/commit/cc454dde42ded2dd01e0dd7a9fd0254578504e1a)) - **metrics:** expand Prometheus/OTel metrics for SRE and SecOps ([d58b98f](https://github.com/mogenius/renovate-operator/commit/d58b98fe9be0af9f265053957fe9e43274ecff3c)) - unify last Run and scheduled at into lastTransition ([2401ed4](https://github.com/mogenius/renovate-operator/commit/2401ed4793e51c4ce00f06003acaa48513832af5)) ##### Bug Fixes - add metric hydration for missing metrics ([0f58f9c](https://github.com/mogenius/renovate-operator/commit/0f58f9cee90ebca6bbf859e270afc25c617da7be)) - adding missing metrics for gitea and bitbucket webhooks ([ecd9d9c](https://github.com/mogenius/renovate-operator/commit/ecd9d9c29ac7952fcb4687eac95f3f1d439d938b)) - **deps:** update aws-sdk-go-v2 monorepo ([7a640e6](https://github.com/mogenius/renovate-operator/commit/7a640e606b0a1fd230f05ff7dcc254f08191a410)) - **deps:** update dependency react to v19.2.8 ([d8db772](https://github.com/mogenius/renovate-operator/commit/d8db772932b7b6aab06b55d61bb4c902cd350653)) - **deps:** update dependency react-dom to v19.2.8 ([6b576ba](https://github.com/mogenius/renovate-operator/commit/6b576ba2d3954f7ab1c7dac5c54327a518527806)) - **deps:** update helm release valkey to v0.11.0 ([1813e0a](https://github.com/mogenius/renovate-operator/commit/1813e0a5685a54bc42d3e35fbf801d4b4960d624)) - **deps:** update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.106.0 ([d8af1d5](https://github.com/mogenius/renovate-operator/commit/d8af1d5c83d5274e3a493ad453d79df8f1307fe5)) - **otel:** upgrade semconv to match otel sdk version ([579a29a](https://github.com/mogenius/renovate-operator/commit/579a29a7ac90a6052ba4ef3b146684c8cd903f32)) ### [`v5.3.0`](https://github.com/mogenius/renovate-operator/blob/HEAD/CHANGELOG.md#530-2026-07-21) [Compare Source](https://github.com/mogenius/renovate-operator/compare/5.2.0...5.3.0) ##### Features - add extra labels to renovate job pods from global label templates ([8506a24](https://github.com/mogenius/renovate-operator/commit/8506a240b746d2b9d87962c431f30be4abc0cb78)), closes [#&#8203;457](https://github.com/mogenius/renovate-operator/issues/457) - adding a button to download the selected logs in the ui ([6552d39](https://github.com/mogenius/renovate-operator/commit/6552d3977bfbb4a4c50f2c6bbc7d562f0e782f82)), closes [#&#8203;508](https://github.com/mogenius/renovate-operator/issues/508) - adding the option for the cron parser to support jenkins style hash parsers ([3685505](https://github.com/mogenius/renovate-operator/commit/3685505fa190b387680769d48de87120a2302a0f)), closes [#&#8203;495](https://github.com/mogenius/renovate-operator/issues/495) - **ui:** persist log level filter ([e63e8ab](https://github.com/mogenius/renovate-operator/commit/e63e8ab7f99c3337a72588ada96b6508efc2853f)) ##### Bug Fixes - adding printer columns to renovatejob crd ([0cc97c1](https://github.com/mogenius/renovate-operator/commit/0cc97c1deae6ca9e650860f63b6d81d261920c30)) - **deps:** update aws-sdk-go-v2 monorepo ([4be0aaf](https://github.com/mogenius/renovate-operator/commit/4be0aafc1ff63135e39115cc18da63f3a1a0ef9c)) - **deps:** update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.105.2 ([998ff8c](https://github.com/mogenius/renovate-operator/commit/998ff8ce59b8f8ff4b55acae89442377c1d4b26d)) - **deps:** update module github.com/go-logr/logr to v1.4.4 ([a50454e](https://github.com/mogenius/renovate-operator/commit/a50454e8b09aebf9bd1bfb7c0b52c29ea66ad2b8)) - **deps:** update module github.com/prometheus/client\_golang to v1.24.0 ([5f79fb2](https://github.com/mogenius/renovate-operator/commit/5f79fb2692e8d4fa12e0b8035a5623002ae4397c)) - honor group settings when authorizing users ([da04964](https://github.com/mogenius/renovate-operator/commit/da04964c9030d6e3ad10801756903aada3cb6103)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI1My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update ghcr.io/mogenius/helm-charts/renovate-operator docker tag to v5.3.0
Some checks failed
ci/crow/pr/dns-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline failed
73d5a57535
Member

flate diff

spec.template.spec.containers.renovate-operator.env  (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator)
  + one list entry added:
    - name: POD_LABEL_TEMPLATES
      value: {}

spec.template.spec.containers.renovate-operator.image  (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator)
  ± value change
    - ghcr.io/mogenius/renovate-operator:5.2.0
    + ghcr.io/mogenius/renovate-operator:5.3.0

data.renovatejob.yaml  (v1/ConfigMap/apps-renovate/renovate-operator-renovate-operator-crd)
  ± value change in multiline text (one insert, one deletion)
      ---
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:

      [eight lines unchanged)]

          plural: renovatejobs
          singular: renovatejob
        scope: Namespaced
        versions:
    -   - name: v1alpha1
    +   - additionalPrinterColumns:
    +     - jsonPath: .spec.schedule
    +       name: Schedule
    +       type: string
    +     - jsonPath: .spec.provider.name
    +       name: Provider
    +       type: string
    +     name: v1alpha1
          schema:
            openAPIV3Schema:
              properties:
                apiVersion:

      [4361 lines unchanged)]

          served: true
          storage: true
          subresources:
            status: {}

Pipeline

## flate diff ``` spec.template.spec.containers.renovate-operator.env (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator) + one list entry added: - name: POD_LABEL_TEMPLATES value: {} spec.template.spec.containers.renovate-operator.image (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator) ± value change - ghcr.io/mogenius/renovate-operator:5.2.0 + ghcr.io/mogenius/renovate-operator:5.3.0 data.renovatejob.yaml (v1/ConfigMap/apps-renovate/renovate-operator-renovate-operator-crd) ± value change in multiline text (one insert, one deletion) --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: [eight lines unchanged)] plural: renovatejobs singular: renovatejob scope: Namespaced versions: - - name: v1alpha1 + - additionalPrinterColumns: + - jsonPath: .spec.schedule + name: Schedule + type: string + - jsonPath: .spec.provider.name + name: Provider + type: string + name: v1alpha1 schema: openAPIV3Schema: properties: apiVersion: [4361 lines unchanged)] served: true storage: true subresources: status: {} ``` [Pipeline](https://ci.aether.earth/repos/4/pipeline/246)
renovate-bot force-pushed renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x from 73d5a57535
Some checks failed
ci/crow/pr/dns-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline failed
to 5daca9b066
Some checks failed
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
ci/crow/push/tanka-test Pipeline failed
ci/crow/pr/tanka-test Pipeline failed
2026-07-23 09:07:02 +00:00
Compare
renovate-bot changed title from chore(deps): update ghcr.io/mogenius/helm-charts/renovate-operator docker tag to v5.3.0 to chore(deps): update ghcr.io/mogenius/helm-charts/renovate-operator docker tag to v5.4.0 2026-07-23 09:07:04 +00:00
Member

flate diff

data.renovate-operator.json  (v1/ConfigMap/apps-renovate/renovate-operator-dashboard)
  ± value change in multiline text (94 inserts, 81 deletions)
      
      {
        "annotations": {
          "list": [
      
      [13 lines unchanged)]
      
        },
        "editable": true,
        "fiscalYearStartMonth": 0,
        "graphTooltip": 0,
    -   "id": 37,
        "links": [],
        "panels": [
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    -       },
    +       "collapsed": false,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 },
    +       "id": 100,
    +       "panels": [],
    +       "title": "Overview",
    +       "type": "row"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "thresholds"
    -           },
    +           "color": { "mode": "thresholds" },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               }
    -             ]
    -           }
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 4,
    -         "w": 7,
    -         "x": 0,
    -         "y": 0
    -       },
    +       "gridPos": { "h": 4, "w": 3, "x": 0, "y": 1 },
            "id": 6,
            "options": {
    -         "colorMode": "value",
    -         "graphMode": "area",
    -         "justifyMode": "auto",
    -         "orientation": "auto",
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
              "percentChangeColorMode": "standard",
    -         "reduceOptions": {
    -           "calcs": [
    -             "lastNotNull"
    -           ],
    -           "fields": "",
    -           "values": false
    -         },
    -         "showPercentChange": false,
    -         "textMode": "auto",
    -         "wideLayout": true
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
            },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "editorMode": "code",
    -           "exemplar": false,
    -           "expr": "count(group by(project) (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"}))",
    -           "instant": false,
    -           "legendFormat": "__auto",
    -           "range": true,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "count(group by(project) (renovate_operator_project_executions_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}))",
    +           "instant": false, "legendFormat": "__auto", "range": true, "refId": "A"
              }
            ],
    -       "title": "Repository Count",
    +       "title": "Repositories",
            "type": "stat"
          },
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    -       },
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "thresholds"
    -           },
    +           "color": { "mode": "thresholds" },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               }
    -             ]
    -           }
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": 0 }, { "color": "green", "value": 1 } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 4,
    -         "w": 5,
    -         "x": 7,
    -         "y": 0
    -       },
    -       "id": 2,
    +       "gridPos": { "h": 4, "w": 3, "x": 3, "y": 1 },
    +       "id": 110,
            "options": {
    -         "colorMode": "value",
    -         "graphMode": "area",
    -         "justifyMode": "auto",
    -         "orientation": "auto",
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
              "percentChangeColorMode": "standard",
    -         "reduceOptions": {
    -           "calcs": [
    -             "lastNotNull"
    -           ],
    -           "fields": "",
    -           "values": false
    -         },
    -         "showPercentChange": false,
    -         "textMode": "auto",
    -         "wideLayout": true
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
            },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "editorMode": "builder",
    -           "exemplar": false,
    -           "expr": "sum(renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"completed\"})",
    -           "instant": true,
    -           "legendFormat": "__auto",
    -           "range": false,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(renovate_operator_projects_running{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "instant": false, "legendFormat": "__auto", "range": true, "refId": "A"
              }
            ],
    -       "title": "Completed",
    +       "title": "Running",
            "type": "stat"
          },
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    -       },
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "thresholds"
    -           },
    +           "color": { "mode": "thresholds" },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               },
    -               {
    -                 "color": "yellow",
    -                 "value": 5
    -               },
    -               {
    -                 "color": "orange",
    -                 "value": 50
    -               },
    -               {
    -                 "color": "red",
    -                 "value": 100
    -               }
    -             ]
    -           }
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "yellow", "value": 20 }, { "color": "orange", "value": 100 } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 4,
    -         "w": 5,
    -         "x": 12,
    -         "y": 0
    +       "gridPos": { "h": 4, "w": 3, "x": 6, "y": 1 },
    +       "id": 111,
    +       "options": {
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
    +         "percentChangeColorMode": "standard",
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
            },
    -       "id": 3,
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(renovate_operator_projects_scheduled{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "instant": false, "legendFormat": "__auto", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Queued (Scheduled)",
    +       "type": "stat"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "thresholds" },
    +           "mappings": [],
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "blue", "value": 1 } ] }
    +         },
    +         "overrides": []
    +       },
    +       "gridPos": { "h": 4, "w": 3, "x": 9, "y": 1 },
    +       "id": 112,
            "options": {
    -         "colorMode": "value",
    -         "graphMode": "area",
    -         "justifyMode": "auto",
    -         "orientation": "auto",
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
              "percentChangeColorMode": "standard",
    -         "reduceOptions": {
    -           "calcs": [
    -             "lastNotNull"
    -           ],
    -           "fields": "",
    -           "values": false
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
    +       },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(renovate_operator_open_pull_requests{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "instant": false, "legendFormat": "__auto", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Open PRs",
    +       "type": "stat"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "thresholds" },
    +           "mappings": [],
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "yellow", "value": 1 } ] }
              },
    -         "showPercentChange": false,
    -         "textMode": "auto",
    -         "wideLayout": true
    +         "overrides": []
    +       },
    +       "gridPos": { "h": 4, "w": 3, "x": 12, "y": 1 },
    +       "id": 113,
    +       "options": {
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
    +         "percentChangeColorMode": "standard",
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
            },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "editorMode": "builder",
    -           "exemplar": false,
    -           "expr": "sum(renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"failed\"})",
    -           "instant": true,
    -           "legendFormat": "__auto",
    -           "range": false,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(renovate_operator_approvals_needed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "instant": false, "legendFormat": "__auto", "range": true, "refId": "A"
              }
            ],
    -       "title": "Failed",
    +       "title": "Awaiting Approval",
            "type": "stat"
          },
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "thresholds" },
    +           "mappings": [],
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "red", "value": 1 } ] }
    +         },
    +         "overrides": []
    +       },
    +       "gridPos": { "h": 4, "w": 3, "x": 15, "y": 1 },
    +       "id": 7,
    +       "options": {
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
    +         "percentChangeColorMode": "standard",
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
            },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "count(renovate_operator_run_failed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1) or vector(0)",
    +           "instant": true, "legendFormat": "__auto", "range": false, "refId": "A"
    +         }
    +       ],
    +       "title": "Failing Projects",
    +       "type": "stat"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "thresholds"
    -           },
    +           "color": { "mode": "thresholds" },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               },
    -               {
    -                 "color": "#EAB839",
    -                 "value": 1
    -               },
    -               {
    -                 "color": "orange",
    -                 "value": 5
    -               },
    -               {
    -                 "color": "red",
    -                 "value": 10
    -               }
    -             ]
    -           }
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "orange", "value": 1 } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 4,
    -         "w": 7,
    -         "x": 17,
    -         "y": 0
    +       "gridPos": { "h": 4, "w": 3, "x": 18, "y": 1 },
    +       "id": 8,
    +       "options": {
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
    +         "percentChangeColorMode": "standard",
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
            },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "count(renovate_operator_dependency_issues{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1) or vector(0)",
    +           "instant": true, "legendFormat": "__auto", "range": false, "refId": "A"
    +         }
    +       ],
    +       "title": "Projects with Issues",
    +       "type": "stat"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "thresholds" },
    +           "mappings": [],
    +           "unit": "percent",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "#EAB839", "value": 1 }, { "color": "orange", "value": 5 }, { "color": "red", "value": 10 } ] }
    +         },
    +         "overrides": []
    +       },
    +       "gridPos": { "h": 4, "w": 3, "x": 21, "y": 1 },
            "id": 5,
            "options": {
    -         "colorMode": "value",
    -         "graphMode": "area",
    -         "justifyMode": "auto",
    -         "orientation": "auto",
    +         "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto",
              "percentChangeColorMode": "standard",
    -         "reduceOptions": {
    -           "calcs": [
    -             "lastNotNull"
    -           ],
    -           "fields": "",
    -           "values": false
    -         },
    -         "showPercentChange": false,
    -         "textMode": "auto",
    -         "wideLayout": true
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "showPercentChange": false, "textMode": "auto", "wideLayout": true
            },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "editorMode": "code",
    -           "exemplar": false,
    -           "expr": "sum(renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"failed\"}) / sum (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"}) * 100",
    -           "instant": false,
    -           "legendFormat": "__auto",
    -           "range": true,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(renovate_operator_project_executions_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\", status=\"failed\"}) / clamp_min(sum(renovate_operator_project_executions_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}), 1) * 100",
    +           "instant": false, "legendFormat": "__auto", "range": true, "refId": "A"
              }
            ],
            "title": "Failure Rate %",
            "type": "stat"
          },
    + 
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    +       "collapsed": false,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 5 },
    +       "id": 101,
    +       "panels": [],
    +       "title": "Job Lifecycle & Latency",
    +       "type": "row"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "reqps",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
    +         },
    +         "overrides": []
            },
    +       "gridPos": { "h": 8, "w": 12, "x": 0, "y": 6 },
    +       "id": 120,
    +       "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(kind) (rate(renovate_operator_jobs_dispatched_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))",
    +           "legendFormat": "{{kind}}", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Jobs Dispatched (rate)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "palette-classic"
    -           },
    -           "custom": {
    -             "axisBorderShow": false,
    -             "axisCenteredZero": false,
    -             "axisColorMode": "text",
    -             "axisLabel": "",
    -             "axisPlacement": "auto",
    -             "fillOpacity": 80,
    -             "gradientMode": "none",
    -             "hideFrom": {
    -               "legend": false,
    -               "tooltip": false,
    -               "viz": false
    -             },
    -             "lineWidth": 1,
    -             "scaleDistribution": {
    -               "type": "linear"
    -             },
    -             "thresholdsStyle": {
    -               "mode": "off"
    -             }
    -           },
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               },
    -               {
    -                 "color": "red",
    -                 "value": 80
    -               }
    -             ]
    -           }
    +           "unit": "s",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 9,
    -         "w": 12,
    -         "x": 0,
    -         "y": 4
    -       },
    -       "id": 1,
    -       "options": {
    -         "barRadius": 0,
    -         "barWidth": 0.97,
    -         "fullHighlight": false,
    -         "groupWidth": 0.7,
    -         "legend": {
    -           "calcs": [],
    -           "displayMode": "list",
    -           "placement": "bottom",
    -           "showLegend": true
    +       "gridPos": { "h": 8, "w": 12, "x": 12, "y": 6 },
    +       "id": 121,
    +       "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "histogram_quantile(0.50, sum by(le) (rate(renovate_operator_job_duration_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))",
    +           "legendFormat": "p50", "range": true, "refId": "A"
    +         },
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "histogram_quantile(0.95, sum by(le) (rate(renovate_operator_job_duration_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))",
    +           "legendFormat": "p95", "range": true, "refId": "B"
              },
    -         "orientation": "auto",
    -         "showValue": "auto",
    -         "stacking": "none",
    -         "tooltip": {
    -           "hideZeros": false,
    -           "mode": "single",
    -           "sort": "none"
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "histogram_quantile(0.99, sum by(le) (rate(renovate_operator_job_duration_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))",
    +           "legendFormat": "p99", "range": true, "refId": "C"
    +         }
    +       ],
    +       "title": "Job Duration (quantiles)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "s",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
    -         "xTickLabelRotation": 0,
    -         "xTickLabelSpacing": 0
    +         "overrides": []
            },
    +       "gridPos": { "h": 8, "w": 12, "x": 0, "y": 14 },
    +       "id": 122,
    +       "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "datasource": {
    -             "type": "prometheus",
    -             "uid": "$datasource"
    -           },
    -           "editorMode": "code",
    -           "exemplar": false,
    -           "expr": "sum by(project) (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"completed\"})",
    -           "instant": true,
    -           "legendFormat": "{{project}} - {{status}}",
    -           "range": false,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "histogram_quantile(0.50, sum by(le) (rate(renovate_operator_project_queue_wait_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))",
    +           "legendFormat": "p50", "range": true, "refId": "A"
    +         },
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "histogram_quantile(0.95, sum by(le) (rate(renovate_operator_project_queue_wait_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))",
    +           "legendFormat": "p95", "range": true, "refId": "B"
              }
            ],
    -       "title": "Renovate Executions - Completed",
    -       "type": "barchart"
    +       "title": "Project Queue Wait (quantiles)",
    +       "type": "timeseries"
          },
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "reqps",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": 0 } ] }
    +         },
    +         "overrides": []
            },
    +       "gridPos": { "h": 8, "w": 12, "x": 12, "y": 14 },
    +       "id": 123,
    +       "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(reason) (rate(renovate_operator_job_failures_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))",
    +           "legendFormat": "{{reason}}", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Job Failures by Reason (rate)",
    +       "type": "timeseries"
    +     },
    + 
    +     {
    +       "collapsed": false,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 22 },
    +       "id": 102,
    +       "panels": [],
    +       "title": "Saturation & Queue Depth",
    +       "type": "row"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "palette-classic"
    -           },
    -           "custom": {
    -             "axisBorderShow": false,
    -             "axisCenteredZero": false,
    -             "axisColorMode": "text",
    -             "axisLabel": "",
    -             "axisPlacement": "auto",
    -             "fillOpacity": 80,
    -             "gradientMode": "none",
    -             "hideFrom": {
    -               "legend": false,
    -               "tooltip": false,
    -               "viz": false
    -             },
    -             "lineWidth": 1,
    -             "scaleDistribution": {
    -               "type": "linear"
    -             },
    -             "thresholdsStyle": {
    -               "mode": "off"
    -             }
    -           },
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 15, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               },
    -               {
    -                 "color": "red",
    -                 "value": 80
    -               }
    -             ]
    -           }
    +           "unit": "short",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 9,
    -         "w": 12,
    -         "x": 12,
    -         "y": 4
    +       "gridPos": { "h": 8, "w": 12, "x": 0, "y": 23 },
    +       "id": 130,
    +       "options": { "legend": { "calcs": [ "max" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(renovate_job) (renovate_operator_projects_scheduled{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "legendFormat": "scheduled: {{renovate_job}}", "range": true, "refId": "A"
    +         },
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(renovate_job) (renovate_operator_projects_running{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "legendFormat": "running: {{renovate_job}}", "range": true, "refId": "B"
    +         }
    +       ],
    +       "title": "Scheduled vs Running (per job)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "short",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
    +         },
    +         "overrides": [
    +           {
    +             "matcher": { "id": "byName", "options": "parallelism limit" },
    +             "properties": [ { "id": "custom.drawStyle", "value": "line" }, { "id": "custom.lineStyle", "value": { "dash": [ 10, 10 ], "fill": "dash" } }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ]
    +           }
    +         ]
            },
    -       "id": 4,
    -       "options": {
    -         "barRadius": 0,
    -         "barWidth": 0.97,
    -         "fullHighlight": false,
    -         "groupWidth": 0.7,
    -         "legend": {
    -           "calcs": [],
    -           "displayMode": "list",
    -           "placement": "bottom",
    -           "showLegend": true
    +       "gridPos": { "h": 8, "w": 8, "x": 12, "y": 23 },
    +       "id": 131,
    +       "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "renovate_operator_global_running_projects",
    +           "legendFormat": "global running", "range": true, "refId": "A"
              },
    -         "orientation": "auto",
    -         "showValue": "auto",
    -         "stacking": "none",
    -         "tooltip": {
    -           "hideZeros": false,
    -           "mode": "single",
    -           "sort": "none"
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "renovate_operator_global_parallelism_limit != 0",
    +           "legendFormat": "parallelism limit", "range": true, "refId": "B"
    +         }
    +       ],
    +       "title": "Global Running vs Limit",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "s",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
    -         "xTickLabelRotation": 0,
    -         "xTickLabelSpacing": 0
    +         "overrides": []
            },
    +       "gridPos": { "h": 8, "w": 4, "x": 20, "y": 23 },
    +       "id": 132,
    +       "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "datasource": {
    -             "type": "prometheus",
    -             "uid": "$datasource"
    -           },
    -           "editorMode": "builder",
    -           "exemplar": false,
    -           "expr": "sum by(project) (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"failed\"})",
    -           "instant": true,
    -           "legendFormat": "{{project}} - {{status}}",
    -           "range": false,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "histogram_quantile(0.95, sum by(le) (rate(renovate_operator_executor_loop_duration_seconds_bucket[$__rate_interval])))",
    +           "legendFormat": "p95", "range": true, "refId": "A"
              }
            ],
    -       "title": "Renovate Executions - Failed",
    -       "type": "barchart"
    +       "title": "Executor Loop p95",
    +       "type": "timeseries"
          },
    + 
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    +       "collapsed": false,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 31 },
    +       "id": 103,
    +       "panels": [],
    +       "title": "Scheduler",
    +       "type": "row"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 60, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "reqps",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
    +         },
    +         "overrides": [
    +           { "matcher": { "id": "byName", "options": "error" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] },
    +           { "matcher": { "id": "byName", "options": "success" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }
    +         ]
            },
    +       "gridPos": { "h": 8, "w": 12, "x": 0, "y": 32 },
    +       "id": 140,
    +       "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(result) (rate(renovate_operator_schedule_runs_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))",
    +           "legendFormat": "{{result}}", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Schedule Firings by Result (rate)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "thresholds"
    -           },
    +           "color": { "mode": "thresholds" },
    +           "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               },
    -               {
    -                 "color": "red",
    -                 "value": 1
    -               }
    -             ]
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }
    +         },
    +         "overrides": [
    +           {
    +             "matcher": { "id": "byName", "options": "Next Run" },
    +             "properties": [ { "id": "unit", "value": "dateTimeFromNow" } ]
    +           }
    +         ]
    +       },
    +       "gridPos": { "h": 8, "w": 12, "x": 12, "y": 32 },
    +       "id": 141,
    +       "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "renovate_operator_schedule_next_run_timestamp_seconds{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} * 1000",
    +           "format": "table", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A"
    +         }
    +       ],
    +       "title": "Next Scheduled Run",
    +       "transformations": [
    +         {
    +           "id": "organize",
    +           "options": {
    +             "excludeByName": { "Time": true, "__name__": true, "container": true, "endpoint": true, "instance": true, "job": true, "namespace": true, "pod": true, "service": true },
    +             "indexByName": {},
    +             "renameByName": { "Value": "Next Run", "project": "Project", "renovate_job": "Renovate Job", "renovate_namespace": "Namespace" }
                }
    +         }
    +       ],
    +       "type": "table"
    +     },
    + 
    +     {
    +       "collapsed": false,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 40 },
    +       "id": 104,
    +       "panels": [],
    +       "title": "Discovery",
    +       "type": "row"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "short",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 4,
    -         "w": 6,
    -         "x": 0,
    -         "y": 13
    +       "gridPos": { "h": 8, "w": 8, "x": 0, "y": 41 },
    +       "id": 150,
    +       "options": { "legend": { "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(renovate_job) (renovate_operator_discovered_repositories{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "legendFormat": "{{renovate_job}}", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Discovered Repositories (per job)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 60, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "reqps",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
    +         },
    +         "overrides": [
    +           { "matcher": { "id": "byName", "options": "failed" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] },
    +           { "matcher": { "id": "byName", "options": "completed" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }
    +         ]
            },
    -       "id": 7,
    -       "options": {
    -         "colorMode": "value",
    -         "graphMode": "area",
    -         "justifyMode": "auto",
    -         "orientation": "auto",
    -         "percentChangeColorMode": "standard",
    -         "reduceOptions": {
    -           "calcs": [
    -             "lastNotNull"
    -           ],
    -           "fields": "",
    -           "values": false
    +       "gridPos": { "h": 8, "w": 8, "x": 8, "y": 41 },
    +       "id": 151,
    +       "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(status) (rate(renovate_operator_discovery_jobs_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))",
    +           "legendFormat": "{{status}}", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Discovery Jobs by Status (rate)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "reqps",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
    -         "showPercentChange": false,
    -         "textMode": "auto",
    -         "wideLayout": true
    +         "overrides": []
            },
    +       "gridPos": { "h": 8, "w": 8, "x": 16, "y": 41 },
    +       "id": 152,
    +       "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "editorMode": "code",
    -           "exemplar": false,
    -           "expr": "count(renovate_operator_run_failed{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1) or vector(0)",
    -           "instant": true,
    -           "legendFormat": "__auto",
    -           "range": false,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(reason) (rate(renovate_operator_repositories_filtered_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))",
    +           "legendFormat": "{{reason}}", "range": true, "refId": "A"
              }
            ],
    -       "title": "Currently Failed Runs",
    -       "type": "stat"
    +       "title": "Repositories Filtered by Reason (rate)",
    +       "type": "timeseries"
    +     },
    + 
    +     {
    +       "collapsed": false,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 49 },
    +       "id": 105,
    +       "panels": [],
    +       "title": "Pull Requests & Outcomes",
    +       "type": "row"
          },
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "cpm",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
    +         },
    +         "overrides": [
    +           { "matcher": { "id": "byName", "options": "merged" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] },
    +           { "matcher": { "id": "byName", "options": "created" }, "properties": [ { "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } } ] }
    +         ]
            },
    +       "gridPos": { "h": 8, "w": 12, "x": 0, "y": 50 },
    +       "id": 160,
    +       "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(rate(renovate_operator_pull_requests_created_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])) * 60",
    +           "legendFormat": "created", "range": true, "refId": "A"
    +         },
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(rate(renovate_operator_pull_requests_merged_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])) * 60",
    +           "legendFormat": "merged", "range": true, "refId": "B"
    +         },
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(rate(renovate_operator_pull_requests_updated_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])) * 60",
    +           "legendFormat": "updated", "range": true, "refId": "C"
    +         }
    +       ],
    +       "title": "PR Activity (per minute)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "thresholds"
    -           },
    +           "color": { "mode": "palette-classic" },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": 0
    -               },
    -               {
    -                 "color": "orange",
    -                 "value": 1
    -               }
    -             ]
    -           }
    +           "unit": "short",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }
              },
              "overrides": []
            },
    -       "gridPos": {
    -         "h": 4,
    -         "w": 6,
    -         "x": 6,
    -         "y": 13
    +       "gridPos": { "h": 8, "w": 6, "x": 12, "y": 50 },
    +       "id": 161,
    +       "options": {
    +         "legend": { "displayMode": "list", "placement": "right", "showLegend": true, "values": [ "value" ] },
    +         "pieType": "donut",
    +         "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false },
    +         "tooltip": { "mode": "single", "sort": "none" }
            },
    -       "id": 8,
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(status) (renovate_operator_repositories_by_status{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "instant": true, "legendFormat": "{{status}}", "range": false, "refId": "A"
    +         }
    +       ],
    +       "title": "Repositories by Status",
    +       "type": "piechart"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "fillOpacity": 80, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineWidth": 1, "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "short",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }
    +         },
    +         "overrides": []
    +       },
    +       "gridPos": { "h": 8, "w": 6, "x": 18, "y": 50 },
    +       "id": 162,
            "options": {
    -         "colorMode": "value",
    -         "graphMode": "area",
    -         "justifyMode": "auto",
    -         "orientation": "auto",
    -         "percentChangeColorMode": "standard",
    -         "reduceOptions": {
    -           "calcs": [
    -             "lastNotNull"
    -           ],
    -           "fields": "",
    -           "values": false
    +         "barRadius": 0, "barWidth": 0.8, "fullHighlight": false, "groupWidth": 0.7,
    +         "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": false },
    +         "orientation": "horizontal", "showValue": "auto", "stacking": "none",
    +         "tooltip": { "mode": "single", "sort": "none" }, "xTickLabelRotation": 0, "xTickLabelSpacing": 0
    +       },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "topk(10, sum by(project) (renovate_operator_open_pull_requests{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}) > 0)",
    +           "format": "time_series", "instant": true, "legendFormat": "{{project}}", "range": false, "refId": "A"
    +         }
    +       ],
    +       "title": "Top Open PRs by Project",
    +       "type": "barchart"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "continuous-GrYlRd" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "fillOpacity": 80, "gradientMode": "scheme", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineWidth": 1, "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "s",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }
              },
    -         "showPercentChange": false,
    -         "textMode": "auto",
    -         "wideLayout": true
    +         "overrides": []
    +       },
    +       "gridPos": { "h": 9, "w": 12, "x": 0, "y": 58 },
    +       "id": 163,
    +       "options": {
    +         "barRadius": 0, "barWidth": 0.8, "fullHighlight": false, "groupWidth": 0.7,
    +         "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": false },
    +         "orientation": "horizontal", "showValue": "auto", "stacking": "none",
    +         "tooltip": { "mode": "single", "sort": "none" }, "xTickLabelRotation": 0, "xTickLabelSpacing": 0
            },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "editorMode": "code",
    -           "exemplar": false,
    -           "expr": "count(renovate_operator_dependency_issues{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1) or vector(0)",
    -           "instant": true,
    -           "legendFormat": "__auto",
    -           "range": false,
    -           "refId": "A"
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "topk(15, renovate_operator_last_execution_duration_seconds{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "format": "time_series", "instant": true, "legendFormat": "{{project}}", "range": false, "refId": "A"
              }
            ],
    -       "title": "Projects with Dependency Issues",
    -       "type": "stat"
    +       "title": "Slowest Projects (last run duration)",
    +       "type": "barchart"
          },
          {
    -       "datasource": {
    -         "type": "prometheus",
    -         "uid": "$datasource"
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +           "mappings": [],
    +           "unit": "short",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
    +         },
    +         "overrides": []
            },
    +       "gridPos": { "h": 9, "w": 12, "x": 12, "y": 58 },
    +       "id": 164,
    +       "options": { "legend": { "calcs": [ "lastNotNull", "max" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(renovate_operator_open_pull_requests{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "legendFormat": "open PRs", "range": true, "refId": "A"
    +         },
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum(renovate_operator_approvals_needed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "legendFormat": "awaiting approval", "range": true, "refId": "B"
    +         }
    +       ],
    +       "title": "Open PRs & Approvals over time",
    +       "type": "timeseries"
    +     },
    + 
    +     {
    +       "collapsed": false,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 67 },
    +       "id": 106,
    +       "panels": [],
    +       "title": "Log Quality & Issues",
    +       "type": "row"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
            "fieldConfig": {
              "defaults": {
    -           "color": {
    -             "mode": "thresholds"
    -           },
    -           "custom": {
    -             "align": "auto",
    -             "cellOptions": {
    -               "type": "auto"
    -             },
    -             "inspect": false
    -           },
    +           "color": { "mode": "palette-classic" },
    +           "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } },
                "mappings": [],
    -           "thresholds": {
    -             "mode": "absolute",
    -             "steps": [
    -               {
    -                 "color": "green",
    -                 "value": null
    -               }
    -             ]
    -           }
    +           "unit": "short",
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
              },
              "overrides": [
    -           {
    -             "matcher": {
    -               "id": "byName",
    -               "options": "project"
    -             },
    -             "properties": [
    -               {
    -                 "id": "custom.width",
    -                 "value": 300
    -               }
    -             ]
    -           }
    +           { "matcher": { "id": "byName", "options": "error" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] },
    +           { "matcher": { "id": "byName", "options": "warn" }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } } ] }
              ]
            },
    -       "gridPos": {
    -         "h": 8,
    -         "w": 12,
    -         "x": 12,
    -         "y": 13
    +       "gridPos": { "h": 8, "w": 12, "x": 0, "y": 68 },
    +       "id": 170,
    +       "options": { "legend": { "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +       "pluginVersion": "12.3.1",
    +       "targets": [
    +         {
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "sum by(level) (renovate_operator_log_issues{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})",
    +           "legendFormat": "{{level}}", "range": true, "refId": "A"
    +         }
    +       ],
    +       "title": "Log Issues by Level (total)",
    +       "type": "timeseries"
    +     },
    +     {
    +       "datasource": { "type": "prometheus", "uid": "$datasource" },
    +       "fieldConfig": {
    +         "defaults": {
    +           "color": { "mode": "thresholds" },
    +           "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false },
    +           "mappings": [],
    +           "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }
    +         },
    +         "overrides": [
    +           { "matcher": { "id": "byName", "options": "project" }, "properties": [ { "id": "custom.width", "value": 300 } ] }
    +         ]
            },
    +       "gridPos": { "h": 8, "w": 12, "x": 12, "y": 68 },
            "id": 9,
    -       "options": {
    -         "cellHeight": "sm",
    -         "footer": {
    -           "countRows": false,
    -           "fields": "",
    -           "reducer": [
    -             "sum"
    -           ],
    -           "show": false
    -         },
    -         "showHeader": true
    -       },
    +       "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true },
            "pluginVersion": "12.3.1",
            "targets": [
              {
    -           "datasource": {
    -             "type": "prometheus",
    -             "uid": "$datasource"
    -           },
    -           "editorMode": "code",
    -           "exemplar": false,
    -           "expr": "renovate_operator_run_failed{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1 or renovate_operator_dependency_issues{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1",
    -           "format": "table",
    -           "instant": true,
    -           "legendFormat": "__auto",
    -           "range": false,
    -           "refId": "A"
    +           "datasource": { "type": "prometheus", "uid": "$datasource" },
    +           "editorMode": "code", "exemplar": false,
    +           "expr": "renovate_operator_run_failed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1 or renovate_operator_dependency_issues{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1",
    +           "format": "table", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A"
              }
            ],
            "title": "Projects with Issues",
            "transformations": [
              {
                "id": "organize",
                "options": {
    -             "excludeByName": {
    -               "Time": true,
    -               "Value": true,
    -               "__name__": true
    +             "excludeByName": { "Time": true, "Value": true, "__name__": true, "container": true, "endpoint": true, "instance": true, "job": true, "namespace": true, "pod": true, "service": true },
    +             "indexByName": { "Time": 0, "__name__": 1, "renovate_namespace": 2, "renovate_job": 3, "project": 4, "Value": 5 },
    +             "renameByName": { "project": "Project", "renovate_job": "Renovate Job", "renovate_namespace": "Namespace" }
    +           }
    +         }
    +       ],
    +       "type": "table"
    +     },
    + 
    +     {
    +       "collapsed": true,
    +       "gridPos": { "h": 1, "w": 24, "x": 0, "y": 76 },
    +       "id": 107,
    +       "panels": [
    +         {
    +           "datasource": { "type": "prometheus", "uid": "$datasource" },
    +           "fieldConfig": {
    +             "defaults": {
    +               "color": { "mode": "palette-classic" },
    +               "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +               "mappings": [],
    +               "unit": "reqps",
    +               "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
                  },
    -             "indexByName": {
    -               "Time": 0,
    -               "Value": 5,
    -               "__name__": 1,
    -               "project": 4,
    -               "renovate_job": 3,
    -               "renovate_namespace": 2
    +             "overrides": [
    +               { "matcher": { "id": "byRegexp", "options": ".*rejected.*" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }
    +             ]
    +           },
    +           "gridPos": { "h": 8, "w": 12, "x": 0, "y": 77 },
    +           "id": 180,
    +           "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +           "pluginVersion": "12.3.1",
    +           "targets": [
    +             {
    +               "editorMode": "code", "exemplar": false,
    +               "expr": "sum by(provider, result) (rate(renovate_operator_webhook_requests_total[$__rate_interval]))",
    +               "legendFormat": "{{provider}} / {{result}}", "range": true, "refId": "A"
    +             }
    +           ],
    +           "title": "Webhook Requests by Provider/Result (rate)",
    +           "type": "timeseries"
    +         },
    +         {
    +           "datasource": { "type": "prometheus", "uid": "$datasource" },
    +           "fieldConfig": {
    +             "defaults": {
    +               "color": { "mode": "palette-classic" },
    +               "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +               "mappings": [],
    +               "unit": "reqps",
    +               "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "red", "value": 0.001 } ] }
                  },
    -             "renameByName": {
    -               "project": "Project",
    -               "renovate_job": "Renovate Job",
    -               "renovate_namespace": "Namespace"
    +             "overrides": []
    +           },
    +           "gridPos": { "h": 8, "w": 12, "x": 12, "y": 77 },
    +           "id": 181,
    +           "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +           "pluginVersion": "12.3.1",
    +           "targets": [
    +             {
    +               "editorMode": "code", "exemplar": false,
    +               "expr": "sum by(provider) (rate(renovate_operator_webhook_signature_verification_failures_total[$__rate_interval]))",
    +               "legendFormat": "sig fail: {{provider}}", "range": true, "refId": "A"
    +             },
    +             {
    +               "editorMode": "code", "exemplar": false,
    +               "expr": "sum by(provider, error_type) (rate(renovate_operator_webhook_auth_failures_total[$__rate_interval]))",
    +               "legendFormat": "auth fail: {{provider}}/{{error_type}}", "range": true, "refId": "B"
    +             }
    +           ],
    +           "title": "Webhook Auth & Signature Failures (rate)",
    +           "type": "timeseries"
    +         },
    +         {
    +           "datasource": { "type": "prometheus", "uid": "$datasource" },
    +           "fieldConfig": {
    +             "defaults": {
    +               "color": { "mode": "palette-classic" },
    +               "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +               "mappings": [],
    +               "unit": "reqps",
    +               "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }
    +             },
    +             "overrides": []
    +           },
    +           "gridPos": { "h": 8, "w": 12, "x": 0, "y": 85 },
    +           "id": 183,
    +           "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +           "pluginVersion": "12.3.1",
    +           "targets": [
    +             {
    +               "editorMode": "code", "exemplar": false,
    +               "expr": "sum by(provider) (rate(renovate_operator_webhook_payload_decode_failures_total[$__rate_interval]))",
    +               "legendFormat": "{{provider}}", "range": true, "refId": "A"
                  }
    -           }
    +           ],
    +           "title": "Webhook Payload Decode Failures (rate)",
    +           "type": "timeseries"
    +         },
    +         {
    +           "datasource": { "type": "prometheus", "uid": "$datasource" },
    +           "fieldConfig": {
    +             "defaults": {
    +               "color": { "mode": "palette-classic" },
    +               "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } },
    +               "mappings": [],
    +               "unit": "reqps",
    +               "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "red", "value": 0.001 } ] }
    +             },
    +             "overrides": []
    +           },
    +           "gridPos": { "h": 8, "w": 12, "x": 12, "y": 85 },
    +           "id": 184,
    +           "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } },
    +           "pluginVersion": "12.3.1",
    +           "targets": [
    +             {
    +               "editorMode": "code", "exemplar": false,
    +               "expr": "sum by(error_type) (rate(renovate_operator_secret_resolution_errors_total[$__rate_interval]))",
    +               "legendFormat": "{{error_type}}", "range": true, "refId": "A"
    +             }
    +           ],
    +           "title": "Secret Resolution Errors by Type (rate)",
    +           "type": "timeseries"
              }
            ],
    -       "type": "table"
    +       "title": "SecOps — Webhooks & Credentials",
    +       "type": "row"
          }
        ],
        "preload": false,
        "schemaVersion": 42,
      
      [64 lines unchanged)]
      
        "timepicker": {},
        "timezone": "browser",
        "title": "Renovate Operator",
        "uid": "lu79xfd",
    -   "version": 10
    +   "version": 11
      }
  
  

spec.template.spec.containers.renovate-operator.env  (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator)
  + one list entry added:
    - name: POD_LABEL_TEMPLATES
      value: {}

spec.template.spec.containers.renovate-operator.image  (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator)
  ± value change
    - ghcr.io/mogenius/renovate-operator:5.2.0
    + ghcr.io/mogenius/renovate-operator:5.4.0

data.renovatejob.yaml  (v1/ConfigMap/apps-renovate/renovate-operator-renovate-operator-crd)
  ± value change in multiline text (three inserts, three deletions)
      ---
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
      
      [eight lines unchanged)]
      
          plural: renovatejobs
          singular: renovatejob
        scope: Namespaced
        versions:
    -   - name: v1alpha1
    +   - additionalPrinterColumns:
    +     - jsonPath: .spec.schedule
    +       name: Schedule
    +       type: string
    +     - jsonPath: .spec.provider.name
    +       name: Provider
    +       type: string
    +     name: v1alpha1
          schema:
            openAPIV3Schema:
              properties:
                apiVersion:
      
      [3190 lines unchanged)]
      
                        endpoint:
                          type: string
                        name:
                          type: string
    +                   publicEndpoint:
    +                     description: |-
    +                       PublicEndpoint is the externally reachable URL for the provider, used only for UI links.
    +                       When set, this overrides Endpoint for dashboard links while Endpoint continues to be
    +                       used for Renovate API calls and cloning. Defaults to Endpoint when omitted.
    +                     type: string
                      required:
                      - name
                      type: object
                    resources:
      
      [1068 lines unchanged)]
      
                        description: Status of a single project within a RenovateJob
                        properties:
                          duration:
                            type: string
    -                     lastRun:
    +                     lastTransition:
    +                       description: LastTransition records when the project most recently
    +                         changed state.
                            format: date-time
                            type: string
                          logIssues:
                            description: LogIssues contains aggregate counts and individual
      
      [75 lines unchanged)]
      
                            type: string
                          status:
                            type: string
                        required:
    -                   - lastRun
                        - name
                        - status
                        type: object
                      type: array
      
      [two lines unchanged)]
      
          served: true
          storage: true
          subresources:
            status: {}

Pipeline

## flate diff ``` data.renovate-operator.json (v1/ConfigMap/apps-renovate/renovate-operator-dashboard) ± value change in multiline text (94 inserts, 81 deletions) { "annotations": { "list": [ [13 lines unchanged)] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 37, "links": [], "panels": [ { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, + "id": 100, + "panels": [], + "title": "Overview", + "type": "row" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, + "color": { "mode": "thresholds" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - } - ] - } + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 7, - "x": 0, - "y": 0 - }, + "gridPos": { "h": 4, "w": 3, "x": 0, "y": 1 }, "id": 6, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "12.3.1", "targets": [ { - "editorMode": "code", - "exemplar": false, - "expr": "count(group by(project) (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"}))", - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "count(group by(project) (renovate_operator_project_executions_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}))", + "instant": false, "legendFormat": "__auto", "range": true, "refId": "A" } ], - "title": "Repository Count", + "title": "Repositories", "type": "stat" }, { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, + "color": { "mode": "thresholds" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - } - ] - } + "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": 0 }, { "color": "green", "value": 1 } ] } }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 5, - "x": 7, - "y": 0 - }, - "id": 2, + "gridPos": { "h": 4, "w": 3, "x": 3, "y": 1 }, + "id": 110, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "12.3.1", "targets": [ { - "editorMode": "builder", - "exemplar": false, - "expr": "sum(renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"completed\"})", - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "sum(renovate_operator_projects_running{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "instant": false, "legendFormat": "__auto", "range": true, "refId": "A" } ], - "title": "Completed", + "title": "Running", "type": "stat" }, { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, + "color": { "mode": "thresholds" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - }, - { - "color": "yellow", - "value": 5 - }, - { - "color": "orange", - "value": 50 - }, - { - "color": "red", - "value": 100 - } - ] - } + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "yellow", "value": 20 }, { "color": "orange", "value": 100 } ] } }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 5, - "x": 12, - "y": 0 + "gridPos": { "h": 4, "w": 3, "x": 6, "y": 1 }, + "id": 111, + "options": { + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true }, - "id": 3, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum(renovate_operator_projects_scheduled{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "instant": false, "legendFormat": "__auto", "range": true, "refId": "A" + } + ], + "title": "Queued (Scheduled)", + "type": "stat" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "mappings": [], + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "blue", "value": 1 } ] } + }, + "overrides": [] + }, + "gridPos": { "h": 4, "w": 3, "x": 9, "y": 1 }, + "id": 112, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true + }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum(renovate_operator_open_pull_requests{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "instant": false, "legendFormat": "__auto", "range": true, "refId": "A" + } + ], + "title": "Open PRs", + "type": "stat" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "mappings": [], + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "yellow", "value": 1 } ] } }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "overrides": [] + }, + "gridPos": { "h": 4, "w": 3, "x": 12, "y": 1 }, + "id": 113, + "options": { + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "12.3.1", "targets": [ { - "editorMode": "builder", - "exemplar": false, - "expr": "sum(renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"failed\"})", - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "sum(renovate_operator_approvals_needed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "instant": false, "legendFormat": "__auto", "range": true, "refId": "A" } ], - "title": "Failed", + "title": "Awaiting Approval", "type": "stat" }, { - "datasource": { - "type": "prometheus", - "uid": "$datasource" + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "mappings": [], + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "red", "value": 1 } ] } + }, + "overrides": [] + }, + "gridPos": { "h": 4, "w": 3, "x": 15, "y": 1 }, + "id": 7, + "options": { + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "count(renovate_operator_run_failed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1) or vector(0)", + "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" + } + ], + "title": "Failing Projects", + "type": "stat" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, + "color": { "mode": "thresholds" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - }, - { - "color": "#EAB839", - "value": 1 - }, - { - "color": "orange", - "value": 5 - }, - { - "color": "red", - "value": 10 - } - ] - } + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "orange", "value": 1 } ] } }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 7, - "x": 17, - "y": 0 + "gridPos": { "h": 4, "w": 3, "x": 18, "y": 1 }, + "id": 8, + "options": { + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "count(renovate_operator_dependency_issues{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1) or vector(0)", + "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" + } + ], + "title": "Projects with Issues", + "type": "stat" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "mappings": [], + "unit": "percent", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "#EAB839", "value": 1 }, { "color": "orange", "value": 5 }, { "color": "red", "value": 10 } ] } + }, + "overrides": [] + }, + "gridPos": { "h": 4, "w": 3, "x": 21, "y": 1 }, "id": 5, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", + "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "12.3.1", "targets": [ { - "editorMode": "code", - "exemplar": false, - "expr": "sum(renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"failed\"}) / sum (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"}) * 100", - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "sum(renovate_operator_project_executions_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\", status=\"failed\"}) / clamp_min(sum(renovate_operator_project_executions_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}), 1) * 100", + "instant": false, "legendFormat": "__auto", "range": true, "refId": "A" } ], "title": "Failure Rate %", "type": "stat" }, + { - "datasource": { - "type": "prometheus", - "uid": "$datasource" + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 5 }, + "id": 101, + "panels": [], + "title": "Job Lifecycle & Latency", + "type": "row" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } + }, + "overrides": [] }, + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 6 }, + "id": 120, + "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(kind) (rate(renovate_operator_jobs_dispatched_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))", + "legendFormat": "{{kind}}", "range": true, "refId": "A" + } + ], + "title": "Jobs Dispatched (rate)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "fillOpacity": 80, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineWidth": 1, - "scaleDistribution": { - "type": "linear" - }, - "thresholdsStyle": { - "mode": "off" - } - }, + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - }, - { - "color": "red", - "value": 80 - } - ] - } + "unit": "s", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, "overrides": [] }, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 4 - }, - "id": 1, - "options": { - "barRadius": 0, - "barWidth": 0.97, - "fullHighlight": false, - "groupWidth": 0.7, - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 6 }, + "id": 121, + "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "histogram_quantile(0.50, sum by(le) (rate(renovate_operator_job_duration_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))", + "legendFormat": "p50", "range": true, "refId": "A" + }, + { + "editorMode": "code", "exemplar": false, + "expr": "histogram_quantile(0.95, sum by(le) (rate(renovate_operator_job_duration_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))", + "legendFormat": "p95", "range": true, "refId": "B" }, - "orientation": "auto", - "showValue": "auto", - "stacking": "none", - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" + { + "editorMode": "code", "exemplar": false, + "expr": "histogram_quantile(0.99, sum by(le) (rate(renovate_operator_job_duration_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))", + "legendFormat": "p99", "range": true, "refId": "C" + } + ], + "title": "Job Duration (quantiles)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "s", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, - "xTickLabelRotation": 0, - "xTickLabelSpacing": 0 + "overrides": [] }, + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 14 }, + "id": 122, + "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "12.3.1", "targets": [ { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "editorMode": "code", - "exemplar": false, - "expr": "sum by(project) (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"completed\"})", - "instant": true, - "legendFormat": "{{project}} - {{status}}", - "range": false, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "histogram_quantile(0.50, sum by(le) (rate(renovate_operator_project_queue_wait_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))", + "legendFormat": "p50", "range": true, "refId": "A" + }, + { + "editorMode": "code", "exemplar": false, + "expr": "histogram_quantile(0.95, sum by(le) (rate(renovate_operator_project_queue_wait_seconds_bucket{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])))", + "legendFormat": "p95", "range": true, "refId": "B" } ], - "title": "Renovate Executions - Completed", - "type": "barchart" + "title": "Project Queue Wait (quantiles)", + "type": "timeseries" }, { - "datasource": { - "type": "prometheus", - "uid": "$datasource" + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": 0 } ] } + }, + "overrides": [] }, + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 14 }, + "id": 123, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(reason) (rate(renovate_operator_job_failures_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))", + "legendFormat": "{{reason}}", "range": true, "refId": "A" + } + ], + "title": "Job Failures by Reason (rate)", + "type": "timeseries" + }, + + { + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 22 }, + "id": 102, + "panels": [], + "title": "Saturation & Queue Depth", + "type": "row" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "fillOpacity": 80, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineWidth": 1, - "scaleDistribution": { - "type": "linear" - }, - "thresholdsStyle": { - "mode": "off" - } - }, + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 15, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - }, - { - "color": "red", - "value": 80 - } - ] - } + "unit": "short", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, "overrides": [] }, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 4 + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 23 }, + "id": 130, + "options": { "legend": { "calcs": [ "max" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(renovate_job) (renovate_operator_projects_scheduled{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "legendFormat": "scheduled: {{renovate_job}}", "range": true, "refId": "A" + }, + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(renovate_job) (renovate_operator_projects_running{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "legendFormat": "running: {{renovate_job}}", "range": true, "refId": "B" + } + ], + "title": "Scheduled vs Running (per job)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "short", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } + }, + "overrides": [ + { + "matcher": { "id": "byName", "options": "parallelism limit" }, + "properties": [ { "id": "custom.drawStyle", "value": "line" }, { "id": "custom.lineStyle", "value": { "dash": [ 10, 10 ], "fill": "dash" } }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] + } + ] }, - "id": 4, - "options": { - "barRadius": 0, - "barWidth": 0.97, - "fullHighlight": false, - "groupWidth": 0.7, - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "gridPos": { "h": 8, "w": 8, "x": 12, "y": 23 }, + "id": 131, + "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "renovate_operator_global_running_projects", + "legendFormat": "global running", "range": true, "refId": "A" }, - "orientation": "auto", - "showValue": "auto", - "stacking": "none", - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" + { + "editorMode": "code", "exemplar": false, + "expr": "renovate_operator_global_parallelism_limit != 0", + "legendFormat": "parallelism limit", "range": true, "refId": "B" + } + ], + "title": "Global Running vs Limit", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "s", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, - "xTickLabelRotation": 0, - "xTickLabelSpacing": 0 + "overrides": [] }, + "gridPos": { "h": 8, "w": 4, "x": 20, "y": 23 }, + "id": 132, + "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "12.3.1", "targets": [ { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "editorMode": "builder", - "exemplar": false, - "expr": "sum by(project) (renovate_operator_project_executions_total{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\", status=\"failed\"})", - "instant": true, - "legendFormat": "{{project}} - {{status}}", - "range": false, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "histogram_quantile(0.95, sum by(le) (rate(renovate_operator_executor_loop_duration_seconds_bucket[$__rate_interval])))", + "legendFormat": "p95", "range": true, "refId": "A" } ], - "title": "Renovate Executions - Failed", - "type": "barchart" + "title": "Executor Loop p95", + "type": "timeseries" }, + { - "datasource": { - "type": "prometheus", - "uid": "$datasource" + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 31 }, + "id": 103, + "panels": [], + "title": "Scheduler", + "type": "row" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 60, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "error" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, + { "matcher": { "id": "byName", "options": "success" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] } + ] }, + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 32 }, + "id": 140, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(result) (rate(renovate_operator_schedule_runs_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))", + "legendFormat": "{{result}}", "range": true, "refId": "A" + } + ], + "title": "Schedule Firings by Result (rate)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, + "color": { "mode": "thresholds" }, + "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - }, - { - "color": "red", - "value": 1 - } - ] + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } + }, + "overrides": [ + { + "matcher": { "id": "byName", "options": "Next Run" }, + "properties": [ { "id": "unit", "value": "dateTimeFromNow" } ] + } + ] + }, + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 32 }, + "id": 141, + "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "renovate_operator_schedule_next_run_timestamp_seconds{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} * 1000", + "format": "table", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" + } + ], + "title": "Next Scheduled Run", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { "Time": true, "__name__": true, "container": true, "endpoint": true, "instance": true, "job": true, "namespace": true, "pod": true, "service": true }, + "indexByName": {}, + "renameByName": { "Value": "Next Run", "project": "Project", "renovate_job": "Renovate Job", "renovate_namespace": "Namespace" } } + } + ], + "type": "table" + }, + + { + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 40 }, + "id": 104, + "panels": [], + "title": "Discovery", + "type": "row" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "short", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 6, - "x": 0, - "y": 13 + "gridPos": { "h": 8, "w": 8, "x": 0, "y": 41 }, + "id": 150, + "options": { "legend": { "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(renovate_job) (renovate_operator_discovered_repositories{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "legendFormat": "{{renovate_job}}", "range": true, "refId": "A" + } + ], + "title": "Discovered Repositories (per job)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 60, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "failed" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, + { "matcher": { "id": "byName", "options": "completed" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] } + ] }, - "id": 7, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "gridPos": { "h": 8, "w": 8, "x": 8, "y": 41 }, + "id": 151, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(status) (rate(renovate_operator_discovery_jobs_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))", + "legendFormat": "{{status}}", "range": true, "refId": "A" + } + ], + "title": "Discovery Jobs by Status (rate)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "overrides": [] }, + "gridPos": { "h": 8, "w": 8, "x": 16, "y": 41 }, + "id": 152, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "12.3.1", "targets": [ { - "editorMode": "code", - "exemplar": false, - "expr": "count(renovate_operator_run_failed{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1) or vector(0)", - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "sum by(reason) (rate(renovate_operator_repositories_filtered_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval]))", + "legendFormat": "{{reason}}", "range": true, "refId": "A" } ], - "title": "Currently Failed Runs", - "type": "stat" + "title": "Repositories Filtered by Reason (rate)", + "type": "timeseries" + }, + + { + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 49 }, + "id": 105, + "panels": [], + "title": "Pull Requests & Outcomes", + "type": "row" }, { - "datasource": { - "type": "prometheus", - "uid": "$datasource" + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "cpm", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "merged" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }, + { "matcher": { "id": "byName", "options": "created" }, "properties": [ { "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } } ] } + ] }, + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 50 }, + "id": 160, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum(rate(renovate_operator_pull_requests_created_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])) * 60", + "legendFormat": "created", "range": true, "refId": "A" + }, + { + "editorMode": "code", "exemplar": false, + "expr": "sum(rate(renovate_operator_pull_requests_merged_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])) * 60", + "legendFormat": "merged", "range": true, "refId": "B" + }, + { + "editorMode": "code", "exemplar": false, + "expr": "sum(rate(renovate_operator_pull_requests_updated_total{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}[$__rate_interval])) * 60", + "legendFormat": "updated", "range": true, "refId": "C" + } + ], + "title": "PR Activity (per minute)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, + "color": { "mode": "palette-classic" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - }, - { - "color": "orange", - "value": 1 - } - ] - } + "unit": "short", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 6, - "x": 6, - "y": 13 + "gridPos": { "h": 8, "w": 6, "x": 12, "y": 50 }, + "id": 161, + "options": { + "legend": { "displayMode": "list", "placement": "right", "showLegend": true, "values": [ "value" ] }, + "pieType": "donut", + "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, + "tooltip": { "mode": "single", "sort": "none" } }, - "id": 8, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(status) (renovate_operator_repositories_by_status{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "instant": true, "legendFormat": "{{status}}", "range": false, "refId": "A" + } + ], + "title": "Repositories by Status", + "type": "piechart" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "fillOpacity": 80, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineWidth": 1, "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "short", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } + }, + "overrides": [] + }, + "gridPos": { "h": 8, "w": 6, "x": 18, "y": 50 }, + "id": 162, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "barRadius": 0, "barWidth": 0.8, "fullHighlight": false, "groupWidth": 0.7, + "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": false }, + "orientation": "horizontal", "showValue": "auto", "stacking": "none", + "tooltip": { "mode": "single", "sort": "none" }, "xTickLabelRotation": 0, "xTickLabelSpacing": 0 + }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "topk(10, sum by(project) (renovate_operator_open_pull_requests{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"}) > 0)", + "format": "time_series", "instant": true, "legendFormat": "{{project}}", "range": false, "refId": "A" + } + ], + "title": "Top Open PRs by Project", + "type": "barchart" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "continuous-GrYlRd" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "fillOpacity": 80, "gradientMode": "scheme", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineWidth": 1, "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "s", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "overrides": [] + }, + "gridPos": { "h": 9, "w": 12, "x": 0, "y": 58 }, + "id": 163, + "options": { + "barRadius": 0, "barWidth": 0.8, "fullHighlight": false, "groupWidth": 0.7, + "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": false }, + "orientation": "horizontal", "showValue": "auto", "stacking": "none", + "tooltip": { "mode": "single", "sort": "none" }, "xTickLabelRotation": 0, "xTickLabelSpacing": 0 }, "pluginVersion": "12.3.1", "targets": [ { - "editorMode": "code", - "exemplar": false, - "expr": "count(renovate_operator_dependency_issues{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1) or vector(0)", - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A" + "editorMode": "code", "exemplar": false, + "expr": "topk(15, renovate_operator_last_execution_duration_seconds{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "format": "time_series", "instant": true, "legendFormat": "{{project}}", "range": false, "refId": "A" } ], - "title": "Projects with Dependency Issues", - "type": "stat" + "title": "Slowest Projects (last run duration)", + "type": "barchart" }, { - "datasource": { - "type": "prometheus", - "uid": "$datasource" + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "short", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } + }, + "overrides": [] }, + "gridPos": { "h": 9, "w": 12, "x": 12, "y": 58 }, + "id": 164, + "options": { "legend": { "calcs": [ "lastNotNull", "max" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum(renovate_operator_open_pull_requests{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "legendFormat": "open PRs", "range": true, "refId": "A" + }, + { + "editorMode": "code", "exemplar": false, + "expr": "sum(renovate_operator_approvals_needed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "legendFormat": "awaiting approval", "range": true, "refId": "B" + } + ], + "title": "Open PRs & Approvals over time", + "type": "timeseries" + }, + + { + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 67 }, + "id": 106, + "panels": [], + "title": "Log Quality & Issues", + "type": "row" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } + "unit": "short", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, "overrides": [ - { - "matcher": { - "id": "byName", - "options": "project" - }, - "properties": [ - { - "id": "custom.width", - "value": 300 - } - ] - } + { "matcher": { "id": "byName", "options": "error" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, + { "matcher": { "id": "byName", "options": "warn" }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } } ] } ] }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 13 + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 68 }, + "id": 170, + "options": { "legend": { "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(level) (renovate_operator_log_issues{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"})", + "legendFormat": "{{level}}", "range": true, "refId": "A" + } + ], + "title": "Log Issues by Level (total)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, + "mappings": [], + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "project" }, "properties": [ { "id": "custom.width", "value": 300 } ] } + ] }, + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 68 }, "id": 9, - "options": { - "cellHeight": "sm", - "footer": { - "countRows": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, + "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "12.3.1", "targets": [ { - "datasource": { - "type": "prometheus", - "uid": "$datasource" - }, - "editorMode": "code", - "exemplar": false, - "expr": "renovate_operator_run_failed{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1 or renovate_operator_dependency_issues{\"renovate_namespace\"=~\"$RenovateNamespace\", \"renovate_job\"=~\"$RenovateJob\"} == 1", - "format": "table", - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A" + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "editorMode": "code", "exemplar": false, + "expr": "renovate_operator_run_failed{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1 or renovate_operator_dependency_issues{renovate_namespace=~\"$RenovateNamespace\", renovate_job=~\"$RenovateJob\"} == 1", + "format": "table", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "Projects with Issues", "transformations": [ { "id": "organize", "options": { - "excludeByName": { - "Time": true, - "Value": true, - "__name__": true + "excludeByName": { "Time": true, "Value": true, "__name__": true, "container": true, "endpoint": true, "instance": true, "job": true, "namespace": true, "pod": true, "service": true }, + "indexByName": { "Time": 0, "__name__": 1, "renovate_namespace": 2, "renovate_job": 3, "project": 4, "Value": 5 }, + "renameByName": { "project": "Project", "renovate_job": "Renovate Job", "renovate_namespace": "Namespace" } + } + } + ], + "type": "table" + }, + + { + "collapsed": true, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 76 }, + "id": 107, + "panels": [ + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } }, - "indexByName": { - "Time": 0, - "Value": 5, - "__name__": 1, - "project": 4, - "renovate_job": 3, - "renovate_namespace": 2 + "overrides": [ + { "matcher": { "id": "byRegexp", "options": ".*rejected.*" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] } + ] + }, + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 77 }, + "id": 180, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(provider, result) (rate(renovate_operator_webhook_requests_total[$__rate_interval]))", + "legendFormat": "{{provider}} / {{result}}", "range": true, "refId": "A" + } + ], + "title": "Webhook Requests by Provider/Result (rate)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "red", "value": 0.001 } ] } }, - "renameByName": { - "project": "Project", - "renovate_job": "Renovate Job", - "renovate_namespace": "Namespace" + "overrides": [] + }, + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 77 }, + "id": 181, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(provider) (rate(renovate_operator_webhook_signature_verification_failures_total[$__rate_interval]))", + "legendFormat": "sig fail: {{provider}}", "range": true, "refId": "A" + }, + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(provider, error_type) (rate(renovate_operator_webhook_auth_failures_total[$__rate_interval]))", + "legendFormat": "auth fail: {{provider}}/{{error_type}}", "range": true, "refId": "B" + } + ], + "title": "Webhook Auth & Signature Failures (rate)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] } + }, + "overrides": [] + }, + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 85 }, + "id": 183, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(provider) (rate(renovate_operator_webhook_payload_decode_failures_total[$__rate_interval]))", + "legendFormat": "{{provider}}", "range": true, "refId": "A" } - } + ], + "title": "Webhook Payload Decode Failures (rate)", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "$datasource" }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, + "mappings": [], + "unit": "reqps", + "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "red", "value": 0.001 } ] } + }, + "overrides": [] + }, + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 85 }, + "id": 184, + "options": { "legend": { "calcs": [ "sum" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, + "pluginVersion": "12.3.1", + "targets": [ + { + "editorMode": "code", "exemplar": false, + "expr": "sum by(error_type) (rate(renovate_operator_secret_resolution_errors_total[$__rate_interval]))", + "legendFormat": "{{error_type}}", "range": true, "refId": "A" + } + ], + "title": "Secret Resolution Errors by Type (rate)", + "type": "timeseries" } ], - "type": "table" + "title": "SecOps — Webhooks & Credentials", + "type": "row" } ], "preload": false, "schemaVersion": 42, [64 lines unchanged)] "timepicker": {}, "timezone": "browser", "title": "Renovate Operator", "uid": "lu79xfd", - "version": 10 + "version": 11 } spec.template.spec.containers.renovate-operator.env (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator) + one list entry added: - name: POD_LABEL_TEMPLATES value: {} spec.template.spec.containers.renovate-operator.image (apps/v1/Deployment/apps-renovate/renovate-operator-renovate-operator) ± value change - ghcr.io/mogenius/renovate-operator:5.2.0 + ghcr.io/mogenius/renovate-operator:5.4.0 data.renovatejob.yaml (v1/ConfigMap/apps-renovate/renovate-operator-renovate-operator-crd) ± value change in multiline text (three inserts, three deletions) --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: [eight lines unchanged)] plural: renovatejobs singular: renovatejob scope: Namespaced versions: - - name: v1alpha1 + - additionalPrinterColumns: + - jsonPath: .spec.schedule + name: Schedule + type: string + - jsonPath: .spec.provider.name + name: Provider + type: string + name: v1alpha1 schema: openAPIV3Schema: properties: apiVersion: [3190 lines unchanged)] endpoint: type: string name: type: string + publicEndpoint: + description: |- + PublicEndpoint is the externally reachable URL for the provider, used only for UI links. + When set, this overrides Endpoint for dashboard links while Endpoint continues to be + used for Renovate API calls and cloning. Defaults to Endpoint when omitted. + type: string required: - name type: object resources: [1068 lines unchanged)] description: Status of a single project within a RenovateJob properties: duration: type: string - lastRun: + lastTransition: + description: LastTransition records when the project most recently + changed state. format: date-time type: string logIssues: description: LogIssues contains aggregate counts and individual [75 lines unchanged)] type: string status: type: string required: - - lastRun - name - status type: object type: array [two lines unchanged)] served: true storage: true subresources: status: {} ``` [Pipeline](https://ci.aether.earth/repos/4/pipeline/273)
Some checks failed
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
ci/crow/push/tanka-test Pipeline failed
ci/crow/pr/tanka-test Pipeline failed
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x:renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git switch renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x

Merge

Merge the changes and update on Forgejo.
git switch main
git merge --no-ff renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git switch renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git rebase main
git switch main
git merge --ff-only renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git switch renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git rebase main
git switch main
git merge --no-ff renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git switch main
git merge --squash renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git switch main
git merge --ff-only renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git switch main
git merge renovate/ghcr.io-mogenius-helm-charts-renovate-operator-5.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ops/homelab!109
No description provided.