Repository navigation
fix: Declare the owner of every activity policy - #1012
Merged
Merged
Conversation
The activity processor routes the alerts for a failing activity policy to the team its owner labels name. None of Milo's activity policies declared an owner, so a failing one alerted with no service, and the alert reached no team. Each policy group now declares its owner, the control-plane service and team platform: Milo's API server serves every group, and the platform's service catalog places it there. The labels sit in each group's kustomization, so a policy added to a group takes its owner with it. A test fails when a group declares no owner, or when a policy file sits outside its group's resources.
scotwells
approved these changes
Nov 12, 2026
ecv
approved these changes
Nov 12, 2026
ecv
left a comment
Contributor
There was a problem hiding this comment.
Approve.
Each of Milo's six activity policy groups now labels its policies with meta.datumapis.com/service: control-plane and meta.datumapis.com/team: platform. A failing Milo policy's alert reaches the platform team instead of nobody.
- Those are the keys the processor reads (
policyServiceLabelandpolicyTeamLabelin activity'sinternal/activityprocessor/policy_ownership.go), so the owner reaches the alert'spolicy_serviceandpolicy_team. - The labels go at group level without
includeSelectors, so only metadata changes, and a new policy in a group takes the owner with it.
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.
The activity processor routes the alerts for a failing activity policy to the team its owner labels name, and none of Milo's activity policies declared an owner, so a failing one alerted with no service and reached no team.
Each policy group now declares its owner, the control plane service and the platform team, because Milo's API server serves every group and the platform's service catalog places it there.
The owner sits on each group as a whole, so a policy added to a group takes it along, and a new test fails when a group declares none.
Changes
Test plan