Skip to content

Slack alert titles render "on <no value>" for alerts without a host label #3081

Closed

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence. Alertmanager's Slack receiver builds its title as ... {{ .CommonLabels.alertname }} on {{ .CommonLabels.host }}. host is a node-agent label, so any alert that is not node-scoped renders a dangling clause. Measured by running the exact rendered template through Go's text/template:

  • node-agent alert → [FIRING] KubescapeRuleViolated on worker-1
  • hostless alert → [FIRING] CrossplaneManagedResourceNotSynced on <no value>

Who it affects. Anyone reading #platform-alerts. It is live now: the crossplane-sync-alerter added in #3080 posts cluster-scoped alerts with no host, and any future non-node alert on this catch-all route inherits the same title.

Expected. The clause is omitted when the label is absent, and node-agent titles are unchanged.

Acceptance criteria.

  • Guard the label ({{ with .CommonLabels.host }} on {{ . }}{{ end }} renders correctly in both cases — verified).
  • Re-approve the moved EKS authorization fingerprints, and say in the PR why a Slack title moved them.
  • Existing node-agent titles are byte-identical.

Why it is not folded into #3080. The Alertmanager HelmRelease sits inside the EKS authorization surface — isControllerRBACEmitter pins the whole release, because a chart's values can change RBAC — so this one-line cosmetic change moves an approved fingerprint. Re-approving a security pin deserves its own review rather than riding along in an alerting PR (the same re-approval discipline d365ad0 followed).

Size. Small: one template line plus the fingerprint re-approval.

Activity

  1. added theissue type on Aug 11, 2026
  2. moved this to 📥 Backlog in 🌊 Project Boardon Aug 11, 2026
  3. added a commit that references this issue on Sep 22, 2026
  4. moved this from 📥 Backlog to 🏃🏻‍♂️ In Progress in 🌊 Project Boardon Sep 22, 2026
  5. moved this from 🏃🏻‍♂️ In Progress to 👀 In Review in 🌊 Project Boardon Sep 22, 2026
  6. moved this from 👀 In Review to ✅ Done in 🌊 Project Boardon Sep 22, 2026
  7. moved this from ✅ Done to 📊 Verifying in 🌊 Project Boardon Sep 22, 2026
  8. devantler commented on Oct 11, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Verification, 2026-10-11: reached

    The alert this issue was filed about fired for real after the fix merged (22 September). On 24 September the alerts channel received [RESOLVED] CrossplaneManagedResourceNotSynced, and the firing notices before it, with no trailing "on ". Before the fix the same alert rendered … on <no value>.

    One limit: I did not find a node-scoped alert in the channel since the merge to compare its title against, so "node titles are unchanged" rests on the template check done in #4052, not on a live notice.

    Outcome: kept. Moving the card to Done.

  9. moved this from 📊 Verifying to ✅ Done in 🌊 Project Boardon Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions