Add Namespace#state and Namespace::Detail#state_metadata
What does this MR do and why?
This merge request adds a new "state" feature to namespaces in the GitLab database.
It creates two database migrations that work together:
- It adds a basic
statecolumn to track the current status of namespaces - It adds a more detailed
state_metadatafield that can store additional information about the state as structured data
The changes also include safety measures to ensure state_metadata is stored in the correct format.
This enhancement will allow GitLab to better track and manage different states that namespaces can be in, such as active, archived, or deletion_scheduled. See https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/group_and_project_operations_and_state_management/ for more information.
References
How to set up and validate locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Rémy Coutable