Repository navigation
Conversation
closes pulp#48 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
dralley
reviewed
Oct 12, 2026
| actions:='["publish"]' | ||
| ``` | ||
|
|
||
| The available actions are `publish` and `yank`, where `yank` covers both yanking and |
Contributor
There was a problem hiding this comment.
Cargo has publish-new and publish-update rather than a single catchall scope. Can you explain why we're changing the scopings - is it because we don't currently track crate ownership? If we could keep it as close as possible to the upstream model (without trying to introduce crate ownership right now) that would be ideal.
dralley
reviewed
Oct 12, 2026
| silently widen to everything its owner can reach. Revoking it keeps the deletion from | ||
| granting the bearer reach the owner never delegated. | ||
| """ | ||
| token_pks = getattr(instance, "_scoped_cargo_token_pks", None) |
Contributor
There was a problem hiding this comment.
Hold up, do these objects only exist in memory? Would restarting pulp impact / prevent revocation from working properly?
This branch has not been deployed
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.
Two scope axes: distributions (M2M to RustDistribution) and actions (publish, yank; yank covers unyank).
The scope check runs in addition to the existing RBAC check on every publish and yank, so a token can never exceed its owner's permissions.
The scope check runs in addition to the existing RBAC check on every publish and yank, so a token can never exceed its owner's permissions.
Deleting the last scoped distribution revokes the token. The M2M cascades, so an emptied scope would otherwise read as "unrestricted" and silently widen the token. Partial loss leaves it valid for the distributions that remain.
Scopes are immutable. No update endpoint; revoke and re-create to change them.