RFC: Manage the org programatically
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 48
- Forks
- 36
- Avg merge
- 2m
- Merged PRs (30d)
- 3
Description
A while back, @infinisil and I considered managing the GitHub Organization as code. To get something out quickly, we decided to start with today's text-only format.
The vision for the code approach was that any members could submit PRs to change their team membership instead of asking us to do the changes manually. Assuming CI is applying the changes, this would allow the SC to delegate ownership of the org more effectively while maintaining a level of transparency since all the changes are happening through code now. The "org" team can still be around as a fallback but doesn't need to be invoked as often.
A few months back, I met with the wonderful people behind https://www.ipdx.co/ (@galargh and @laurentsenta), and they have a ready-made solution: https://github.com/ipdxco/github-as-code . It works both ways: the data model updates the GitHub org settings, and the org setting changes also update the data model. It's based on Terraform.
Before doing anything, I'd like to get the feedback of the SC and other org owners on whether that would be a good idea. Let me know if I should get into more details.
In terms of migration paths, I see something like this:
- Configure a new Terraform backend in AWS with the Infra team.
- Fork https://github.com/ipdxco/github-as-code as an org-2 repo.
- Setup CI.
- Leave the nixpkgs-maintainers team out of this for now, since it is managed by a separate bot.
- Party!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the proposed ipdxco/github-as-code approach and the migration steps in this issue, including the AWS Terraform backend and CI setup. Done would require agreement from the SC and org owners on whether to adopt the approach and a concrete implementation plan; no project files or tests are identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, github, terraform
- Domain
- cloud, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100