Track dotnet-monitor and OneLoc GitHub App credentials - #17445
Track dotnet-monitor and OneLoc GitHub App credentials#17445missymessa wants to merge 6 commits into
Conversation
AB#12318 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9d86c2f6-8c72-4ce8-933a-841a368be1d9
There was a problem hiding this comment.
Pull request overview
Declares the existing dotnet-monitor-release-app-key RSA key in the EngKeyVault Secret Manager manifest to support the dotnet-monitor GitHub App migration, ensuring the key is tracked/synchronized without generating new key material.
Changes:
- Adds a new RSA (2048-bit) key entry for
dotnet-monitor-release-app-keyto the EngKeyVault manifest.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
garath
left a comment
There was a problem hiding this comment.
This should be tracked as type github-app-secret. I recognize I didn't push for this in the oneloc-localization-app-key but in retrospect I think it's important. Tracking with the strongest secret-manager type gives benefits besides just noting its existence, like the metadata of what bot owns the token, and a well-established path for rotation.
|
I checked both keys. There is an important incompatibility with changing either declaration directly to
I agree that both apps need GitHub-App-specific ownership and rotation metadata. Which model do you want us to standardize on?
I have not made the unsafe manifest-only conversion while this is unresolved. |
|
My concerns are:
I'm open to whatever path gets those. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9236931a-f5da-4ff3-83a9-539cf86b6df0
|
Implemented the staged
The manifest validates with the repository's pinned Secret Manager version. |
|
@garath want to get your approval on this since you previously had concerns |
There was a problem hiding this comment.
🟢 Approval recommended
The change is additive and preserves existing key-based consumers while introducing the new tracked GitHub App secret declarations needed for migration.
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0 new
- Review effort level: Lite
Tracks both GitHub App credentials in the EngKeyVault Secret Manager manifest using the established
github-app-secrettype:dotnet-monitor-release-apponeloc-localization-appEach declaration manages the App ID and private key, records the GitHub App name as Secret Manager metadata during interactive setup, schedules rotation every six months, and supports emergency rotation with
secret-manager synchronize --force-secret=<name>.The existing Key Vault RSA keys remain declared temporarily because the active dotnet-monitor and OneLoc consumers still use
az keyvault key sign. They must not be removed until the new composite secrets are populated, both consumers are cut over and validated, and the previous GitHub App keys can be revoked without disrupting releases.Related work item: https://dev.azure.com/dnceng/internal/_workitems/edit/12318