Repository navigation
feat: optional different deploy approver, and admin Reset MFA - #146
Merged
Merged
Conversation
- A global setting, deploy_approval_require_different_approver (off by default), refuses approving or extending a deploy approval by the user who created the request or owns its API token, with a 403 that says which. It fails closed when the setting can't be read, and the approval's audit entry records that the rule applied. It's on the Settings page and settable with RGW_SETTING_*. Deploy approval requests now load their token's owner (TargetUserID was never set, so the owner of the target token couldn't view a request someone else created for it) (#131) - Admins can reset another user's MFA (POST /api/v1/users/:email/mfa/reset, Reset MFA on the user's page): it removes their MFA methods, backup codes and trusted devices and revokes their sessions in one transaction, keeps their API tokens, needs MFA on the request, is audited as user.mfa_reset, and emails the user (#135) Fixes #131, fixes #135 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
⛔ Files ignored due to path filters (3)
📒 Files selected for processing (33)
✨ Finishing Touches
Comment |
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| JavaScript | Oct 13, 2026 2:24a.m. | Review ↗ | |
| Go | Oct 13, 2026 2:24a.m. | Review ↗ |
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
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.
Summary
#131 Require a different approver (optional, off by default)
deploy_approval_require_different_approver, in the Deploy Approvals group. It's on the Settings page and can be set withRGW_SETTING_DEPLOY_APPROVAL_REQUIRE_DIFFERENT_APPROVER.different_approver_required: true.TargetUserIDwas never loaded, so the owner of a target token couldn't view a request that someone else created for it. Requests now loadtarget_token.user_id.#135 Admin Reset MFA
POST /api/v1/users/:email/mfa/reset(gateway:user:update, so MFA is needed on every request), shown as Reset MFA on another user's page when they have MFA.db.ResetUserMFA) does all of this:admin_mfa_resetmfa_enrolleduser.mfa_reset.Docs: Deploy Approvals (overview and workflow), SOC 2, environment variables, user management, backup codes, troubleshooting and the API reference.
Fixes #131, fixes #135
Test plan
task go:lint,task go:test:unit(1329 tests), duplicationtask web:test, typecheck,task web:lint:fixSummary by CodeRabbit