Open-Source Wikis

/

GitLab

/

Primitives

/

Group

gitlab-org/gitlab

Group

A namespace that holds projects, sub-groups, members, and group-level features (epics, iterations, audit events).

Source

app/models/group.rb plus dozens of concerns. EE adds heavily — group-scoped epics, scoped boards, SAML group sync, custom roles, security policies.

What groups own

  • Sub-groups (children).
  • Projects.
  • Members and access requests.
  • Labels, milestones, iterations.
  • Wikis (EE).
  • Epics (EE).
  • Boards.
  • Compliance frameworks (EE).
  • Group access tokens (bot users).
  • Group hooks.
  • Audit events.
  • SAML provider settings (EE).

Hierarchy

Groups can nest arbitrarily. Recursive CTE queries are used to walk ancestors and descendants efficiently. lib/gitlab/sql/recursive_cte.rb and Postgres helper functions back this.

Settings

namespace_settings (shared with namespaces) plus group-specific columns:

  • 2FA enforcement.
  • IP allow-list (EE).
  • Default branch protection.
  • Allowed email domains (EE).
  • Merge methods (squash, fast-forward).

Inheritance of features

Features applied at a group level (like 2FA enforcement) cascade to descendants. The cascade is computed lazily in policies, not by mass-update.

Removal

Group deletion uses a "delayed deletion" period (EE for paid plans). The destroy service walks the tree and queues per-project destroy jobs.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Group – GitLab wiki | Factory