Separate Code Owners from the Approval Rules and Allow Layered Permissions in CODEOWNERS File
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=356973) </details> <!--IssueSummary end--> ### Release notes Code Owner Approvals should work independently from Approval Rules and should allow for layered permission to enforce multiple layers of approval in `CODEOWNERS`. ### Problem to solve In the following codeowners file: ``` /test-dir1 @testuser1 @testuser7 /test-dir2 @testuser2 @testuser8 testfile1.py @testuser3 @testuser9 / @testuser4 @testuser5 @testuser6 ``` Only the top level of approvers at `/` are required. Increasing the required number of approvals to `2` users does not resolve this, nor should it be a requirement. ### Proposal Separate the `CODEOWNERS` approval from the Approval Rules and allow `CODEOWNERS` to respect layers permissions in the file (i.e.: directory / sub-directory / file / file type). ### Intended users * [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead) * [Sasha (Software Developer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer) * [Priyanka (Platform Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#priyanka-platform-engineer) * [Alex (Security Operations Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#alex-security-operations-engineer) * [Simone (Software Engineer in Test)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#simone-software-engineer-in-test) <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION --> *This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.* <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
issue