Update CD Rails design proposal with environment tiers
What does this MR do and why?
Update the GitLab CD Rails design proposal to document the environment-tier work shipped during Beta, as per the decisions made in https://gitlab.com/groups/gitlab-org/-/work_items/21247#note_3448765760.
The proposal previously described cd_environments with only name and description. This MR:
- Adds
tierto thecd_environmentsschema in the ERD and the table description. - Adds a new "Environment tiers" subsection explaining the design call: a fixed
smallintenum oncd_environments.tierfor Beta, replaced by a user-definedcd_environment_tierstable post-Beta, plus the migration plan. - Links Environment in the entities list to the new subsection.
Details
The corresponding implementation has already landed:
- gitlab-org/gitlab!242621 (merged): add
tiercolumn and GraphQL surface. - gitlab-org/gitlab!242835 (merged): add
Organization.cdEnvironmentTierslisting query. - gitlab-org/gitlab!242836 (merged): add
tierfilter onOrganization.cdEnvironments.
The post-Beta follow-up (user-defined tiers, cd_environment_tiers table, management UI) is tracked in gitlab-org/gitlab#604327.
Author and Reviewer Checklist
Please verify the check list and ensure to tick them off before the MR is merged.
- Provided a concise title for this Merge Request (MR)
- Added a description to this MR explaining the reasons for the proposed change, per say why, not just what
- Copy/paste the Slack conversation to document it for later, or upload screenshots. Verify that no confidential data is added, and the content is SAFE
- Assign reviewers for this MR to the correct
- The when to get approval handbook section explains when DRI approval is required
- The who can approve handbook section explains how to identify the DRI
- If the MR does not require DRI approval, consider asking someone on your team, such as your manager.
- The approver may merge the MR. If they approve but don't merge, you can merge.
- For transparency, share this MR with the audience that will be impacted.
- Team: For changes that affect your direct team, share in your group Slack channel
- Department: If the update affects your department, share the MR in your department Slack channel
- Division: If the update affects your division, share the MR in your division Slack channel
- Company: If the update affects all (or the majority of) GitLab team members, post an update in #whats-happening-at-gitlab linking to this MR
- For high-priority company-wide announcements work with the internal communications team to post the update in #company-fyi and align on a plan to circulate in additional channels like the "While You Were Iterating" Newsletter
Commits
- Update CD Rails design proposal with environment tiers