Skip to content

GitHub Permissions for TODO Group Repos #106

@gtback

Description

@gtback

Org-level

  • Enforce 2FA
  • Default to read
  • Create process for requesting repo creation
    • Disable repo creation for non-org owners
  • Add Steering members as org admins
    • Add to SC onboarding template
  • Create process for becoming an org admin
  • Enable Allstar to report compliance with the following:
    • repo has branch protection
    • repo does not have checked-in binaries
    • repo does not have outside collaborators
    • repo has a SECURITY.md

Repo permissions

  • Create teams to administer repos:
    • repo-name-admins: has admin role
    • repo-name-maintainers: has maintain role
  • Enable branch protection for all repos: branch protection rules #69
  • Add CODEOWNERS with newly-created repo teams
  • Disable outside collaborators once they have been reflected in repo-name-maintainers or repo-name-admins

(Original text from @gtback)

👋🏻 Hi!

We started talking about this at the Work Day today, but these are questions best answered by the Steering Committee. I think most of these can be set here. I get a 404 error because I'm not an owner of the TODO Group org, but that matches what it is for other orgs I'm an owner of.

  1. What should the "Base Permissions" be set to for all repos in the org? I'm guessing it's "Read" now, but could possibly be changed to "Write"? Are there repos that we don't want members to be able to push to (like governance, perhaps)? Or would branch protection rules (requiring a review from someone in the @todogroup/steering-committee team or via CODEOWNERS) be OK? If not, I think we'd need to create a team for "All Members" and give that team Write permissions on repos we want people to be able to edit.
  2. Should anyone in the organization be able to create new repos ("Repository creation")? That seems to the be the current setting, and I think it's fine, but wanted to be explicit.
  3. Should the "Owners" of the org be all the Steering committee members, or does it make sense to keep these lists separate?
  4. Are there other Teams that make sense to add to manage permissions? I generally think Team permissions (either for the whole organization via Base Permissions or via teams added to specific repos) are more scalable than adding people individually to repos.

(I don't mind helping out with some of these permission/maintenance issues, once things are decided.)

Metadata

Metadata

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions