Breaking change: Update API permissions for Package settings to Maintainer/Owner
Context
The GitLab Package stage offers a Package Registry, Container Registry, and Dependency Proxy to help you manage all of your dependencies using GitLab. Each of these product categories has a variety of settings that can be adjusted using the API. Currently these settings require Developer+ permissions.
Problem to solve
Some of these settings like cleanup policies will permanently delete dependencies, which is quite a destructive action. After doing competitive research, most other companies limit these settings to Maintainer/Owner users.
Proposal
Update the permissions level of the GitLab API to require Maintainer/Owner level permissions to CRUD any Package stage-related settings.
Settings
- Mutation.updateNamespacePackageSettings
- PackageSettings
- DependencyProxySetting
- DependencyProxyImageTtlGroupPolicy
- Mutation.updateDependencyProxySettings
- ContainerExpirationPolicy
Validation notes
Designs
- Show closed items
Relates to
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Tim Rizzi added to epic &6726 (closed)
added to epic &6726 (closed)
- Tim Rizzi changed the description
Compare with previous version changed the description
Collapse replies - Developer
@trizzi this change makes sense to me
- Developer
Glad to see this planned
- Tim Rizzi changed due date to February 11, 2022
changed due date to February 11, 2022
- 🤖 GitLab Bot 🤖 added sectionops label
added sectionops label
- 🤖 GitLab Bot 🤖 added [deprecated] Accepting merge requests label
added [deprecated] Accepting merge requests label
- Tim Rizzi created merge request !79289 (closed) to address this issue
created merge request !79289 (closed) to address this issue
- Tim Rizzi mentioned in merge request !79289 (closed)
mentioned in merge request !79289 (closed)
- Developer
Admin Level is meant in project/group context, so Members with Maintainer/Owner Access Level and not instance administrators, right?
Collapse replies That's true @Taucher2003, I mistakenly said Admin. I updated the issue description accordingly. Thanks for the correction on this!
Edited by Tim Rizzi
- Tim Rizzi changed title from Breaking change: Update API permissions for Package settings to Admin to Breaking change: Update API permissions for Package settings to Maintainer/Owner
changed title from Breaking change: Update API permissions for Package settings to Admin to Breaking change: Update API permissions for Package settings to Maintainer/Owner
- Tim Rizzi changed the description
Compare with previous version changed the description
- Tim Rizzi mentioned in issue #322055 (closed)
mentioned in issue #322055 (closed)
- Tim Rizzi marked this issue as related to #322055 (closed)
marked this issue as related to #322055 (closed)
- Michelle Torres mentioned in epic &7593 (closed)
mentioned in epic &7593 (closed)
- Michelle Torres changed the description
Compare with previous version changed the description
- Michelle Torres changed the description
Compare with previous version changed the description
- Tim Rizzi created branch
350682-breaking-change-update-api-permissions-for-package-settings-to-maintainer-owner
to address this issuecreated branch
350682-breaking-change-update-api-permissions-for-package-settings-to-maintainer-owner
to address this issue - Tim Rizzi mentioned in merge request !82646 (merged)
mentioned in merge request !82646 (merged)
- Developer
Deprecation notice: !82646 (merged)
- Tim Rizzi mentioned in issue #357047 (closed)
mentioned in issue #357047 (closed)
- Tim Rizzi added Package:P1 label
added Package:P1 label
- Steve Abrams set weight to 1
set weight to 1
- Steve Abrams set weight to 2
set weight to 2
- Steve Abrams added backend ruby labels
- Developer
The changes involved are a weight
1
, but since there are 6 potential places to update, I've made the weight2
to account for any refactoring or MR splitting that may need to occur. 1 - Steve Abrams added workflowready for development label
added workflowready for development label
- Developer
Labeling this as Deliverable for %15.0
~"group::package" use this label on issues that the team commits to during the milestone
- Michelle Torres added Deliverable label
added Deliverable label
- 🤖 GitLab Bot 🤖 mentioned in issue gitlab-org/quality/triage-reports#7175 (closed)
mentioned in issue gitlab-org/quality/triage-reports#7175 (closed)
- 🤖 GitLab Bot 🤖 mentioned in issue gitlab-org/quality/triage-reports#7249 (closed)
mentioned in issue gitlab-org/quality/triage-reports#7249 (closed)
- Tim Rizzi mentioned in merge request !85446 (merged)
mentioned in merge request !85446 (merged)
I've opened an MR for the removal here: !85446 (merged)
- 🤖 GitLab Bot 🤖 mentioned in issue gitlab-org/quality/triage-reports#7348 (closed)
mentioned in issue gitlab-org/quality/triage-reports#7348 (closed)
- Steve Abrams assigned to @sabrams
assigned to @sabrams
- Steve Abrams added workflowin dev label and removed workflowready for development label
added workflowin dev label and removed workflowready for development label
- Steve Abrams changed the description
Compare with previous version changed the description
- Steve Abrams added typefeature label and removed typemaintenance label
added typefeature label and removed typemaintenance label
- Steve Abrams added featureenhancement label
added featureenhancement label
- Steve Abrams mentioned in merge request !86196 (merged)
mentioned in merge request !86196 (merged)
- Steve Abrams marked the checklist item ContainerExpirationPolicy as completed
marked the checklist item ContainerExpirationPolicy as completed
- Steve Abrams marked the checklist item DependencyProxyImageTtlGroupPolicy as completed
marked the checklist item DependencyProxyImageTtlGroupPolicy as completed
- Steve Abrams marked the checklist item Mutation.updateDependencyProxySettings as completed
marked the checklist item Mutation.updateDependencyProxySettings as completed
- Steve Abrams marked the checklist item DependencyProxySetting as completed
marked the checklist item DependencyProxySetting as completed
- Steve Abrams mentioned in issue #340461 (closed)
mentioned in issue #340461 (closed)
- Steve Abrams mentioned in merge request !86200 (merged)
mentioned in merge request !86200 (merged)
- Developer
Async update
50% complete, 85% confident
Summary
I've opted to create separate MRs for each feature:
- Dependency Proxy settings
- Container cleanup policy settings
- Package settings
I've written initial MRs for the first two, but still need to manually test and update the MR descriptions before they are ready for review.
MR Status
- !86200 (merged) - Dependency proxy permission updates - 65% complete, 90% confident
- !86196 (merged) - Container cleanup policy permission updates - 65% complete, 90% confident
- TODO - Package setting permission updates
Edited by Steve Abrams