NixOS/infra

Declarative GitHub configuration tool

Opened this issue · 2 comments

Is your feature request related to a problem? Please describe.

The GitHub permission model is not fine-grained enough. Only org owners can change settings everywhere. This means that the infra team either all get org owner and have the take over or delete the org (I'm thinking if their account gets hacked for example). Or they can't handle all of the requests that teams have.

Clicking around in the GitHub UI is also a bad thing. There are too many opportunities to mess things up by mistake. And the changes are not visible to everybody so it can take a while to know what changed.

Describe the solution you'd like

I would like us to deploy a tool that can run and apply configuration declared in a public repo.

It could be as simple as a bunch of Terraform code using the GitHub provider, and executed by GitHub Actions.

Or we deploy something like https://github.com/uwu-tools/peribolos

Describe alternatives you've considered

Giving all the admins org owner, with the caveat listed above.

Additional context

This has been a recurring issue. See for example:

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/policy-change-pushing-to-protected-branches-is-now-blocked/31719/23

POC: #360