Skip to content

Conversation

@2color
Copy link
Member

@2color 2color commented Jan 22, 2026

Summary

  • Rename community team to devrel with now includes @mishmosh and @2color
  • Remove TheDiscordian
  • grant devrel admin to:
    • awesome-ipfs
    • ecosystem-directory
    • ipfs-blog
    • ipfs-docs
    • ipfs-website
    • ipfs.fyi

Why do you need this?

I'm an active contributor to all those repositories and previously had these permissions, which were removed in #250

What else do we need to know?

DRI: myself

Reviewer's Checklist

  • It is clear where the request is coming from (if unsure, ask)
  • All the automated checks passed
  • The YAML changes reflect the summary of the request
  • The Terraform plan posted as a comment reflects the summary of the request

@2color 2color requested a review from a team as a code owner January 22, 2026 11:32
@github-actions
Copy link
Contributor

The following access changes will be introduced as a result of applying the plan:

Access Changes
User 2color:
  - will gain admin permission to awesome-ipfs
  - will gain admin permission to ecosystem-directory
  - will gain admin permission to ipfs-blog
  - will gain admin permission to ipfs-docs
  - will gain admin permission to ipfs-website
  - will gain admin permission to ipfs.fyi
User mishmosh:
  - will have the permission to awesome-ipfs change from pull to admin
  - will have the permission to ecosystem-directory change from maintain to admin
  - will have the permission to ipfs-blog change from push to admin
  - will have the permission to ipfs-docs change from push to admin
  - will have the permission to ipfs-website change from push to admin
  - will have the permission to ipfs.fyi change from pull to admin
User thediscordian:
  - will lose push permission to camp
  - will have the permission to community change from maintain to triage
  - will have the permission to roadmap change from push to pull
  - will lose triage permission to specs

@github-actions
Copy link
Contributor

Before merge, verify that all the following plans are correct. They will be applied as-is after the merge.

Terraform plans

ipfs

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  - destroy

Terraform will perform the following actions:

  # github_team.this["community"] will be destroyed
  # (because key ["community"] is not in for_each map)
  - resource "github_team" "this" {
      - description           = "Community managers, community engineers, and other people that need write privs." -> null
      - etag                  = "W/\"ed18bb9ab9f003ad1d08c1875900f0f150db50e8e2deb81854205adb4131ae53\"" -> null
      - id                    = "5082620" -> null
      - members_count         = 3 -> null
      - name                  = "community" -> null
      - node_id               = "T_kwDOAKDGrc4ATY38" -> null
      - privacy               = "closed" -> null
      - slug                  = "community" -> null
        # (4 unchanged attributes hidden)
    }

  # github_team.this["devrel"] will be created
  + resource "github_team" "this" {
      + create_default_maintainer = false
      + description               = "Developer advocates and other people that need write privs."
      + etag                      = (known after apply)
      + id                        = (known after apply)
      + members_count             = (known after apply)
      + name                      = "devrel"
      + 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_membership.this["community:2color"] will be destroyed
  # (because key ["community:2color"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"53e13d5b2e293a814a632fe71b915c8be2cc57b000cfe8ef7f4a519c077efe6f\"" -> null
      - id       = "5082620:2color" -> null
      - role     = "maintainer" -> null
      - team_id  = "5082620" -> null
      - username = "2color" -> null
    }

  # github_team_membership.this["community:mishmosh"] will be destroyed
  # (because key ["community:mishmosh"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"867c35a3d685372601b5875e878136eb03444af1a63eb105500db42a730b171b\"" -> null
      - id       = "5082620:mishmosh" -> null
      - role     = "maintainer" -> null
      - team_id  = "5082620" -> null
      - username = "mishmosh" -> null
    }

  # github_team_membership.this["community:thediscordian"] will be destroyed
  # (because key ["community:thediscordian"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"b351219ac9e5503c9c54e9d2295e07628beaa76af9e2c07c87c9950696c157fb\"" -> null
      - id       = "5082620:TheDiscordian" -> null
      - role     = "maintainer" -> null
      - team_id  = "5082620" -> null
      - username = "TheDiscordian" -> null
    }

  # github_team_membership.this["devrel:2color"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "maintainer"
      + team_id  = (known after apply)
      + username = "2color"
    }

  # github_team_membership.this["devrel:mishmosh"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "maintainer"
      + team_id  = (known after apply)
      + username = "mishmosh"
    }

  # github_team_repository.this["community:camp"] will be destroyed
  # (because key ["community:camp"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"5a52f195d7c4ba457969374025f487e725d98889533fdf3708e55ff05d211e1a\"" -> null
      - id         = "5082620:camp" -> null
      - permission = "push" -> null
      - repository = "camp" -> null
      - team_id    = "5082620" -> null
    }

  # github_team_repository.this["community:community"] will be destroyed
  # (because key ["community:community"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"852ed52a4700ee36199d1fe67d0d1a4f2cf6db09aebee53fab7d636cc12fc1a2\"" -> null
      - id         = "5082620:community" -> null
      - permission = "maintain" -> null
      - repository = "community" -> null
      - team_id    = "5082620" -> null
    }

  # github_team_repository.this["community:devgrants"] will be destroyed
  # (because key ["community:devgrants"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"34e6f24e4a397bcba205a94d7cc79389911f369bad68301e887afc381855bd92\"" -> null
      - id         = "5082620:devgrants" -> null
      - permission = "push" -> null
      - repository = "devgrants" -> null
      - team_id    = "5082620" -> null
    }

  # github_team_repository.this["community:ipfs"] will be destroyed
  # (because key ["community:ipfs"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"84f7e195f4e8b4b6479b02219a9d37664abbe53079bc89a76af063359ca931a1\"" -> null
      - id         = "5082620:ipfs" -> null
      - permission = "triage" -> null
      - repository = "ipfs" -> null
      - team_id    = "5082620" -> null
    }

  # github_team_repository.this["community:roadmap"] will be destroyed
  # (because key ["community:roadmap"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"d69ce74d84f2e486bf55676f5fd4f69d80a1abf7b399cd3e0f9b43cf40b0c6a4\"" -> null
      - id         = "5082620:roadmap" -> null
      - permission = "push" -> null
      - repository = "roadmap" -> null
      - team_id    = "5082620" -> null
    }

  # github_team_repository.this["community:specs"] will be destroyed
  # (because key ["community:specs"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"0a28917e24ff0fd4e502b988e89b5085e753cd71f3fbbe2d69f7a9a7969ef144\"" -> null
      - id         = "5082620:specs" -> null
      - permission = "triage" -> null
      - repository = "specs" -> null
      - team_id    = "5082620" -> null
    }

  # github_team_repository.this["devrel:awesome-ipfs"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "admin"
      + repository = "awesome-ipfs"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:camp"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "camp"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:community"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "maintain"
      + repository = "community"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:devgrants"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "devgrants"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:ecosystem-directory"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "admin"
      + repository = "ecosystem-directory"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:ipfs"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "triage"
      + repository = "ipfs"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:ipfs-blog"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "admin"
      + repository = "ipfs-blog"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:ipfs-docs"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "admin"
      + repository = "ipfs-docs"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:ipfs-website"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "admin"
      + repository = "ipfs-website"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:ipfs.fyi"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "admin"
      + repository = "ipfs.fyi"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:roadmap"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "roadmap"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["devrel:specs"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "triage"
      + repository = "specs"
      + team_id    = (known after apply)
    }

Plan: 15 to add, 0 to change, 10 to destroy.

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.

2 participants