Skip to content

Conversation

@tim-schilling
Copy link
Member

The operations team will have admin permissions in the GitHub org while the admins team will have moderator permissions.

Closes django-commons/controls#90

We need to confirm we're not all going to lose our permissions with this change 😬

@tim-schilling tim-schilling requested a review from a team as a code owner October 10, 2025 20:57
@github-actions
Copy link

github-actions bot commented Oct 10, 2025

Terraform plan in terraform
With var files: terraform/production/org.tfvars terraform/production/repositories.tfvars
With variables: github_token = (sensitive value)

Plan: 2 to add, 1 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create
!~  update in-place

Terraform will perform the following actions:

  # github_team.org_teams["Admins"] will be updated in-place
!~  resource "github_team" "org_teams" {
!~      description               = "django-commons administrators" -> "django-commons administrators team with moderator permissions in the org."
        id                        = "9763562"
        name                      = "Admins"
#        (10 unchanged attributes hidden)
    }

  # github_team.org_teams["operations"] will be created
+   resource "github_team" "org_teams" {
+       create_default_maintainer = false
+       description               = "django-commons operations team with admin permissions in the org."
+       etag                      = (known after apply)
+       id                        = (known after apply)
+       members_count             = (known after apply)
+       name                      = "operations"
+       node_id                   = (known after apply)
+       parent_team_read_id       = (known after apply)
+       parent_team_read_slug     = (known after apply)
+       privacy                   = "closed"
+       slug                      = (known after apply)
    }

  # github_team_members.org_team_members["operations"] will be created
+   resource "github_team_members" "org_team_members" {
+       id      = (known after apply)
+       team_id = (known after apply)

+       members {
+           role     = "maintainer"
+           username = "Stormheg"
        }
+       members {
+           role     = "maintainer"
+           username = "cunla"
        }
+       members {
+           role     = "maintainer"
+           username = "ryancheley"
        }
+       members {
+           role     = "maintainer"
+           username = "tim-schilling"
        }
+       members {
+           role     = "maintainer"
+           username = "williln"
        }
    }

Plan: 2 to add, 1 to change, 0 to destroy.

📝 Plan generated in Plan org changes and list them in a PR #179

@tim-schilling
Copy link
Member Author

Yeah, I think we may want to split this into two PRs. Create the ops team first, then reduce the admin team's permissions. Please hold.

The operations team will have admin permissions in the GitHub org
while the admins team will have moderator permissions.

This needs to be followed up with another commit to reduce the
permissions of the org admins teams to member. This is being
split up to avoid removing all admin permissions.

variable "admins" {
description = "A set of admins to add to the organization"
description = "A set of users who are admins to add to the organization"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe let's rename this? admins implies permissions, and we want to reduce the admins' permissions over the GitHub org (not in terms of decisions-making).

So perhaps board/strategy_team?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're likely to bikeshed on a name in my opinion. I'd be against anything with board or council in the name to avoid conflicts with the existing DSF entities. Strategy doesn't fit the bill in my opinion since that sounds a bit like they just do thought-experiments to me.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe decision-makers? I am fine leaving it as admins though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create operations team to live alongside admins team

3 participants