336 lines
12 KiB
TypeScript
336 lines
12 KiB
TypeScript
// Repository access configuration
|
|
// Each repository lists all teams and users that should have access and their permission level
|
|
|
|
export interface RepositoryAccess {
|
|
repository: string;
|
|
teams?: Array<{
|
|
team: string; // Team slug
|
|
permission: 'pull' | 'triage' | 'push' | 'maintain' | 'admin';
|
|
}>;
|
|
users?: Array<{
|
|
username: string; // GitHub username
|
|
permission: 'pull' | 'triage' | 'push' | 'maintain' | 'admin';
|
|
}>;
|
|
}
|
|
|
|
export const REPOSITORY_ACCESS: RepositoryAccess[] = [
|
|
{
|
|
repository: 'docs',
|
|
teams: [
|
|
{ team: 'auth-maintainers', permission: 'push' },
|
|
{ team: 'core-maintainers', permission: 'maintain' },
|
|
{ team: 'csharp-sdk', permission: 'push' },
|
|
{ team: 'docs-maintainers', permission: 'push' },
|
|
{ team: 'go-sdk', permission: 'push' },
|
|
{ team: 'ig-financial-services', permission: 'push' },
|
|
{ team: 'interest-groups', permission: 'push' },
|
|
{ team: 'java-sdk', permission: 'push' },
|
|
{ team: 'kotlin-sdk', permission: 'push' },
|
|
{ team: 'moderators', permission: 'push' },
|
|
{ team: 'php-sdk', permission: 'push' },
|
|
{ team: 'python-sdk', permission: 'push' },
|
|
{ team: 'python-sdk-auth', permission: 'push' },
|
|
{ team: 'registry-wg', permission: 'push' },
|
|
{ team: 'ruby-sdk', permission: 'push' },
|
|
{ team: 'rust-sdk', permission: 'push' },
|
|
{ team: 'sdk-maintainers', permission: 'push' },
|
|
{ team: 'security-wg', permission: 'admin' },
|
|
{ team: 'steering-committee', permission: 'push' },
|
|
{ team: 'swift-sdk', permission: 'push' },
|
|
{ team: 'transport-wg', permission: 'push' },
|
|
{ team: 'typescript-sdk', permission: 'push' },
|
|
{ team: 'typescript-sdk-auth', permission: 'push' },
|
|
{ team: 'working-groups', permission: 'push' },
|
|
],
|
|
},
|
|
{
|
|
repository: '.github',
|
|
teams: [
|
|
{ team: 'auth-maintainers', permission: 'triage' },
|
|
{ team: 'core-maintainers', permission: 'maintain' },
|
|
{ team: 'csharp-sdk', permission: 'triage' },
|
|
{ team: 'docs-maintainers', permission: 'triage' },
|
|
{ team: 'go-sdk', permission: 'triage' },
|
|
{ team: 'ig-financial-services', permission: 'triage' },
|
|
{ team: 'interest-groups', permission: 'triage' },
|
|
{ team: 'java-sdk', permission: 'triage' },
|
|
{ team: 'kotlin-sdk', permission: 'triage' },
|
|
{ team: 'moderators', permission: 'push' },
|
|
{ team: 'php-sdk', permission: 'triage' },
|
|
{ team: 'python-sdk', permission: 'triage' },
|
|
{ team: 'python-sdk-auth', permission: 'triage' },
|
|
{ team: 'registry-wg', permission: 'triage' },
|
|
{ team: 'ruby-sdk', permission: 'triage' },
|
|
{ team: 'rust-sdk', permission: 'triage' },
|
|
{ team: 'sdk-maintainers', permission: 'triage' },
|
|
{ team: 'security-wg', permission: 'admin' },
|
|
{ team: 'steering-committee', permission: 'triage' },
|
|
{ team: 'swift-sdk', permission: 'triage' },
|
|
{ team: 'transport-wg', permission: 'triage' },
|
|
{ team: 'typescript-sdk', permission: 'triage' },
|
|
{ team: 'typescript-sdk-auth', permission: 'triage' },
|
|
{ team: 'working-groups', permission: 'triage' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'inspector',
|
|
teams: [
|
|
{ team: 'inspector-maintainers', permission: 'push' },
|
|
{ team: 'auth-maintainers', permission: 'push' },
|
|
{ team: 'core-maintainers', permission: 'maintain' },
|
|
{ team: 'csharp-sdk', permission: 'push' },
|
|
{ team: 'go-sdk', permission: 'push' },
|
|
{ team: 'java-sdk', permission: 'push' },
|
|
{ team: 'kotlin-sdk', permission: 'push' },
|
|
{ team: 'moderators', permission: 'push' },
|
|
{ team: 'php-sdk', permission: 'push' },
|
|
{ team: 'python-sdk', permission: 'push' },
|
|
{ team: 'python-sdk-auth', permission: 'push' },
|
|
{ team: 'registry-wg', permission: 'push' },
|
|
{ team: 'ruby-sdk', permission: 'push' },
|
|
{ team: 'rust-sdk', permission: 'push' },
|
|
{ team: 'sdk-maintainers', permission: 'push' },
|
|
{ team: 'security-wg', permission: 'admin' },
|
|
{ team: 'steering-committee', permission: 'push' },
|
|
{ team: 'swift-sdk', permission: 'push' },
|
|
{ team: 'transport-wg', permission: 'push' },
|
|
{ team: 'typescript-sdk', permission: 'push' },
|
|
{ team: 'typescript-sdk-auth', permission: 'push' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'modelcontextprotocol',
|
|
teams: [
|
|
{ team: 'auth-maintainers', permission: 'push' },
|
|
{ team: 'core-maintainers', permission: 'maintain' },
|
|
{ team: 'csharp-sdk', permission: 'triage' },
|
|
{ team: 'docs-maintainers', permission: 'push' },
|
|
{ team: 'go-sdk', permission: 'triage' },
|
|
{ team: 'ig-financial-services', permission: 'triage' },
|
|
{ team: 'interest-groups', permission: 'triage' },
|
|
{ team: 'java-sdk', permission: 'triage' },
|
|
{ team: 'kotlin-sdk', permission: 'triage' },
|
|
{ team: 'moderators', permission: 'triage' },
|
|
{ team: 'php-sdk', permission: 'triage' },
|
|
{ team: 'python-sdk', permission: 'triage' },
|
|
{ team: 'python-sdk-auth', permission: 'triage' },
|
|
{ team: 'registry-wg', permission: 'triage' },
|
|
{ team: 'ruby-sdk', permission: 'triage' },
|
|
{ team: 'rust-sdk', permission: 'triage' },
|
|
{ team: 'sdk-maintainers', permission: 'triage' },
|
|
{ team: 'security-wg', permission: 'admin' },
|
|
{ team: 'steering-committee', permission: 'triage' },
|
|
{ team: 'swift-sdk', permission: 'triage' },
|
|
{ team: 'transport-wg', permission: 'triage' },
|
|
{ team: 'typescript-sdk', permission: 'triage' },
|
|
{ team: 'typescript-sdk-auth', permission: 'triage' },
|
|
{ team: 'working-groups', permission: 'triage' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'quickstart-resources',
|
|
teams: [
|
|
{ team: 'auth-maintainers', permission: 'push' },
|
|
{ team: 'core-maintainers', permission: 'maintain' },
|
|
{ team: 'csharp-sdk', permission: 'push' },
|
|
{ team: 'docs-maintainers', permission: 'push' },
|
|
{ team: 'go-sdk', permission: 'push' },
|
|
{ team: 'ig-financial-services', permission: 'push' },
|
|
{ team: 'interest-groups', permission: 'push' },
|
|
{ team: 'java-sdk', permission: 'push' },
|
|
{ team: 'kotlin-sdk', permission: 'push' },
|
|
{ team: 'moderators', permission: 'push' },
|
|
{ team: 'php-sdk', permission: 'push' },
|
|
{ team: 'python-sdk', permission: 'push' },
|
|
{ team: 'python-sdk-auth', permission: 'push' },
|
|
{ team: 'registry-wg', permission: 'push' },
|
|
{ team: 'ruby-sdk', permission: 'push' },
|
|
{ team: 'rust-sdk', permission: 'push' },
|
|
{ team: 'sdk-maintainers', permission: 'push' },
|
|
{ team: 'security-wg', permission: 'admin' },
|
|
{ team: 'steering-committee', permission: 'push' },
|
|
{ team: 'swift-sdk', permission: 'push' },
|
|
{ team: 'transport-wg', permission: 'push' },
|
|
{ team: 'typescript-sdk', permission: 'push' },
|
|
{ team: 'typescript-sdk-auth', permission: 'push' },
|
|
{ team: 'working-groups', permission: 'push' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'servers',
|
|
teams: [
|
|
{ team: 'auth-maintainers', permission: 'push' },
|
|
{ team: 'core-maintainers', permission: 'admin' },
|
|
{ team: 'csharp-sdk', permission: 'push' },
|
|
{ team: 'docs-maintainers', permission: 'push' },
|
|
{ team: 'go-sdk', permission: 'push' },
|
|
{ team: 'java-sdk', permission: 'push' },
|
|
{ team: 'kotlin-sdk', permission: 'push' },
|
|
{ team: 'moderators', permission: 'push' },
|
|
{ team: 'php-sdk', permission: 'push' },
|
|
{ team: 'python-sdk', permission: 'push' },
|
|
{ team: 'python-sdk-auth', permission: 'push' },
|
|
{ team: 'registry-wg', permission: 'push' },
|
|
{ team: 'ruby-sdk', permission: 'push' },
|
|
{ team: 'rust-sdk', permission: 'push' },
|
|
{ team: 'sdk-maintainers', permission: 'push' },
|
|
{ team: 'security-wg', permission: 'admin' },
|
|
{ team: 'steering-committee', permission: 'push' },
|
|
{ team: 'swift-sdk', permission: 'push' },
|
|
{ team: 'transport-wg', permission: 'push' },
|
|
{ team: 'typescript-sdk', permission: 'push' },
|
|
{ team: 'typescript-sdk-auth', permission: 'push' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'csharp-sdk',
|
|
teams: [{ team: 'csharp-sdk', permission: 'admin' }],
|
|
users: [
|
|
{ username: 'jeffhandley', permission: 'admin' },
|
|
{ username: 'MackinnonBuck', permission: 'admin' },
|
|
{ username: 'jozkee', permission: 'admin' },
|
|
{ username: 'PederHP', permission: 'triage' },
|
|
{ username: 'tarekgh', permission: 'push' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'go-sdk',
|
|
teams: [{ team: 'go-sdk', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'java-sdk',
|
|
teams: [{ team: 'java-sdk', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'kotlin-sdk',
|
|
teams: [{ team: 'kotlin-sdk', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'php-sdk',
|
|
teams: [{ team: 'php-sdk', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'python-sdk',
|
|
teams: [
|
|
{ team: 'python-sdk', permission: 'admin' },
|
|
{ team: 'python-sdk-auth', permission: 'admin' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'ruby-sdk',
|
|
teams: [{ team: 'ruby-sdk', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'rust-sdk',
|
|
teams: [{ team: 'rust-sdk', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'swift-sdk',
|
|
teams: [{ team: 'swift-sdk', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'typescript-sdk',
|
|
teams: [
|
|
{ team: 'typescript-sdk', permission: 'admin' },
|
|
{ team: 'typescript-sdk-auth', permission: 'admin' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'create-python-server',
|
|
teams: [
|
|
{ team: 'python-sdk', permission: 'admin' },
|
|
{ team: 'python-sdk-auth', permission: 'admin' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'create-typescript-server',
|
|
teams: [
|
|
{ team: 'typescript-sdk', permission: 'admin' },
|
|
{ team: 'typescript-sdk-auth', permission: 'admin' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'registry',
|
|
teams: [{ team: 'registry-wg', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'static',
|
|
teams: [{ team: 'registry-wg', permission: 'push' }],
|
|
},
|
|
{
|
|
repository: 'financial-services-interest-group',
|
|
teams: [{ team: 'ig-financial-services', permission: 'admin' }],
|
|
users: [
|
|
{ username: 'aniabot', permission: 'pull' },
|
|
{ username: 'imfing', permission: 'triage' },
|
|
{ username: 'KengoA', permission: 'triage' },
|
|
{ username: 'nitsanh', permission: 'pull' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'ext-auth',
|
|
teams: [{ team: 'auth-maintainers', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'ext-apps',
|
|
teams: [
|
|
{ team: 'core-maintainers', permission: 'push' },
|
|
{ team: 'moderators', permission: 'triage' },
|
|
{ team: 'mcp-apps-wg', permission: 'push' },
|
|
{ team: 'mcp-apps-sdk', permission: 'admin' },
|
|
],
|
|
users: [
|
|
{ username: 'ststrong', permission: 'admin' },
|
|
{ username: 'martinalong', permission: 'push' },
|
|
{ username: 'conorkel', permission: 'admin' },
|
|
{ username: 'alexi-openai', permission: 'admin' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'use-mcp',
|
|
teams: [
|
|
{ team: 'core-maintainers', permission: 'push' },
|
|
{ team: 'moderators', permission: 'triage' },
|
|
],
|
|
users: [{ username: 'geelen', permission: 'admin' }],
|
|
},
|
|
{
|
|
repository: 'example-remote-client',
|
|
teams: [
|
|
{ team: 'core-maintainers', permission: 'push' },
|
|
{ team: 'moderators', permission: 'triage' },
|
|
],
|
|
users: [
|
|
{ username: 'geelen', permission: 'push' },
|
|
{ username: 'markyfyi', permission: 'push' },
|
|
{ username: 'jerryhong1', permission: 'push' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'experimental-ext-grouping',
|
|
teams: [
|
|
{ team: 'core-maintainers', permission: 'admin' },
|
|
{ team: 'moderators', permission: 'triage' },
|
|
{ team: 'primitive-grouping-ig', permission: 'admin' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'experimental-ext-skills',
|
|
teams: [
|
|
{ team: 'core-maintainers', permission: 'admin' },
|
|
{ team: 'moderators', permission: 'triage' },
|
|
{ team: 'skills-over-mcp-ig', permission: 'admin' },
|
|
],
|
|
},
|
|
{
|
|
repository: 'governance',
|
|
teams: [
|
|
{ team: 'lead-maintainers', permission: 'maintain' },
|
|
{ team: 'core-maintainers', permission: 'maintain' },
|
|
],
|
|
users: [{ username: 'sambhav', permission: 'admin' }],
|
|
},
|
|
];
|
|
|
|
// GitHub Projects V2 permissions are NOT managed by Pulumi - no support yet
|
|
// See: https://github.com/pulumi/pulumi-github/issues/1006
|