Skip to content

fix: Stop paging Slack for customer-owned DNSRecordSet states - #157

Merged
scotwells merged 1 commit into
mainfrom
fix/not-accepted-alert-severity
Sep 12, 2026
Merged

scotwells merged 1 commit into
mainfrom
fix/not-accepted-alert-severity

Conversation

@scotwells

Copy link
Copy Markdown
Contributor

DNSRecordSetNotAccepted posts to Slack for a state only the customer can clear. Of the 62 records currently not-Accepted in staging, 58 are waiting on domain-ownership verification and 3 on a zone claimed by another resource — the system working as designed, not an operator failure.

Dropping it to severity: info keeps the alert firing and visible in vmalert and Grafana, but the Alertmanager route blackholes it instead of posting. That's the same convention the other 19 info-severity alerts on the platform use.

Verified with amtool against the live staging config:

routes to
severity=warning (today) slack-warning
severity=info (this PR) blackhole

Nothing here was ever paging on-call — grafana-oncall is reachable only at severity=critical or by two alertnames matched exactly. The two drift alerts keep severity: warning and their Slack route, since an orphaned or unreplicated record is an operator failure.

One gap this leaves: exactly one of the 62 is a genuine bug — a record naming a DNSZone that doesn't exist — and it goes quiet along with the rest. Worth a separate rule that fires only on that case.

DNSRecordSetNotAccepted fires on a condition its audience mostly cannot act on. Of the 62 records currently not-Accepted in staging, 58 name a DNSZone withheld pending domain-ownership verification and 3 name one claimed by another resource. Both are the system behaving correctly and both persist until the project owner acts, so the alert is a standing description of customer state rather than a call to an operator. It carries severity: warning and service: dns, which the Alertmanager route sends to slack-warning, so all 62 post to Slack and stay there.

Drop it to severity: info. The route tree blackholes severity=info when no slack_channel label is set, which is how the other 19 info alerts on the platform stay quiet, and the alert keeps firing in vmalert and rendering in Grafana for anyone looking at a specific project. Confirmed with amtool against the live config: severity=warning resolves to slack-warning, severity=info to blackhole.

Nothing here was ever paging. grafana-oncall is reachable only at severity=critical or by two alertnames by exact match, and these alerts are neither. The two drift alerts stay at severity: warning and keep their Slack route, since an orphaned or unreplicated record is an operator failure.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@scotwells
scotwells marked this pull request as ready for review September 12, 2026 17:18
@scotwells
scotwells requested a review from ecv September 12, 2026 17:18

@ecv ecv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ooohh YES

@scotwells
scotwells merged commit fb625a7 into main Sep 12, 2026
10 checks passed
@scotwells
scotwells deleted the fix/not-accepted-alert-severity branch September 12, 2026 17:21
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.

2 participants