Skip to content

Grafana: GitHub App credentials and fixes found on live data - #111

Merged
bulbashenko merged 2 commits into
mainfrom
grafana-github-app
Oct 12, 2026
Merged

bulbashenko merged 2 commits into
mainfrom
grafana-github-app

Conversation

@bulbashenko

@bulbashenko bulbashenko commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

GitHub App

The grafana Secret gets the credentials of the GitHub App bulbashenko-com-grafana (read-only Actions and Pull requests, all org repos): github-app-id, github-app-installation-id, github-app-private-key. secret-revision 2 → 3 restarts Grafana so it reads the new env vars.

Fixes after checking every dashboard and rule expression against VictoriaMetrics (thanks to #109)

  • Bug in the "primary only" filter: it multiplied by (in_recovery == 0), whose value is 0. As a result:

    • WAL age, streaming replicas and Postgres connections always read 0;
    • PostgresNoStreamingReplica fired falsely (in fact pg-2 is primary and 1 replica streams);
    • PostgresWALArchivingStalled could never fire.

    Now and on (pod); live values: WAL 4 min ago, 1 replica, connections are visible.

  • FluxResourceNotReady: Flux Operator writes suspended="True"/"False", with a capital letter.

  • "Pods not ready" no longer counts completed Job pods (was 9, now 0).

  • "Typical deploy duration" is replaced by "Last deploy, ago". Flux syncs take seconds; the real time goes into CI, which the CI/CD tables already show.

  • Grafana was OOMKilled at a 384Mi limit (it uses ~380Mi): now request 256Mi, limit 768Mi.

The other expressions return data. The Stalwart target is down until Prometheus is switched on in its WebUI; that is also why TargetDown, TooManyScrapeErrors and TooManyLogs (vmagent) are firing.

🤖 Generated with Claude Code

bulbashenko and others added 2 commits October 12, 2026 21:48
App bulbashenko-com-grafana (read-only: Actions, Pull requests),
installed on all org repos. App ID, installation ID and private key go
into the Secret grafana; the secret revision bump restarts Grafana so
the env vars are picked up.

Refs #74

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The "primary only" filter multiplied by (in_recovery == 0), whose value
  is 0, so WAL age, streaming replicas and Postgres connections always
  read 0: PostgresNoStreamingReplica fired falsely and
  PostgresWALArchivingStalled could never fire. Use `and on (pod)`.
- FluxResourceNotReady: Flux Operator writes suspended="True"/"False".
- "Pods not ready" counted completed Job pods.
- "Typical deploy duration" from Flux sync times was meaningless (syncs
  take seconds; the time goes into CI). Replaced by "last deploy, ago"
  from ReplicaSet creation.
- Grafana was OOMKilled at 384Mi (it sits at ~380Mi with the GitHub
  plugin): request 256Mi, limit 768Mi.

Refs #74

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bulbashenko bulbashenko changed the title Add the GitHub App credentials for Grafana Grafana: GitHub App credentials and fixes found on live data Oct 12, 2026
@bulbashenko
bulbashenko merged commit c5a9ea2 into main Oct 12, 2026
4 checks passed
@bulbashenko
bulbashenko deleted the grafana-github-app branch October 12, 2026 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant