How do I give all GitLab users access to all repositories without making the repos public?
We’re a small team (about 20 people) and I want to give everyone access to all the repositories but without making them public.
Is there a way to make all repositories accessible to every user without making them public? Or so they could at least see/browse all the repos?
So far my approach was to create a team called “Everyone” and just add it to all the repos manually. But I wish this could happen automatically and without everyone appearing as the team.
Any ideas highly appreciated.
2 Solutions collect form web for “How do I give all GitLab users access to all repositories without making the repos public?”
Add all users to all projects
■ admin users are added as masters
bundle exec rake gitlab:import:all_users_to_all_projects
Take a look at the redbook and find the section titled “Enforcing a User-Based ACL System” – it describes how to set up your repository permissions based on just 2 text files per repository – these can be copied between repositories or on Unix/Linux servers could be just 2 files with softlinks in each repository – they you would only have 1 file the users file to edit and not even need to copy it. You may have to enforce a similar repository structure to each repository but that is often good practice anyway.
The alternatives for a gitlab only solution look like:
- Adding all your users to a “Browse” group with limited permissions
and adding that group to all the repositories, (this could be updated
as necessary using a python script and the python gitlab api),
- I am reasonably sure that you can start gitlab running on a
specified, possibly non-standard port, make all the repositories
public but set your network policy up so that only local, or a
specified range of, IP addresses can connect to that port. This
would make it public only within the organisation but as to how to
do it I would suggest a separate question over on Super User as
it is much more a system admin question than a programming one.