Consider adding maintainers to .gitlab/CODEOWNERS file
Problem
Starting %13.0 adding groups to .gitlab/CODEOWNERS
is possible which makes assigning team groups to specific code paths easy
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:
1️⃣ 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
...
2️⃣ 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
...
3️⃣ 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
...
gitlab-org/monitor
Reorganize group structure of 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)
🅰 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
🅱 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 gitlab-org/gitlab#215070 (closed) we need to create a "Placeholder" project (example https://gitlab.com/gitlab-org/secure/threat-insights-frontend-team/placeholder) to make this group mentionable