Skip to content

feat(api-keys): add v2 key owner, account admin and platform admin controllers - #2993

Draft
shelleyshen-0 wants to merge 1 commit into
feat/api-keys-v2-common-layerfrom
feat/api-keys-v2-actor-controllers
Draft

shelleyshen-0 wants to merge 1 commit into
feat/api-keys-v2-common-layerfrom
feat/api-keys-v2-actor-controllers

Conversation

@shelleyshen-0

Copy link
Copy Markdown
Contributor

TL;DR

Adds the REST controllers for the three v2 actors over the shared key management facade from #2840. Draft, stacked on that PR.

Additional Details (optional for docs, build, test, refactor, ci, chore, style, and revert PRs)

Each controller only maps routes to KeyManagementFacade calls with its KeyManagementActor. The NCA, issuer service and user always come from the route.

  • KeyOwnerKeysController under /v2/api-keys/key-owner.
  • AccountAdminKeysController under /v2/api-keys/account-admin.
  • PlatformAdminKeysController under /v2/api-keys/platform-admin.

The controllers follow the existing controller style: literal paths in the mappings, private constants only for path variable names, and @Parameter descriptions on path variables.

This PR targets feat/api-keys-v2-common-layer, not the release branch, so the diff shows only the controllers. It should be retargeted after #2840 merges.

Not included: actor audit logging, the key count limit, and bulk operations.

For the Reviewer

Compare the three controllers for which routes each actor exposes. Account Admin has no cross-account statuses route, and only Platform Admin can update an issuer-service status.

For QA (optional for docs, build, test, refactor, ci, chore, style, and revert PRs)

Integration tests cover each actor over HTTP. bazel test //src/control-plane-services/api-keys:tests passes on this code. QA is not needed yet.

Issues

Relates to #2058
Relates to #2057
Relates to #2056

Checklist

  • I am familiar with the Contributing Guidelines.
  • I have signed off my commits for Developer Certificate of Origin (DCO) compliance.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

…ntrollers

Expose the shared key management facade under /v2/api-keys/key-owner,
/v2/api-keys/account-admin and /v2/api-keys/platform-admin. Each
controller maps its routes to facade calls with its actor, and the
NCA, issuer service and user come from the route.

Integration tests cover each actor over HTTP.

Signed-off-by: Shelley Shen <shelleys@nvidia.com>
@coderabbitai

coderabbitai Bot commented Oct 28, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

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.

1 participant