A GitHub team is a named group of organization members used to track team membership and derive authorization through GitHub authentication. In a platform environment, it can serve as the membership source for access to control-plane services and clusters. section 8.5
A platform can use GitHub teams to:
- Authenticate users through OIDC and authorize them according to their GitHub team. section 8.5
- Bind a platform-building team to cluster permissions with a ClusterRoleBinding. section 8.5
- Trigger onboarding automation that creates environment-specific namespaces and RoleBindings for a customer team, such as payments-dev, payments-qa, payments-preview, and payments-prod. section 8.5
Figure 8.9 A “teams” API can be the interface to onboard a team and maintain the authoritative database for customer teams. This API will maintain the correct RoleBindings on the respective clusters. It can also populate the “sync team” events stream to which other services can subscribe.
A teams API can make team onboarding and membership authoritative while maintaining cluster RoleBindings and publishing synchronization events for other services. section 8.5
