Skip to content

feat(iam): re-home audit-log-querier inheritance to activity service#677

Draft
ecv wants to merge 2 commits into
mainfrom
676-move-audit-log-querier-inheritance-to-activity
Draft

feat(iam): re-home audit-log-querier inheritance to activity service#677
ecv wants to merge 2 commits into
mainfrom
676-move-audit-log-querier-inheritance-to-activity

Conversation

@ecv

@ecv ecv commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #676.

Moves the iam-user-self-manageactivity.miloapis.com-audit-log-querier role inheritance out of the foundational control-plane layer and into the activity service overlay (config/services/activity), which is only applied once the activity stack is present. The core role bundle now has zero activity coupling.

Why

The activity.miloapis.com-audit-log-querier Role is shipped by the activity service. Referencing it from the core role bundle forced the foundational milo control plane to depend on activity rolling out first — an inverted dependency that pulled the foundation into datum-cloud/infra#2939.

Changes

  • New: config/services/activity/roles/iam-user-self-manage-audit-log-querier.yaml — a partial Role manifest that, under server-side apply, merges a single inheritedRoles entry into the iam-user-self-manage Role.
  • Edit: config/services/activity/kustomization.yaml — wires the new resource into the activity overlay.

Validation

  • kustomize build config/services/activity → rc=0; renders the merged Role with the activity.miloapis.com-audit-log-querier inherited entry.
  • kustomize build config/roles → 0 references to audit-log-querier (core layer is clean).

Coordination

  • Unblocks: datum-cloud/infra#2953 (un-draft after a new bundle is published, then cold-start validate bootstrap ordering).
  • Part of: datum-cloud/infra#2943, datum-cloud/infra#2939.

Move the iam-user-self-manage -> activity.miloapis.com-audit-log-querier
role inheritance out of the foundational control-plane layer and into the
activity service overlay (config/services/activity), which is only applied
once the activity stack is present.

The audit-log-querier Role is shipped by the activity service. Referencing
it from the core role bundle forced the foundational milo control plane to
depend on activity rolling out first -- an inverted dependency that pulled
the foundation into datum-cloud/infra#2939.

This adds a partial Role manifest that, under server-side apply, merges a
single inheritedRoles entry into the iam-user-self-manage Role. inheritedRoles
is a map-type list keyed by name, so the activity overlay owns just this entry
while the core role bundle continues to own launchStage and includedPermissions.
The core role bundle now has zero activity coupling.

Refs: #676
Unblocks: datum-cloud/infra#2953

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

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.

I don't think this would do what you're expecting? This would create a new role called iam-user-self-manage, not patch the existing one.

@ecv ecv marked this pull request as draft June 30, 2026 20:06
auto-merge was automatically disabled June 30, 2026 20:06

Pull request was converted to draft

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.

Move audit-log-querier role inheritance from core CRD bundle to activity service

2 participants