Protected containers: Update protection rules in project settings ui
requested to merge gitlab-community/gitlab:441345-gerardo-navarro-protected-contaioners-project-settings-ui-update into master
What does this MR do and why?
- Adding option to update the protection rule
- Sending a graphql mutation "updateContainerRegistryProtectionRule" when access level for push protection changes
- Adding an alert when the graphql mutation is not successful
- Adding tests
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
MR Checklist (@gerardo-navarro)
-
Changelog entry added, if necessary -
Documentation created/updated via this MR -
Documentation reviewed by technical writer or follow-up review issue created -
Tests added for this feature/bug -
Tested in all supported browsers -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the javascript style guides -
Conforms to the database guides
Screenshots or screen recordings
Here you can see the newly added select boxes in order to update the attributes push_protected_up_to_access_level
and delete_protected_up_to_access_level
.
Before | After |
---|---|
How to set up and validate locally
- Enable Registry by editting
config/gitlab.yml
with the following setting
registry:
enabled: true
- Restart GDK, see also https://docs.gitlab.com/ee/administration/packages/container_registry.html#configure-container-registry-under-an-existing-gitlab-domain
gdk restart
- In rails console enable the experiment fully
Feature.enable(:container_registry_protected_containers)
- Create some container protection rules to show in the table
15.times { |i| ContainerRegistry::Protection::Rule.create(project: Project.find(7), repository_path_pattern: "flightjs/flight#{i}", push_protected_up_to_access_level: :maintainer, delete_protected_up_to_access_level: :developer) }
- Go to http://gdk.test:3000/flightjs/Flight/-/settings/packages_and_registries
- Start updating the existing container protection rules
Related to #441345 (closed)
Edited by Gerardo Navarro