in deployment/lib/identities.ts [18:54]
constructor(stack: Stack, props: IdentitiesProps) {
const buildRole = props.useExistingRoles
? Identities.roleFromName(stack, Identities.BUILD_ROLE_NAME)
: new Role(stack, Identities.BUILD_ROLE_NAME, {
roleName: Identities.BUILD_ROLE_NAME,
assumedBy: props.buildAgentPrinciple,
});
const bundleRole = props.useExistingRoles
? Identities.roleFromName(stack, Identities.BUNDLE_ROLE_NAME)
: new Role(stack, Identities.BUNDLE_ROLE_NAME, {
roleName: Identities.BUNDLE_ROLE_NAME,
assumedBy: props.buildAgentPrinciple,
});
const testRole = props.useExistingRoles
? Identities.roleFromName(stack, Identities.TEST_ROLE_NAME)
: new Role(stack, Identities.TEST_ROLE_NAME, {
roleName: Identities.TEST_ROLE_NAME,
assumedBy: props.buildAgentPrinciple,
});
props.buildBucket.grantPut(buildRole, '*/builds/*');
props.buildBucket.grantRead(bundleRole, '*/builds/*');
props.buildBucket.grantPut(bundleRole, '*/builds/*');
props.buildBucket.grantRead(bundleRole, '*/shas/*');
props.buildBucket.grantPut(bundleRole, '*/shas/*');
props.buildBucket.grantRead(bundleRole, '*/dist/*');
props.buildBucket.grantPut(bundleRole, '*/dist/*');
props.buildBucket.grantRead(testRole, '*/dist/*');
props.buildBucket.grantPut(testRole, '*/dist/*/tests/*');
props.buildBucket.grantPut(testRole, '*/test-results/*');
}