Unverified Commit dd16c5fd authored by anarcat's avatar anarcat
Browse files

import more docs from the gitlab doc

we skip the `Workflows` section since it doesn't seem well defined yet
and somewhat project specfic. The Structure/Groups section also seemed
redundant with the Content organisation section.

We also skip the exhaustive "Team organisation" list and rely on the
actual `.txt` file for the components mapping instead of inlining it.
parent cdf78c4b
Loading
Loading
Loading
Loading
+65 −3
Original line number Diff line number Diff line
@@ -373,14 +373,76 @@ we decided against it because it would forbid pointers to
user-specific projects and would make it extremely hard to switch away
from the global `tpo` group if we ever decide to do that.

### Content organisation


Projects are all stored under the over-arching `tpo` group. This is
done this way to allow project managers to have an overview of all
projects going on at TPO. It also allows us to host other
organisations on our GitLab in a different namespace.

Under the `tpo` group, each team has its own subgroup and they have
autonomy under that group to manage accesses and projects.

### Permissions

Given the above Team/Group organization, users will be members in
gitlab for the groups/teams they belong to. 

Any projects that need to be shared between multiple groups should be
shared using the “Share Project” functionality.

There should be a limited number of members in the Tor Project group,
as these will have access to all subgroups and their
projects. Currently this is limited to Project Managers and Services
and Sysadmins.

A reminder of the GitLab [permission system](https://docs.gitlab.com/ee/user/permissions.html) and [types of users](https://about.gitlab.com/handbook/product/#permissions-in-gitlab):

 * Guests: anybody that may need to report issues on a project and/or
   make comments on an issue.
 * Reporter: they can also manage labels 
 * Developer: they can create branches, manage merge requests, force
   push to non-protected branches
 * Maintainer: edit projects, manage runners, edit comments, delete
   wiki pages.
 * Owner: we are setting this role for every member in the TPO
   team. They can also transfer projects to other name spaces, switch
   visilbity level, delete issues.

### Labels

At group level we have sponsor labels and state labels. The ones that
are used by the whole organization are in the `tpo` group. Each team
can decide which other labels they add for their projects.

 * Kanban columns
   * Icebox
   * Backlog
   * Next
   * Doing
   * Needs Review
 * Types of Issue
   * Defect
   * Enhancement
   * Task
 * Related to a project
   * Scalability
   * UX
 * Sponsors
   * Sponsor X
 * Keywords
   * Other possible keywords needed at group level.

Note that those labels are being worked on [ticket 4](https://gitlab.torproject.org/tpo/tpa/gitlab/-/issues/4).

### Remaining work

As of June 15th:

 1. finish the documentation here, look for `TODO` items in the
    document, the `Other considerations` section in the Nextcloud
    `PLAN - migration to gitlab.docx` document, look at the `PROPOSAL
    of migration to Gitlab.docx` document as well
    document, look at the `PROPOSAL of migration to Gitlab.docx`
    document as well

 2. Make sure the daily tools we use is ready such as IRC bots.