Blame docs/gitlab.md

6eb778
# Best practices for the usage of the CentOS namespace on gitlab
6eb778
6eb778
This document highlights the best practices SIGs interested in using the CentOS namespace on gitlab.com
6eb778
should follow.
6eb778
6eb778
## Login in
6eb778
6eb778
To login via ACO on gitlab.com, you must use the following link:
6eb778
6eb778
## Content
6eb778
6eb778
Any and all content hosted on gitlab.com should follow the Requirements the CentOS project has specified
6eb778
for SIGs: [https://wiki.centos.org/SpecialInterestGroup#Requirements](https://wiki.centos.org/SpecialInterestGroup#Requirements)
6eb778
6eb778
## Access
6eb778
6eb778
It is expected that access levels are managed via groups on accounts.centos.org (ACO). There are different
6eb778
ways this can be achieved.
6eb778
6eb778
### Simple case
6eb778
6eb778
For SIGs who are fine with everyone getting the same level of access, a single group can be created on
6eb778
https://accounts.centos.org where all the SIG members will be added. This group can then be mapped to that
6eb778
SIG’s namespace under gitlab.com/centos and be given `owner` access level.
6eb778
6eb778
This means, everyone added to this group on accounts.centos.org will be granted `owner` access to each and
6eb778
every project placed under that SIG’s namespace. This also means, that anyone **not** in this group will have
6eb778
no access at all.
6eb778
6eb778
### More complex case
6eb778
6eb778
For SIGs who want or need a more fine tuned model, it is recommended that they create a `groups` namespace under
6eb778
the SIG’s namespace. In the group namespace will be placed all the groups needed by the SIG and each of this
6eb778
group will be mapped to a corresponding group on ACO. There should be no project under the `groups` namespace.
6eb778
The groups can then be given access to any project and the access level of the group can be picked on a
6eb778
per-project basis.
6eb778
6eb778
Here is an example of the structure recommended for the complex case:
6eb778
6eb778
```
6eb778
SIG's namespace
6eb778
6eb778
├── groups
6eb778
│   ├── group1-developers [grp1]
6eb778
│   ├── group2-maintainers [grp2]
6eb778
│   └── sig [sg]
6eb778
6eb778
├── rpms
6eb778
│   └── pkg [grp1+grp2]
6eb778
6eb778
├── src
6eb778
│   └──source_tree [grp1]
6eb778
6eb778
└── sig [sg]
6eb778
```
6eb778
6eb778
## Group membership refresh
6eb778
6eb778
To login via ACO on gitlab.com, you must use the following link:
6eb778
6eb778
Group memberships are refreshed upon login into gitlab.com. So if someone is added to a group in ACO, they
6eb778
will need to visit that link again: XXX to have their membership refreshed.
6eb778
6eb778
## Group names
6eb778
6eb778
It is expected that groups on ACO that are created to manage access on gitlab.com should follow the
6eb778
corresponding pattern: `<sig>-gitlab-<name>`
6eb778
6eb778
Some examples:
6eb778
6eb778
- hyperscale-gitlab-maintainers
6eb778
- automotive-gitlab-kernel-maintainer
6eb778
- automotive-gitlab-sig-owner
6eb778
- docs-gitlab-members
6eb778
- …
6eb778
6eb778
## Requesting a namespace or a group
6eb778
6eb778
To request a namespace under gitlab.com/centos or the creation of a group on ACO, simply open a ticket at:
6eb778
[https://pagure.io/centos-infra/](https://pagure.io/centos-infra/)
6eb778