Consider adding maintainers to .gitlab/CODEOWNERS file
## Problem Starting %"13.0" adding groups to [`.gitlab/CODEOWNERS`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/CODEOWNERS) is possible which makes assigning team groups to specific code paths easy :tada: ## Proposal Make the Monitor group CODEOWNERS of code we are responsible for. Since we don't have any guidelines on how to organize the section these options are possible: ### :one: Use stage name as section `[Monitor]` Example: ``` ... [Monitor] # APM ## Metrics app/assets/javascripts/pages/projects/environments/metrics @gitlab-org/monitor/apm/frontend-team app/assets/javascripts/pages/projects/prometheus/metrics @gitlab-org/monitor/apm/frontend-team app/controllers/concerns/metrics @gitlab-org/monitor/apm/backend-team app/finders/metrics @gitlab-org/monitor/apm/backend-team app/models/metrics @gitlab-org/monitor/apm/backend-team app/policies/metrics @gitlab-org/monitor/apm/backend-team app/services/metrics @gitlab-org/monitor/apm/backend-team app/services/projects/prometheus/metrics @gitlab-org/monitor/apm/backend-team app/views/projects/prometheus/metrics @gitlab-org/monitor/apm/backend-team app/workers/metrics @gitlab-org/monitor/apm/backend-team ... # /APM # Health ## Status Page /ee/app/assets/javascripts/status_page_settings @gitlab-org/monitor/health/backend-team /ee/app/finders/status_page @gitlab-org/monitor/health/backend-team /ee/app/models/status_page @gitlab-org/monitor/health/backend-team /ee/app/serializers/status_page @gitlab-org/monitor/health/backend-team /ee/app/services/concerns/status_page @gitlab-org/monitor/health/backend-team /ee/app/services/status_page @gitlab-org/monitor/health/backend-team /ee/app/workers/status_page @gitlab-org/monitor/health/backend-team /ee/lib/status_page @gitlab-org/monitor/health/backend-team ... ## Incident Management ... ``` ### :two: Use group names as section `[Monitor:APM]` and `[Monitor:Health]` ``` ... [Monitor:APM] # Metrics app/assets/javascripts/pages/projects/environments/metrics @gitlab-org/monitor/apm/frontend-team app/assets/javascripts/pages/projects/prometheus/metrics @gitlab-org/monitor/apm/frontend-team app/controllers/concerns/metrics @gitlab-org/monitor/apm/backend-team app/finders/metrics @gitlab-org/monitor/apm/backend-team app/models/metrics @gitlab-org/monitor/apm/backend-team app/policies/metrics @gitlab-org/monitor/apm/backend-team app/services/metrics @gitlab-org/monitor/apm/backend-team app/services/projects/prometheus/metrics @gitlab-org/monitor/apm/backend-team app/views/projects/prometheus/metrics @gitlab-org/monitor/apm/backend-team app/workers/metrics @gitlab-org/monitor/apm/backend-team ... [Monitor:Health] # Status Page /ee/app/assets/javascripts/status_page_settings @gitlab-org/monitor/health/backend-team /ee/app/finders/status_page @gitlab-org/monitor/health/backend-team /ee/app/models/status_page @gitlab-org/monitor/health/backend-team /ee/app/serializers/status_page @gitlab-org/monitor/health/backend-team /ee/app/services/concerns/status_page @gitlab-org/monitor/health/backend-team /ee/app/services/status_page @gitlab-org/monitor/health/backend-team /ee/app/workers/status_page @gitlab-org/monitor/health/backend-team /ee/lib/status_page @gitlab-org/monitor/health/backend-team ... # Incident Management ... ``` ### :three: Use category names as section `[Metrics]`, `[Status Page]`, `[Incident Management]` ``` [Metrics] app/assets/javascripts/pages/projects/environments/metrics @gitlab-org/monitor/apm/frontend-team app/assets/javascripts/pages/projects/prometheus/metrics @gitlab-org/monitor/apm/frontend-team app/controllers/concerns/metrics @gitlab-org/monitor/apm/backend-team app/finders/metrics @gitlab-org/monitor/apm/backend-team app/models/metrics @gitlab-org/monitor/apm/backend-team app/policies/metrics @gitlab-org/monitor/apm/backend-team app/services/metrics @gitlab-org/monitor/apm/backend-team app/services/projects/prometheus/metrics @gitlab-org/monitor/apm/backend-team app/views/projects/prometheus/metrics @gitlab-org/monitor/apm/backend-team app/workers/metrics @gitlab-org/monitor/apm/backend-team ... [Status Page] /ee/app/assets/javascripts/status_page_settings @gitlab-org/monitor/health/backend-team /ee/app/finders/status_page @gitlab-org/monitor/health/backend-team /ee/app/models/status_page @gitlab-org/monitor/health/backend-team /ee/app/serializers/status_page @gitlab-org/monitor/health/backend-team /ee/app/services/concerns/status_page @gitlab-org/monitor/health/backend-team /ee/app/services/status_page @gitlab-org/monitor/health/backend-team /ee/app/workers/status_page @gitlab-org/monitor/health/backend-team /ee/lib/status_page @gitlab-org/monitor/health/backend-team ... [Alert Management] app/assets/javascripts/alert_management @gitlab-org/monitor/health/frontend-team app/assets/javascripts/pages/projects/alert_management @gitlab-org/monitor/health/frontend-team app/assets/stylesheets/pages/alert_management @gitlab-org/monitor/health/backend-team app/finders/alert_management @gitlab-org/monitor/health/backend-team app/graphql/mutations/alert_management @gitlab-org/monitor/health/backend-team app/graphql/resolvers/alert_management @gitlab-org/monitor/health/backend-team app/graphql/types/alert_management @gitlab-org/monitor/health/backend-team app/models/alert_management @gitlab-org/monitor/health/backend-team app/policies/alert_management @gitlab-org/monitor/health/backend-team app/presenters/alert_management @gitlab-org/monitor/health/backend-team app/services/alert_management @gitlab-org/monitor/health/backend-team app/views/projects/alert_management @gitlab-org/monitor/health/backend-team lib/gitlab/alert_management @gitlab-org/monitor/health/backend-team ... ``` ## Reorganize group structure of `gitlab-org/monitor` In order to support group names like `@gitlab-org/monitor/health/frontend-team` or `@gitlab-org/monitor/apm/backend-team` etc. we'd need to tweak our current group structure of https://gitlab.com/gitlab-org/monitor ([image](/uploads/e213bae3c7396d6d000b471d7d0ed9d6/Screenshot_2020-07-24_Groups___monitor.png)) ### :a: `gitlab-org/monitor/GROUP/END-team` We could "convert" `APM` and `Health` projects to groups and create groups like: * https://gitlab.com/gitlab-org/monitor/apm/backend-team * https://gitlab.com/gitlab-org/monitor/apm/frontend-team * https://gitlab.com/gitlab-org/monitor/health/backend-team * https://gitlab.com/gitlab-org/monitor/health/frontend-team ### :b: `gitlab-org/monitor/GROUP-END-team` Alternatively, we could use `@gitlab-org/monitor/health-frontend-team` (note the the `-`) so we end up with: * https://gitlab.com/gitlab-org/monitor/apm-backend-team * https://gitlab.com/gitlab-org/monitor/apm-frontend-team * https://gitlab.com/gitlab-org/monitor/health-backend-team * https://gitlab.com/gitlab-org/monitor/health-frontend-team _Note, because of https://gitlab.com/gitlab-org/gitlab/-/issues/215070 we need to create a "Placeholder" project (example https://gitlab.com/gitlab-org/secure/threat-insights-frontend-team/placeholder) to make this group mentionable_
issue