Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update rust-libp2p access #252

Merged
merged 11 commits into from
Oct 8, 2024
Merged

Conversation

AgeManning
Copy link
Contributor

@AgeManning AgeManning commented Sep 25, 2024

Summary

I think the access for the rust-libp2p repository is quite out of date and there are various teams scattered in the configuration which are applied inconsistently to various rust-libp2p repositories. Further, Sigma Prime has become a maintainer of the rust-libp2p repository, and this PR updates the github access to reflect this. This is akin to: #245

In summary, this PR

  • Adds a sigma-prime team which has admin rights of the rust-libp2p repository
  • Removes old and redundant rust-libp2p teams
  • Creates a single rust-libp2p-contributors team keeping the active users as members
  • Gives write access to members in the rust-libp2p-contributors team to rust repositories

Why do you need this?

The access for the rust-lib2p repository is out-dated and there are various parties with more access than needed. In order to make this repository secure, and potentially move some CI into Sigma Prime's self-hosted ecosystem, the permissions for this repository need to be tightened to those who actually need them.

What else do we need to know?

This should only effect rust-libp2p and access rights that rust-libp2p maintainers currently posses.

cc @guillaumemichel - You have write access to all rust-libp2p repos. Happy to make a new team of maintainers if you needed higher privileges than write.
cc @jxs - I think I've maintained all current contributors access and removed out-dated contributors, but it might be worth double checking.

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

@AgeManning AgeManning requested review from a team as code owners September 25, 2024 06:40
Copy link
Contributor

github-actions bot commented Sep 25, 2024

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

Access Changes
User 2color:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-yamux
User achingbrain:
  - will have the permission to rust-libp2p change from admin to pull
  - will have the permission to rust-yamux change from admin to pull
User aschmahmann:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-yamux
User dariusc93:
  - will have the permission to rust-libp2p change from admin to push
  - will have the permission to rust-libp2p-identity change from admin to push
  - will have the permission to rust-yamux change from admin to push
  - will gain push permission to blog
  - will gain push permission to demo-multi-lang
  - will gain push permission to notes
  - will gain push permission to projects
  - will gain push permission to test-plans
User dhuseby:
  - will have the permission to rust-libp2p change from admin to pull
  - will have the permission to rust-yamux change from admin to pull
User galargh:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-libp2p-identity
  - will lose admin permission to rust-yamux
User guillaumemichel:
  - will have the permission to rust-libp2p-identity change from maintain to admin
User jbenet:
  - will lose admin permission to rust-libp2p
User jorropo:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-yamux
User kubuxu:
  - will lose admin permission to rust-libp2p
User laurentsenta:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-yamux
User lidel:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-yamux
User marcopolo:
  - will have the permission to rust-libp2p change from admin to push
  - will have the permission to rust-libp2p-identity change from maintain to push
  - will have the permission to rust-yamux change from admin to push
User mxinden:
  - will have the permission to rust-libp2p change from admin to push
  - will have the permission to rust-libp2p-identity change from maintain to push
  - will have the permission to rust-yamux change from admin to push
  - will lose maintain permission to universal-connectivity
User p-shahi:
  - will have the permission to rust-libp2p change from admin to pull
  - will have the permission to rust-yamux change from admin to pull
User raulk:
  - will have the permission to rust-libp2p change from admin to pull
User stebalien:
  - will have the permission to rust-libp2p change from admin to pull
  - will have the permission to rust-yamux change from admin to pull
User sukunrt:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-yamux
User thomaseizinger:
  - will lose admin permission to developer-meetings
  - will lose push permission to docs
  - will have the permission to rust-libp2p change from maintain to push
  - will have the permission to rust-libp2p-identity change from maintain to push
  - will have the permission to rust-yamux change from maintain to push
  - will lose push permission to team-mgmt
  - will lose maintain permission to universal-connectivity
