Update admin SOPs with group mapping changes

fixes: https://codeberg.org/fedora/forgejo-deployment/issues/228

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
This commit is contained in:
Ryan Lerch 2025-10-29 19:08:59 +10:00
commit f2b91d1212
2 changed files with 40 additions and 31 deletions

View file

@ -79,22 +79,23 @@ The organization creation process involves six main steps: logging in as an admi
`1000` is generally recommended to ensure sufficient capacity for Fedora
organizations and Special Interest Groups (SIGs) without encountering
limitations.
. [WARNING]
====
Failure to manually set this value will prevent anyone from creating
repositories within this organization.
====
+
[WARNING]
====
Failure to manually set this value will prevent anyone from creating
repositories within this organization.
====
=== Assign Fedora Accounts Group as Organization Owners
. This step requires access to the system-wide administration settings.
. Navigate to the following URL: `https://forge.fedoraproject.org/admin/auths/1`
. Locate the field labeled *"Map claimed groups to organization teams."* This
field contains a JSON snippet.
. This step requires access to the Fedora Ansible infrastructure repository and the ability to run Ansible playbooks.
. *Update the configuration file:* Edit the `values.yml.j2` file in the Fedora Ansible repository at:
`roles/openshift-apps/forgejo/templates/values.yml.j2`
. *Locate the OIDC group mapping section* within the file and find the JSON configuration for mapping Fedora Accounts groups to organization teams.
. *Identify the Fedora Accounts group* that will serve as the "Owners" team
for the newly created organization. The "Owners" team is an immutable,
automatically created team in Fedora Forge with specific permissions.
. *Add or update the following key-value pair* within the JSON snippet:
for the newly created organization. The "Owners" team is an immutable,
automatically created team in Fedora Forge with specific permissions.
. *Add or update the following key-value pair* within the JSON configuration:
+
[source,json]
----
@ -104,11 +105,12 @@ The organization creation process involves six main steps: logging in as an admi
----
+
.. Replace `<Fedora_Accounts_Group>` with the actual name of the Fedora
Accounts group (e.g., `sysadmin-main`).
Accounts group (e.g., `sysadmin-main`).
.. Replace `<Fedora_Forge_Organization>` with the exact name of the Fedora
Forge organization you just created (e.g., `Infrastructure`).
+.. *Example:* If the `sysadmin-main` group members are to be the `Owners` team
of the `Packages` organization, the JSON snippet should include:
Forge organization you just created (e.g., `Infrastructure`).
+
*Example:* If the `sysadmin-main` group members are to be the `Owners` team
of the `Packages` organization, the JSON snippet should include:
+
[source,json]
----
@ -117,7 +119,10 @@ The organization creation process involves six main steps: logging in as an admi
}
----
+
. Save the changes to the system-wide administration settings.
. *Commit and push* your changes to the Ansible repository to ensure the configuration is preserved.
. *Run the Forgejo playbook* to apply the configuration changes:
`playbooks/openshift-apps/forgejo.yml`
. *Verify deployment rollout:* The deployment should automatically begin a new rollout to apply the changes. If a new rollout does not start automatically, manually trigger one through the OpenShift console or CLI.
== Verification

View file

@ -81,14 +81,14 @@ The team creation process involves five main steps: logging in and navigating to
=== Assign Fedora Accounts Group to the Team
. This step requires access to the system-wide administration settings.
. Navigate to the following URL: `https://forge.fedoraproject.org/admin/auths/1`
. Locate the field labeled *"Map claimed groups to organization teams."* This
field contains a JSON snippet.
. This step requires access to the Fedora Ansible infrastructure repository and the ability to run Ansible playbooks.
. *Update the configuration file:* Edit the `values.yml.j2` file in the Fedora Ansible repository at:
`roles/openshift-apps/forgejo/templates/values.yml.j2`
. *Locate the OIDC group mapping section* within the file and find the JSON configuration for mapping Fedora Accounts groups to organization teams.
. *Identify the Fedora Accounts group* whose members will be part of this new
team.
. *Add or update the following key-value pair* within the JSON snippet to map
the Fedora Accounts group to the new team within the specific organization:
team.
. *Add or update the following key-value pair* within the JSON configuration to map
the Fedora Accounts group to the new team within the specific organization:
+
[source,json]
----
@ -98,14 +98,15 @@ The team creation process involves five main steps: logging in and navigating to
----
+
.. Replace `<Fedora_Accounts_Group>` with the actual name of the Fedora
Accounts group (e.g., `sig-cloud-devs`).
Accounts group (e.g., `sig-cloud-devs`).
.. Replace `<Forgejo_Organization>` with the exact name of the Fedora Forge
organization (e.g., `Fedora-Cloud`).
organization (e.g., `Fedora-Cloud`).
.. Replace `<Team_Name>` with the exact name of the team you just created
(e.g., `Developers`).
+.. *Example:* If you want the `sig-cloud-devs` group members to be part of the
`Developers` team within the `Fedora-Cloud` organization, the JSON snippet
should include:
(e.g., `Developers`).
+
*Example:* If you want the `sig-cloud-devs` group members to be part of the
`Developers` team within the `Fedora-Cloud` organization, the JSON snippet
should include:
+
[source,json]
----
@ -118,7 +119,10 @@ organizations, ensure you correctly update the existing entry without
overwriting other mappings. For example, to add `TeamA` and `TeamB` to
`OrgX` for `my-fas-group`, the entry would be: `"my-fas-group": {"OrgX":
["TeamA", "TeamB"]}`.
. Save the changes to the system-wide administration settings.
. *Commit and push* your changes to the Ansible repository to ensure the configuration is preserved.
. *Run the Forgejo playbook* to apply the configuration changes:
`playbooks/openshift-apps/forgejo.yml`
. *Verify deployment rollout:* The deployment should automatically begin a new rollout to apply the changes. If a new rollout does not start automatically, manually trigger one through the OpenShift console or CLI.
=== Assign Repositories to the Team (If "Include all repositories" was unchecked)