Add the model for registry tag protection rules

Description:

In this MR, we add the model for the contaner registry tag protection rule.

Below are the fields for this model:

  • project_id (required)
  • tag_name_pattern (required)
  • minimum_access_level_for_push (required)
  • minimum_access_level_for_delete (required)

The model fields are based on the designs from the UX research in https://gitlab.com/gitlab-org/gitlab/-/issues/499871/.

Relates to: https://gitlab.com/gitlab-org/gitlab/-/issues/499869+

Migration Results

UP 🔼

ci: == [advisory_lock_connection] object_id: 129520, pg_backend_pid: 41574
ci: == 20241127092714 CreateContainerRegistryProtectionTagRules: migrating ========
ci: -- create_table(:container_registry_protection_tag_rules)
ci: -- quote_column_name(:tag_name_pattern)
ci:    -> 0.0000s
ci:    -> 0.0083s
I, [2024-11-27T10:44:01.522236 #41421]  INFO -- : Database: 'ci', Table: 'container_registry_protection_tag_rules': Lock Writes
ci: == 20241127092714 CreateContainerRegistryProtectionTagRules: migrated (0.2124s)

ci: == [advisory_lock_connection] object_id: 129520, pg_backend_pid: 41574

DOWN 🔽

ci: == [advisory_lock_connection] object_id: 129180, pg_backend_pid: 42791
ci: == 20241127092714 CreateContainerRegistryProtectionTagRules: reverting ========
ci: -- drop_table(:container_registry_protection_tag_rules)
ci:    -> 0.0034s
ci: == 20241127092714 CreateContainerRegistryProtectionTagRules: reverted (0.0152s)

ci: == [advisory_lock_connection] object_id: 129180, pg_backend_pid: 42791
Edited by Adie (she/her)

Merge request reports

Loading