User tomaka:
  - will lose push permission to blog
  - will lose push permission to demo-multi-lang
  - will lose admin permission to developer-meetings
  - will lose push permission to docs
  - will lose push permission to notes
  - will lose push permission to projects
  - will lose push permission to rust-libp2p
  - will lose push permission to rust-yamux
  - will lose push permission to team-mgmt
User vmx:
  - will lose push permission to blog
  - will lose push permission to demo-multi-lang
  - will lose admin permission to developer-meetings
  - will lose push permission to docs
  - will lose push permission to notes
  - will lose push permission to projects
  - will lose push permission to rust-libp2p
  - will lose push permission to rust-yamux
  - will lose push permission to team-mgmt
User yiannisbot:
  - will lose admin permission to rust-libp2p
  - will lose admin permission to rust-yamux

Copy link
Contributor

github-actions bot commented Sep 25, 2024

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

Terraform plans

libp2p

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["repos - rust"] will be destroyed
  # (because key ["repos - rust"] is not in for_each map)
  - resource "github_team" "this" {
      - description   = "In Rust we tRust " -> null
      - etag          = "W/\"2ff1d264a89ff058d03ce2a5e09a6a20327435261b3c9fe7bc6738c9d60b17b2\"" -> null
      - id            = "2457482" -> null
      - members_count = 6 -> null
      - name          = "Repos - Rust" -> null
      - node_id       = "MDQ6VGVhbTI0NTc0ODI=" -> null
      - privacy       = "closed" -> null
      - slug          = "repos-rust" -> null
    }

  # github_team.this["rust-libp2p active maintainers"] will be destroyed
  # (because key ["rust-libp2p active maintainers"] is not in for_each map)
  - resource "github_team" "this" {
      - create_default_maintainer = false -> null
      - description               = "Active maintainers who need occassional admin over rust-libp2p repos." -> null
      - etag                      = "W/\"0d81df58fb13f511865bff3be6440fb829f309029e270b99b2adb88f2bb9acfc\"" -> null
      - id                        = "9704050" -> null
      - members_count             = 4 -> null
      - name                      = "rust-libp2p Active Maintainers" -> null
      - node_id                   = "T_kwDOAOJp3s4AlBJy" -> null
      - privacy                   = "closed" -> null
      - slug                      = "rust-libp2p-active-maintainers" -> null
    }

  # github_team.this["rust-libp2p maintainers"] will be destroyed
  # (because key ["rust-libp2p maintainers"] is not in for_each map)
  - resource "github_team" "this" {
      - description   = "Trusted reviewers for merging into rust-libp2p repositories and publishing to crates.io." -> null
      - etag          = "W/\"f57fc0f6a09b5a26b2e4a537b42d6847ef3273318b88bfac23a865f15f5c4d29\"" -> null
      - id            = "6797340" -> null
      - members_count = 6 -> null
      - name          = "rust-libp2p Maintainers" -> null
      - node_id       = "T_kwDOAOJp3s4AZ7gc" -> null
      - privacy       = "closed" -> null
      - slug          = "rust-libp2p-maintainers" -> null
    }

  # github_team.this["rust-libp2p-contributors"] will be created
  + resource "github_team" "this" {
      + create_default_maintainer = false
      + description               = "Contributors to the rust-libp2p repository"
      + etag                      = (known after apply)
      + id                        = (known after apply)
      + members_count             = (known after apply)
      + name                      = "rust-libp2p-contributors"
      + node_id                   = (known after apply)
      + privacy                   = "secret"
      + slug                      = (known after apply)
    }

  # github_team.this["rust-libp2p-maintainers"] will be created
  + resource "github_team" "this" {
      + create_default_maintainer = false
      + description               = "Current maintainers of Rust-libp2p"
      + etag                      = (known after apply)
      + id                        = (known after apply)
      + members_count             = (known after apply)
      + name                      = "rust-libp2p-maintainers"
      + node_id                   = (known after apply)
      + privacy                   = "closed"
      + slug                      = (known after apply)
    }

  # github_team_membership.this["repos - rust:agemanning"] will be destroyed
  # (because key ["repos - rust:agemanning"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"4ef800e9ee4695406802a77bf59d418c3b989903124e153ea2bfe229e722cb8f\"" -> null
      - id       = "2457482:AgeManning" -> null
      - role     = "member" -> null
      - team_id  = "2457482" -> null
      - username = "AgeManning" -> null
    }

  # github_team_membership.this["repos - rust:jxs"] will be destroyed
  # (because key ["repos - rust:jxs"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"ccedd5899999fc10c5962ebbfa474435ae7b4eb3ff08e4ba0296d751b936e4d2\"" -> null
      - id       = "2457482:jxs" -> null
      - role     = "member" -> null
      - team_id  = "2457482" -> null
      - username = "jxs" -> null
    }

  # github_team_membership.this["repos - rust:mxinden"] will be destroyed
  # (because key ["repos - rust:mxinden"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"f9fe506ab84022f2555ea5a7b1d40eb7809661ec22229571475180af46b956cb\"" -> null
      - id       = "2457482:mxinden" -> null
      - role     = "maintainer" -> null
      - team_id  = "2457482" -> null
      - username = "mxinden" -> null
    }

  # github_team_membership.this["repos - rust:thomaseizinger"] will be destroyed
  # (because key ["repos - rust:thomaseizinger"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"ea17cf6c85e008de740a04e3990a0aa27b9538325d3fde410f44c851ecab1ba3\"" -> null
      - id       = "2457482:thomaseizinger" -> null
      - role     = "member" -> null
      - team_id  = "2457482" -> null
      - username = "thomaseizinger" -> null
    }

  # github_team_membership.this["repos - rust:tomaka"] will be destroyed
  # (because key ["repos - rust:tomaka"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"5d1b6464eb8e54647d0ab1cb49be1c187f287594c4d4d4c22add2c0759a7aa1b\"" -> null
      - id       = "2457482:tomaka" -> null
      - role     = "maintainer" -> null
      - team_id  = "2457482" -> null
      - username = "tomaka" -> null
    }

  # github_team_membership.this["repos - rust:vmx"] will be destroyed
  # (because key ["repos - rust:vmx"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"9b10836ba7120ecea3045180132ac0bec163a7d505e522156845831139f2a1c4\"" -> null
      - id       = "2457482:vmx" -> null
      - role     = "member" -> null
      - team_id  = "2457482" -> null
      - username = "vmx" -> null
    }

  # github_team_membership.this["rust-libp2p active maintainers:agemanning"] will be destroyed
  # (because key ["rust-libp2p active maintainers:agemanning"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"e48b96fb717d7095a1c009f0f5734e66b014cf4b13d10c4a3e861eef9ae29847\"" -> null
      - id       = "9704050:AgeManning" -> null
      - role     = "member" -> null
      - team_id  = "9704050" -> null
      - username = "AgeManning" -> null
    }

  # github_team_membership.this["rust-libp2p active maintainers:dariusc93"] will be destroyed
  # (because key ["rust-libp2p active maintainers:dariusc93"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"81d118a95247eede6e40480c8ca4a599f2f92d7bb5b77c3df6bf92a121e6437c\"" -> null
      - id       = "9704050:dariusc93" -> null
      - role     = "member" -> null
      - team_id  = "9704050" -> null
      - username = "dariusc93" -> null
    }

  # github_team_membership.this["rust-libp2p active maintainers:galargh"] will be destroyed
  # (because key ["rust-libp2p active maintainers:galargh"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"0cffdaa93a1924dfc1d42b66d3b95a83ef8225a54bcb31c9e39581e7a4fc7a87\"" -> null
      - id       = "9704050:galargh" -> null
      - role     = "maintainer" -> null
      - team_id  = "9704050" -> null
      - username = "galargh" -> null
    }

  # github_team_membership.this["rust-libp2p active maintainers:jxs"] will be destroyed
  # (because key ["rust-libp2p active maintainers:jxs"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"28c0799c8943a3e19db43c301563629d7d3a57b6d6b9024f5b329cc621eda85b\"" -> null
      - id       = "9704050:jxs" -> null
      - role     = "member" -> null
      - team_id  = "9704050" -> null
      - username = "jxs" -> null
    }

  # github_team_membership.this["rust-libp2p maintainers:agemanning"] will be destroyed
  # (because key ["rust-libp2p maintainers:agemanning"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"073ace5c7416c1e59990aa265390cd1ea7ab3a8cab6abe645671bb93e9d60a77\"" -> null
      - id       = "6797340:AgeManning" -> null
      - role     = "member" -> null
      - team_id  = "6797340" -> null
      - username = "AgeManning" -> null
    }

  # github_team_membership.this["rust-libp2p maintainers:guillaumemichel"] will be destroyed
  # (because key ["rust-libp2p maintainers:guillaumemichel"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"aa9d498c59eac8133ece56ea6b76b7d29f16f6b66bba0069db138e3639bc04ab\"" -> null
      - id       = "6797340:guillaumemichel" -> null
      - role     = "member" -> null
      - team_id  = "6797340" -> null
      - username = "guillaumemichel" -> null
    }

  # github_team_membership.this["rust-libp2p maintainers:jxs"] will be destroyed
  # (because key ["rust-libp2p maintainers:jxs"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"a599d1e12b6a041456e16c4cb886fc3986ba2bf719e35d0d962ecb0398ae58ea\"" -> null
      - id       = "6797340:jxs" -> null
      - role     = "maintainer" -> null
      - team_id  = "6797340" -> null
      - username = "jxs" -> null
    }

  # github_team_membership.this["rust-libp2p maintainers:marcopolo"] will be destroyed
  # (because key ["rust-libp2p maintainers:marcopolo"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"e94abf8273d042432da8e2116030f364bdc567762fd84e4b957f1d4fd4fa5562\"" -> null
      - id       = "6797340:MarcoPolo" -> null
      - role     = "member" -> null
      - team_id  = "6797340" -> null
      - username = "MarcoPolo" -> null
    }

  # github_team_membership.this["rust-libp2p maintainers:mxinden"] will be destroyed
  # (because key ["rust-libp2p maintainers:mxinden"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"d735c09f395fa02a01db8d537649e4a20e07dbe5de8562bb8c41a8bc1d0705d7\"" -> null
      - id       = "6797340:mxinden" -> null
      - role     = "maintainer" -> null
      - team_id  = "6797340" -> null
      - username = "mxinden" -> null
    }

  # github_team_membership.this["rust-libp2p maintainers:thomaseizinger"] will be destroyed
  # (because key ["rust-libp2p maintainers:thomaseizinger"] is not in for_each map)
  - resource "github_team_membership" "this" {
      - etag     = "W/\"177459e1f505d181cd8eb9e9d4c5263a64fa8fa7b80cc1d11132907a2071e2e0\"" -> null
      - id       = "6797340:thomaseizinger" -> null
      - role     = "member" -> null
      - team_id  = "6797340" -> null
      - username = "thomaseizinger" -> null
    }

  # github_team_membership.this["rust-libp2p-contributors:dariusc93"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = (known after apply)
      + username = "dariusc93"
    }

  # github_team_membership.this["rust-libp2p-contributors:marcopolo"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = (known after apply)
      + username = "MarcoPolo"
    }

  # github_team_membership.this["rust-libp2p-contributors:mxinden"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = (known after apply)
      + username = "mxinden"
    }

  # github_team_membership.this["rust-libp2p-contributors:thomaseizinger"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "member"
      + team_id  = (known after apply)
      + username = "thomaseizinger"
    }

  # github_team_membership.this["rust-libp2p-maintainers:agemanning"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "maintainer"
      + team_id  = (known after apply)
      + username = "AgeManning"
    }

  # github_team_membership.this["rust-libp2p-maintainers:guillaumemichel"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "maintainer"
      + team_id  = (known after apply)
      + username = "guillaumemichel"
    }

  # github_team_membership.this["rust-libp2p-maintainers:jxs"] will be created
  + resource "github_team_membership" "this" {
      + etag     = (known after apply)
      + id       = (known after apply)
      + role     = "maintainer"
      + team_id  = (known after apply)
      + username = "jxs"
    }

  # github_team_repository.this["admin:rust-libp2p"] will be destroyed
  # (because key ["admin:rust-libp2p"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"83674e38d0051531e032e0586081da811e985000f89214674420e9b2a938e63d\"" -> null
      - id         = "2077192:rust-libp2p" -> null
      - permission = "admin" -> null
      - repository = "rust-libp2p" -> null
      - team_id    = "2077192" -> null
    }

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

  # github_team_repository.this["repos - rust:demo-multi-lang"] will be destroyed
  # (because key ["repos - rust:demo-multi-lang"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"0e95410f42d75c77bbacace46bf6a465ae76af0311cbd167847e79b079839463\"" -> null
      - id         = "2457482:demo-multi-lang" -> null
      - permission = "push" -> null
      - repository = "demo-multi-lang" -> null
      - team_id    = "2457482" -> null
    }

  # github_team_repository.this["repos - rust:developer-meetings"] will be destroyed
  # (because key ["repos - rust:developer-meetings"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"5a09078b9e4bf2ab9c983a237f84607e1e70af7a45f707bf0710adec7da263f4\"" -> null
      - id         = "2457482:developer-meetings" -> null
      - permission = "admin" -> null
      - repository = "developer-meetings" -> null
      - team_id    = "2457482" -> null
    }

  # github_team_repository.this["repos - rust:docs"] will be destroyed
  # (because key ["repos - rust:docs"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"289d37eedd4a07d327c54506770fe41c837d504b9ef39c41ebabe773f692f614\"" -> null
      - id         = "2457482:docs" -> null
      - permission = "push" -> null
      - repository = "docs" -> null
      - team_id    = "2457482" -> null
    }

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

  # github_team_repository.this["repos - rust:projects"] will be destroyed
  # (because key ["repos - rust:projects"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"1e45519d5b7c1c7736847baceb81e088f44254f67a7d5e1d36d93758df504d7d\"" -> null
      - id         = "2457482:projects" -> null
      - permission = "push" -> null
      - repository = "projects" -> null
      - team_id    = "2457482" -> null
    }

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

  # github_team_repository.this["repos - rust:rust-yamux"] will be destroyed
  # (because key ["repos - rust:rust-yamux"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"277b1b3db905db10befd3d92229a8636154418a5edfcd5b2104bbb91be73e02d\"" -> null
      - id         = "2457482:rust-yamux" -> null
      - permission = "push" -> null
      - repository = "rust-yamux" -> null
      - team_id    = "2457482" -> null
    }

  # github_team_repository.this["repos - rust:team-mgmt"] will be destroyed
  # (because key ["repos - rust:team-mgmt"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"31e74d6c4439202ece776a57bed59bc9ed349f204412667bcaef3d6c23815500\"" -> null
      - id         = "2457482:team-mgmt" -> null
      - permission = "push" -> null
      - repository = "team-mgmt" -> null
      - team_id    = "2457482" -> null
    }

  # github_team_repository.this["rust-libp2p active maintainers:rust-libp2p"] will be destroyed
  # (because key ["rust-libp2p active maintainers:rust-libp2p"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"83674e38d0051531e032e0586081da811e985000f89214674420e9b2a938e63d\"" -> null
      - id         = "9704050:rust-libp2p" -> null
      - permission = "admin" -> null
      - repository = "rust-libp2p" -> null
      - team_id    = "9704050" -> null
    }

  # github_team_repository.this["rust-libp2p active maintainers:rust-libp2p-identity"] will be destroyed
  # (because key ["rust-libp2p active maintainers:rust-libp2p-identity"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"7177490f4827f239cf6ad43eda9f549058d017d2525ededb4407a6f778e1b6df\"" -> null
      - id         = "9704050:rust-libp2p-identity" -> null
      - permission = "admin" -> null
      - repository = "rust-libp2p-identity" -> null
      - team_id    = "9704050" -> null
    }

  # github_team_repository.this["rust-libp2p active maintainers:rust-yamux"] will be destroyed
  # (because key ["rust-libp2p active maintainers:rust-yamux"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"748b412525d885aa27f03f67cdbd8e574c1b13a41a0d8273fd267b42c77c9d4a\"" -> null
      - id         = "9704050:rust-yamux" -> null
      - permission = "admin" -> null
      - repository = "rust-yamux" -> null
      - team_id    = "9704050" -> null
    }

  # github_team_repository.this["rust-libp2p maintainers:blog"] will be destroyed
  # (because key ["rust-libp2p maintainers:blog"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"e6bd99f65bf13e14941fc0e87754d9a2ccf7c3a76c9beb3fd0f58f9579fb1a27\"" -> null
      - id         = "6797340:blog" -> null
      - permission = "push" -> null
      - repository = "blog" -> null
      - team_id    = "6797340" -> null
    }

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

  # github_team_repository.this["rust-libp2p maintainers:rust-libp2p-identity"] will be destroyed
  # (because key ["rust-libp2p maintainers:rust-libp2p-identity"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"c7d83d795d7d034221edb73f8b1a5738797be85c63f66f93b2ff4ed85b225cf9\"" -> null
      - id         = "6797340:rust-libp2p-identity" -> null
      - permission = "maintain" -> null
      - repository = "rust-libp2p-identity" -> null
      - team_id    = "6797340" -> null
    }

  # github_team_repository.this["rust-libp2p maintainers:rust-yamux"] will be destroyed
  # (because key ["rust-libp2p maintainers:rust-yamux"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"d679443d5577f782f04663c54f349f9ce0ec3ab82ffaddcc7f21ce8e053f6158\"" -> null
      - id         = "6797340:rust-yamux" -> null
      - permission = "maintain" -> null
      - repository = "rust-yamux" -> null
      - team_id    = "6797340" -> null
    }

  # github_team_repository.this["rust-libp2p maintainers:test-plans"] will be destroyed
  # (because key ["rust-libp2p maintainers:test-plans"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"457fc7ae1deced7e00dd04932b8b26588b736401c623c33080be9139dbb7b58b\"" -> null
      - id         = "6797340:test-plans" -> null
      - permission = "push" -> null
      - repository = "test-plans" -> null
      - team_id    = "6797340" -> null
    }

  # github_team_repository.this["rust-libp2p maintainers:universal-connectivity"] will be destroyed
  # (because key ["rust-libp2p maintainers:universal-connectivity"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"ba1a95f54c4d2ed9f77b21cbfa71d7a95c70377647cf460df98058d3e8c277ab\"" -> null
      - id         = "6797340:universal-connectivity" -> null
      - permission = "maintain" -> null
      - repository = "universal-connectivity" -> null
      - team_id    = "6797340" -> null
    }

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

  # github_team_repository.this["rust-libp2p-contributors:demo-multi-lang"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "demo-multi-lang"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-contributors:notes"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "notes"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-contributors:projects"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "projects"
      + team_id    = (known after apply)
    }

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

  # github_team_repository.this["rust-libp2p-contributors:rust-libp2p-identity"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "rust-libp2p-identity"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-contributors:rust-yamux"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "rust-yamux"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-contributors:test-plans"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "test-plans"
      + team_id    = (known after apply)
    }

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

  # github_team_repository.this["rust-libp2p-maintainers:demo-multi-lang"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "demo-multi-lang"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-maintainers:developer-meetings"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "admin"
      + repository = "developer-meetings"
      + team_id    = (known after apply)
    }

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

  # github_team_repository.this["rust-libp2p-maintainers:notes"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "notes"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-maintainers:projects"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "projects"
      + team_id    = (known after apply)
    }

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

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

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

  # github_team_repository.this["rust-libp2p-maintainers:team-mgmt"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "team-mgmt"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-maintainers:test-plans"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "push"
      + repository = "test-plans"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["rust-libp2p-maintainers:universal-connectivity"] will be created
  + resource "github_team_repository" "this" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "maintain"
      + repository = "universal-connectivity"
      + team_id    = (known after apply)
    }

  # github_team_repository.this["w3dt-stewards:rust-libp2p"] will be destroyed
  # (because key ["w3dt-stewards:rust-libp2p"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"83674e38d0051531e032e0586081da811e985000f89214674420e9b2a938e63d\"" -> null
      - id         = "4657013:rust-libp2p" -> null
      - permission = "admin" -> null
      - repository = "rust-libp2p" -> null
      - team_id    = "4657013" -> null
    }

  # github_team_repository.this["w3dt-stewards:rust-yamux"] will be destroyed
  # (because key ["w3dt-stewards:rust-yamux"] is not in for_each map)
  - resource "github_team_repository" "this" {
      - etag       = "W/\"748b412525d885aa27f03f67cdbd8e574c1b13a41a0d8273fd267b42c77c9d4a\"" -> null
      - id         = "4657013:rust-yamux" -> null
      - permission = "admin" -> null
      - repository = "rust-yamux" -> null
      - team_id    = "4657013" -> null
    }

