Skip to content

Latest commit

 

History

History
28 lines (20 loc) · 1.3 KB

File metadata and controls

28 lines (20 loc) · 1.3 KB

GL_InheritRole

Edge Schema

General Information

The traversable GL_InheritRole edge models automatic role inheritance down the GitLab namespace hierarchy. When a user holds a role in a parent group, they automatically inherit the equivalent role in all subgroups and all projects under that group — without requiring an explicit membership entry.

For each parent-group role, GL_InheritRole edges are created to:

  • The equivalent-level role node in each direct subgroup (GL_GroupRole → GL_GroupRole)
  • The equivalent-level role node in each project owned by the group (GL_GroupRole → GL_ProjectRole)

This means traversing GL_HasRoleGL_InheritRole* from a user will reach all effective group and project roles the user holds through inheritance.

graph LR
    user("fa:fa-user GL_User alice")
    parentRole("fa:fa-user-tie GL_GroupRole myorg/Developer")
    subRole("fa:fa-user-tie GL_GroupRole myorg/frontend/Developer")
    projRole("fa:fa-user-tie GL_ProjectRole myorg/backend/Developer")

    user -->|GL_HasRole| parentRole
    parentRole -->|GL_InheritRole| subRole
    parentRole -->|GL_InheritRole| projRole
Loading