This is a WIP! |
Summarize this decision in the table below. Type /date to quickly add the due date and @mention the driver, approver, contributors, and informed to keep everyone on the same page.
|
With the increasing number of repositories that we have in the main organisation we need to have some centralised way of managing them to ensure that they all stay in sync, use the same rules, have the same security settings, and use a common set of labels across all repositories.
The aim of this document is to firstly document all of the repositories we have and secondly set out what rules and settings we will be applying, and perhaps more importantly, what repositories will be breaking from this structure and the reasons why.
The organisation will be done using a bot which references a central organizer.yaml file in the .Github repo for the org: https://organizer.gitconsensus.com
Used this tool to grab a list of all repos as of 24/04/2021 which I have uploaded to Drive:
https://docs.google.com/spreadsheets/d/1wbc4t5CiQebXKDtlH3WholI42Uz6fDiv1LI63QOejh8/edit?usp=sharing
I have grouped them in the following types of repos:
Core
Documentation
Integration
Several of these are managed by community members and will have their own permissions that need to be set up
Language packs
Plugin
These need to have the same semantic versioning as core
Tools
These are tools that are used by the project or things like Docker
Theme
These need to have the same semantic versioning as core
Website
I have specifically separated out the plugins and integrations because they are two different things but they are commonly confused. I think that we may need to make this clearer in the name of the repos, with plugin = installed in Mautic and integration = installed in third party system?
Used gh api /repos/elastic/$repo/labels --paginate
to get a list.
https://docs.google.com/spreadsheets/d/1A7Mxcqo4h8ZA18rbGi0awEmIFC8KD-322ztQxE4TSd8/edit?usp=sharing
Use this gist to get the list of teams and members:
https://docs.google.com/spreadsheets/d/1sGUGnv19qJ3CP_rKUuNdvipzLaI5bqNnPQuPHRWr14c/edit?usp=sharing
We can group repos together so that they get the same set of rules, rather than having to set them individually. I propose that we group them as in the spreadsheet above with the addition of a group called security.
We can set the permissions by team using the org file - I have set the suggested permission levels in the spreadsheet.
Add action items to close the loop on open questions or concerns
Summarize the outcome below