Copy the following section at the bottom of the page and add your question as want.
- Question:
- Votes:
- Answer:
---
Simply add a +1
on the line saying Votes:
. Do not edit previous votes, do not add to the existing count, just add your own +1
.
For example, a question with three votes should look like:
- Votes: +1 +1 +1
On September 9th, the questions will be ordered here by their popularity, so the most popular questions are asked first.
The answer section is for GitLab to provide an answer to the question. Please do not fill it for them. All of the Q&As will be published after the session.
packager
group have (commit) access to only the packages they maintain. People in the provenpackager
group have (commit) access to all the active packages, but a few (for legal reason). People in the releng
group have commit access to all the packages. Is this an access model that GitLab can support? If not, how would this work in a GitLab world? How would notifications work (Esp consider people in the provenpackager
or releng
group do not want to be notified for all the projects they have access to)?packager
group)owner
, admin
and commit
. There will be a single owner with multiple people with admin and commit permissions. This gives granular level of access on the repos. Is this possible in GitLab?[cverna] What I explored was something along the lines of : Packager → Using GitLab’s Maintainer or Developer role for the project they maintain (Maintainer have the ability to access project settings and change pretty much everything there, so that might be blocking here, Developer only have commit access, so we need another way to change some settings for Packagers) Co-Maintainer → Using GitLab’s Developer role (commit access) Proven-Packager → GitLab’s Developer role on all repo (expect 2) Release Engineer/Admin/etc .. → GitLab’s Owner role on all repos
This is not an exact matching with what we currently have but should give us a way to experiment with this and look at what is acceptable or not. There is also a GitLab ticket to implement policies for the project that could give more granular control of permissions. Gitlab’s notifications are quite granular and can be managed at the different levels (Merge Requests, Projects, Group, Global) https://docs.gitlab.com/ee/user/profile/notifications.html#global-notification-settings
[cverna] Currently we would need to have a service that proxies GitLab’s events to fedora-messaging something similar to github2fedmsg. There were some concerns raised about the order of events sent by GitLab’s webhooks, these will need to be looked after during a Proof of Concept stage.
[cverna] This can be done with Protected branches
There is no plan to create custom versions of GitLab for customers. Instead, GitLab encourages paid customers and free users alike to contribute upstream to make sure that GitLab continues to work well for the most amount of users possible. As an open core company, GitLab has a public roadmap and works with its community members to build a great product.
GitLab regularly engages with its community and takes into account its feedback. As a result, features are often ported down into lower tiers in order to make the Community Edition and Free tiers continuously more useful (see example of 18 features moved to open source).
[greg] GitLab hosting is available to users of GitLab.com SaaS, but GitLab does not offer hosting and management for GitLab CE or EE instances.
project
(ie: archived) that no-one can commit to. Does GitLab have an equivalent concept? (The retired status is not something project admins can change)There is the possibility to archive projects
branch
(ie: archived) that no-one can commit. Does GitLab have an equivalent concept? (The retired status is not something project admins can change)[cverna] Yes this is possible with Protected Branches
[tfigueiro] Branch permissions accept wildcards, but not regexes. Regex can be used with custom push rules. See https://docs.gitlab.com/ee/push_rules/push_rules.html and https://docs.gitlab.com/ee/user/project/protected_branches.html#configuring-protected-branches.
[cverna] Instead of this we would probably use the Protected Branches in GitLab. We could leverage the APIs to mass configure the branches on eol dates. That would mean that for each git push we don’t need to look at a 3rd party service to know if we can push or not.
[BrendanOLeary]: This is not possible currently
[cverna] - I am not sure :-)
+
in repo name, there is a ticket on it, but it seems to be closed with status being tracked in a private ticket. What is the status on it?issue https://gitlab.com/gitlab-org/gitlab/-/issues/220528 has been made public and can be used to track support for +
in project names.
[cverna] This highly depends on where the service is hosted, but generally there is some API rate limiting which can be configured per instance. So we should be able to find a sweet spot there.
[greg] Bandwidth in terms speed and availability is only limited by the network speed of the environment where GitLab is hosted. (10Gbps > 1Gbps > 100Mbps). Outside of network speed limitations, having hardware resources can help ensure performance and availability at scale.
[cverna] Links to other services can be done by using GitLab’s badges (https://docs.gitlab.com/ee/user/project/badges.html). There is an open ticket which would make it easier to configure at group level (https://gitlab.com/gitlab-org/gitlab/-/issues/22278) For UI integration (orphaned packages, etc …) we will not be able to have the same level of integration as we currently have with Pagure.
[cverna] Yes this is possible with Protected Branches
[tfigueiro] by default, only the master
branch is protected against force push and deletion. It’s possible to configure other branches to be protected and who has permission to override. https://docs.gitlab.com/ee/user/project/protected_branches.html#configuring-protected-branches
orphan
user or any of the other maintainers of the package only. Is this possible to set this branch level as well?[Brendan, GitLab]: Yes, in the sense that who is allowed to push or merge to a specific branch is controllable at the user or group level. This can be at the specific branch level or based on a wildcard match based on branch name. See configuring protected branches for more details.
[greg] Short term solution might be using a custom executor, long term solution would be getting the Runner executor podman (#4185) feature request issue scheduled and closed. Ultimately product team schedules work, while everyone can contribute MRs or fixes ahead of schedule. In the past, I've seen a lot of enthusiasm from GitLab team members in helping solve problems from Open Source Program members whenever possible.
tests
namespace have their issue tracker in bugzilla. Would this work in gitlab? Can we selectively enable/disable issue tracking per namespace for the entire instance? (ie: w/o giving the possibility to owner
or maintainer
to toggle that setting.)[cverna] - AFAIK this can be done per project, owner and maintainer can change this setting but owner and maintainers should only be sysadmin-main and releng. Namespaces map to “group” in GitLab. Here’s more info about them: https://docs.gitlab.com/ee/api/namespaces.html
[BrendanGitLab]: You CAN turn the GitLab issue tracker on and off by project. See https://docs.gitlab.com/ee/user/project/settings/#sharing-and-permissions
[cverna] Yes this can be configured at the instance level (https://gitlab.com/help/user/admin_area/settings/visibility_and_access_controls.md#default-project-creation-protection) or at the group level (https://gitlab.com/help/user/group/index.md#default-project-creation-level)
main admin
(ie: the owner
for GitLab iiuc), the other maintainers (who did not unwatch issues
in the project - mechanism for them to opt-out of being in the CC list) and the people having enabled Issue watching
for the project (mechanism for them to opt-in into being in the CC list). Would this work in a GitLab world?[Brendan] There are a number of options related to that. For one, users can control their notifications globally and by name space in a fine grained way (see GitLab Notification Emails).
[cverna] Not sure yet
[cverna] - I am not 100% clear on that, since GitLab supports OpenIDC, I am not sure if we could make use of the group scope returned by AAA. Otherwise we will need a solution to sync the groups to GitLab most likely using API calls.
c<int>-<sig-name>-*
(so for example, they can push to : c8-storage-sig-v2.0 or c7-storage-sig), but they cannot push to any other branches, like: c8, c7 or any of the branches starting with c8-kernel-sig and so on. Would this be doable in GitLab? (in a way that project owner/maintainer cannot edit?)[greg] A Custom Push Rule and server hook (pre-recieve Git hooks behind the scenes) could help with this.
[greg] GitLab has a good number of authentication options and integrations where the "best" solution usually depends on a team's specific needs and use case. As such, I think the best way to know and meet your needs and use case is to have a conversation and discuss the options. How does git push over HTTP work with FAS right now, and what git push (over HTTP) auth requirements/flow would you like to have for your projects in GitLab?
[cverna] - yes there was a FESCO ticket for that https://pagure.io/fesco/issue/2383
[cverna] - yes there was a FESCO ticket for that https://pagure.io/fesco/issue/2383
simple-koji-ci
or zuul
CI for pull requests against projects in the rpms
namespace. Will this still be supported with GitLab?Compliance is an ongoing process and we work diligently to keep up with best practices and processes every day. GitLab has a GitLab Privacy Policy to Protect your Data, including internal Information Security Policies. If self-hosting GitLab, you ultimately control your data and where it lives.
[Aoife] Please note: below this line any questions that are added may not be answered during the session. I am sending the above to GitLab now and will publish their answers after the session. Thanks everyone for contributing some really fantastic questions and I'm looking forward to the AMA session tomorrow! :)