Plan: 29 to add, 0 to change, 40 to destroy.

@guillaumemichel
Copy link
Contributor

Thanks for the PR @AgeManning.

Before merging the PR, we need to update the permissions for libp2p crates on crates.io since they depend on the existing Github teams. IMO it would make sense to create a maintainers team to be owner of the libp2p crates, and generally manage the repos settings.

- w3dt-stewards
maintain:
- rust-libp2p Maintainers
- sigma-prime
Copy link
Member

Choose a reason for hiding this comment

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

@AgeManning Thanks for creating this PR but my 2 cents is that I like the abstraction that rust-libp2p Maintainers preserves. If a new full time rust-libp2p maintainer is at Shipyard or other org that's not Sigma Prime, it wouldn't be correct to add that new maintainer to the sigma-prime user group; and because they are a full time maintainer, it wouldn't be correct to add them to rust-libp2p-contributors either.

Wdyt about keeping rust-libp2p Maintainers and having that group consist solely of sigma-prime users?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah for sure.

We are adding new people from sigp in the near future. I thought it might be useful to group them under a sigma-prime banner so it was easier to identify people and change if we no longer become maintainers.

More than happy just to keep it general and rename to rust-libp2p-maintainers.

@AgeManning
Copy link
Contributor Author

Thanks for the PR @AgeManning.

Before merging the PR, we need to update the permissions for libp2p crates on crates.io since they depend on the existing Github teams. IMO it would make sense to create a maintainers team to be owner of the libp2p crates, and generally manage the repos settings.

Thanks! I'm assuming these changes need to be done by someone with ownership on crates.io. Not sure how to make those changes.

@guillaumemichel
Copy link
Contributor

@AgeManning, would it be possible to add me to the rust-libp2p-maintainers team? This would allow me to contribute more effectively and increase the bus factor for day-to-day maintenance.

@AgeManning
Copy link
Contributor Author

Yep, added you @guillaumemichel

Copy link
Contributor

@guillaumemichel guillaumemichel left a comment

Choose a reason for hiding this comment

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

This PR should be good to be merged since the Github team url for rust-libp2p-maintainers doesn't change, so it shouldn't affect access on crates.io.

@p-shahi p-shahi merged commit 2642f7d into libp2p:master Oct 8, 2024
6 checks passed
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.

3 participants