To ensure clear, consistent, and manageable permissions across all Forgejo organizations, this proposal outlines a standardized structure for teams based on integration with the Fedora Accounts. This model defines distinct roles for general members and administrators, automating user management and clarifying access levels.
Proposed Team Structure
For each organization created in Forgejo, we will establish a corresponding two-tier group structure within FAS to manage membership and permissions automatically. Every Forgejo organization has a default "Owners" team, which grants administrative rights to all its assets. Our proposed structure leverages this by mapping FAS groups to specific teams within Forgejo.
I propose we create two FAS groups for each Forgejo organization. Using the "Council" as an example:
Members Group (e.g., council in FAS):
Syncing: All members of this primary FAS group will be automatically mapped to a team named members within the corresponding Forgejo organization (e.g., the Council organization).
Permissions: The members team will be granted Read and Write access to all repositories within the organization. This allows all team members to contribute to the projects.
Owners Group (e.g., council-owners in FAS):
Syncing: A new, dedicated FAS group will be created for administrators. Its members (e.g., appointed members of the Council) will be automatically mapped to the default Owners team within the Forgejo organization.
Permissions: This group will have full administrative rights over the organization, including managing repositories, teams, and settings.
Metadata Update from @james: - Issue priority set to: Waiting on External (was: Needs Review) - Issue tagged with: high-gain, high-trouble
This sounds good to me, but I suggest we standarize the names a bit more:
forge-$org-members
forge-$org-admins
So, we can tell that the group is and what it's for. Or were you wanting to reuse existing groups? That would be ok, but would be more confusing I think. But less groups.
This sounds good to me, but I suggest we standarize the names a bit more: forge-$org-members forge-$org-admins So, we can tell that the group is and what it's for. Or were you wanting to reuse existing groups? That would be ok, but would be more confusing I think. But less groups.
I think in some cases, we will want to re-use groups -- the first example are things like council & fesco -- they don't want to have to maintain a seperate group.
Have we gotten this documented now? can close?
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/infra/tickets/issues/12738
Please continue any further discussion there.
Metadata Update from @ryanlerch: - Issue close_status updated to: Migrated to Fedora Forge - Issue status updated to: Closed (was: Open)