Skip to content

Route NSO activity policy failures to Deliver - #515

Merged
scotwells merged 2 commits into
mainfrom
codex/activity-policy-ownership
Sep 28, 2026
Merged

scotwells merged 2 commits into
mainfrom
codex/activity-policy-ownership

Conversation

@scotwells

@scotwells scotwells commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

When network activity policies fail, customers can see missing entries in their resource timelines. Assign all nine NSO ActivityPolicies to network-services / delivery so these alerts reach the Deliver team responsible for investigating and restoring activity processing.

Set these exact labels on all nine NSO policies:

metadata:
  labels:
    meta.datumapis.com/service: network-services
    meta.datumapis.com/team: delivery

The companion Activity change maps these to alert labels service=network-services and team=delivery; existing Alertmanager routes select Deliver using the service value. team=delivery records ownership; that label alone does not create a route.

This adds ownership metadata; activity content and matching behavior stay the same. Validated ownership on all nine rendered policies; CI is green.

Alert routing requires milo-os/activity#255 and https://github.com/datum-cloud/infra/pull/6325.

Related to https://github.com/datum-cloud/infra/issues/6019.

@scotwells
scotwells requested a review from a team as a code owner September 28, 2026 19:03
scotwells added a commit to milo-os/activity that referenced this pull request Sep 28, 2026
When an activity policy fails, customers can see gaps in their resource
timelines. Route those failures to the team that owns the policy so the
right team can investigate and restore missing activity entries,
including events already queued for retry.

Set ownership on the ActivityPolicy resource's `metadata.labels`, for
example:

```yaml
metadata:
  labels:
    meta.datumapis.com/service: network-services
    meta.datumapis.com/team: delivery
```

`meta.datumapis.com/service` becomes the alert's `service` label;
`meta.datumapis.com/team` becomes its `team` label. Existing
Alertmanager routes send `service=network-services` to Deliver;
`team=delivery` records the policy's owning team. Setting the team label
alone does not create a route.

Policies without an owner still alert: a missing service stays unset, a
missing team falls back to `sre`, and missing ownership metrics do not
suppress failures. Ownership changes also apply to existing retry
failures.

Validated processor tests and ten alert-rule scenarios covering
ownership changes, missing metadata, replicas, cluster isolation, and
scrape-label collisions; CI is green.

Roll out with datum-cloud/infra#6325 and the
policy labels in
datum-cloud/network-services-operator#515 and
datum-cloud/dns-operator#192. Include this
change in staging's federated-events branch before deployment.

Related to datum-cloud/infra#6019.
@scotwells
scotwells merged commit 4ce0bcb into main Sep 28, 2026
22 checks passed
@scotwells
scotwells deleted the codex/activity-policy-ownership branch September 28, 2026 19:28
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