Closed petermetz closed 3 months ago
Hi @petermetz 👋
As you mentioned, this would introduce a lot of complexity and we'd like to keep this tool as simple as possible for now.
I understand your use case and makes sense, but supporting per repository state files is out of the scope of CLOWarden at the moment. Actually, one of the main reasons this project was created was to keep all permissions across an organization centralized in a single location.
It may not be exactly what you need, but maybe this can help:
https://github.com/apps/settings
Thanks for the suggestion anyway! 🙂
@tegioz Makes perfect sense! Thank you for the detailed explanation and the follow-up advice! :-)
I'd like to gauge interest for accepting a contribution that would allow CLO warden to have the state (users, teams) stored in yaml files on a per repository basis:
I understand that this might be adding a lot of complexity to the codebase and therefore might be undesired or better suited for a standalone project, but I figured it's worth to at least ask.
As a (rough) example
MyCoolOrg
would haveCoolProjectA
and CoolProjectBrepositories with maintainers
PersonAand
PersonB` respectively.There are two teams defined to contain the maintainers of each repository mentioned above:
maintainers-a
andmaintainers-b
Then the configuration files could look like this, allowing each maintainer to manage their own repositories' teams, but not the others:
root-state.yaml
state.yaml in repository
CoolProjectA
state.yaml in repository
CoolProjectB
The end result of this setup would be that if
PersonB
tries to declare new team members inmaintainers-a
in the state.yaml file that they control (the state file ofCoolProjectB
) then that would fail because the root .yaml file doesn't declare that permission.