Repository navigation
grafana: note the query grant every rule's data source needs, and rename the Regions groups - #166
Merged
Merged
Conversation
…rename the Regions group Applying #162 failed with a 403 putAlertRuleGroupForbidden: its rule is the first to read grafanacloud-logs, and forge-terraform could query only grafanacloud-prom. The handler refuses a group that reads any data source the caller cannot query. The header now says the grant is needed on every data source a rule reads, today prom and logs, and before the rule merges. The appliance group is renamed Forge Regions, matching its dashboard. The provider replaces a rule group whose name changes, so its rules are recreated with new uids and fresh state. observability.md's rule table follows, and gains the chain-notification rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
It stays its own group: a group's rules share one evaluation interval, and this one runs every 60s where Forge Regions runs every 300s. Like the Regions rename, the provider replaces the group, so its rule is recreated with a new uid and fresh state. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
Peeja
pushed a commit
that referenced
this pull request
Sep 30, 2026
main's #166 renames the group these rules join to Forge Regions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
This was referenced Sep 30, 2026
Peeja
added a commit
that referenced
this pull request
Oct 8, 2026
main's #166 renames the group these rules join to Forge Regions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ Co-Authored-By: Petra Jaros <peeja@peeja.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Written by Claude.
Part of FIL-1383
Problem
Applying #162 failed in
apply-grafana:#162's rule is the first to read
grafanacloud-logs, andforge-terraformcould query onlygrafanacloud-prom. Grafana refuses a whole rule group when it reads any data source the caller can't query. The header ofalerts.tfdescribed the grant, but only forgrafanacloud-prom. The logs grant has since been added by hand, and a rerun applied the rule.Change
terraform/envs/grafana/alerts.tf, the header:datasources:queryis needed on every data source a group's rules read, todaygrafanacloud-promandgrafanacloud-logs, and before the rule merges. Without it, the whole group is refused with a 403.The appliance rule groups are renamed to match their dashboard, Forge Regions:
They stay two groups because a group's rules share one evaluation interval, and the split is intentional.
docs/observability.md: the rules table uses the new group names, and gains Alert when Piri stops receiving chain notifications #162's "Piri has stopped receiving chain notifications" rule.The renames replace the groups
The provider marks
grafana_rule_group.nameasForceNew(internal/resources/grafana/resource_alerting_rule_group.go:53-57, at v4.46.0, the version pinned here), and no rule here pins auid. So the apply destroys both groups and creates them under their new names:The four rules are "Appliance has stopped reporting", "Appliance free disk space below 40%", "Piri has stopped receiving chain notifications" and "Appliance container is not running".
Testing
tofu fmt -check -recursiveandtofu validatepass.make check's Go tests pass. Its shellcheck step couldn't run here, since shellcheck isn't installed, but this PR changes no shell scripts.git grep -i 'forge appliances\|appliance containers'finds nothing left.Notes
#163 adds four rules to the "Forge Regions" group, so whichever merges second will need a small merge.
🤖 Generated with Claude Code
https://claude.ai/code/session_01JCF8gyb8jNRmHmWqQmVhRJ
✴️