github.com/abayer/test-infra@v0.0.5/prow/cmd/peribolos/README.md (about) 1 # Not implemented 2 3 WARNING: none of this code works yet. Implementation will follow later 4 5 # Peribolos Documentation 6 7 Peribolos allows the org settings, teams and memberships to be declared in a yaml file. Github is then updated to match the declared configuration. 8 9 ### Etymology 10 11 A [peribolos] is a wall that encloses a court in Greek/Roman architecture. 12 13 ## Org configuration 14 15 Extend the primary prow [`config.yaml`] document to include a top-level `orgs` key that looks like the following: 16 17 ```yaml 18 orgs: 19 this-org: 20 # org settings 21 company: foo 22 email: foo 23 name: foo 24 description: foo 25 has_organization_projects: true 26 has_repository_projects: true 27 default_repository_permission: read 28 members_can_create_repositories: false 29 30 # org member settings 31 members: 32 - anne 33 - bob 34 admins: 35 - carl 36 37 # team settings 38 teams: 39 node: 40 # team config 41 description: people working on node backend 42 privacy: closed 43 previously: 44 - backend # If a backend team exists, rename it to node 45 46 # team members 47 members: 48 - anne 49 maintainers: 50 - jane 51 another-team: 52 ... 53 ... 54 that-org: 55 ... 56 ``` 57 58 This config will: 59 * Ensure the org settings match the following: 60 - Set the company, email, name and descriptions fields for the org to foo 61 - Allow projects to be created at the org and repo levels 62 - Give everyone read access to repos by default 63 - Disallow members from creating repositories 64 * Ensure the following memberships exist: 65 - anne and bob are members, carl is an admin 66 * Configure the node and another-team in the following manner: 67 - Set node's description and privacy setting. 68 - Rename the backend team to node 69 - Add anne as a member and jane as a maintainer to node 70 - Similar things for another-team (details elided) 71 72 Note that any fields missing from the config will not be managed by peribolos. So if description is missing from the org setting, the current value will remain. 73 74 For more details please see GitHub documentation around [edit org], [update org membership], [edit team], [update team membership]. 75 76 77 [`config.yaml`]: /prow/config.yaml 78 [edit team]: https://developer.github.com/v3/teams/#edit-team 79 [edit org]: https://developer.github.com/v3/orgs/#edit-an-organization 80 [peribolos]: https://en.wikipedia.org/wiki/Peribolos 81 [update org membership]: https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership 82 [update team membership]: https://developer.github.com/v3/teams/members/#add-or-update-team-membership