New visibility level: external

Description

We are running a GitLab instance in our intranet. It's mainly for our own developers, but we want to give access to (a) some external contractors and to (b) special clients. Currently, GitLab offers only the visibility levels: public, internal, private.

  • public: no login is required This level is applied to repository copies from GitLab.com, GitHub.com and in house developed open source code
  • internal: not used, due to a distinction between normal and external users
  • private: used for almost all projects and groups

Reasons, why they can't see all projects after log in:

  • external users work for from time to time for us or have access to a projects as long as we develop a solution for that customer
  • they shall not see that we might work on projects of competing customers

Currently, I have to assign all our developers to all main groups to give them visibility to all "internal" projects, because they are private. I think this is a misuse of access rights, what should be handled with visibility levels. Giving access to all developers also grants write access to projects (at least to create issues).

Proposal

Add a new visibility level "external" for project that are visible to external users.

When adding that feature convert all projects and groups from "internal" to "external" on GitLab update, because that's the current behavior.

Links / references

Documentation blurb

Overview

What is it? Why should someone use this feature? What is the underlying (business) problem? How do you use this feature?

Use cases

Who is this for? Provide one or more use cases.

Feature checklist

Make sure these are completed before closing the issue, with a link to the relevant commit.

  • Feature assurance
  • Documentation
  • Added to features.yml
Assignee Loading
Time tracking Loading