Skip to content

feat(amplify): add compute role support for Amplify app #33962

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
May 21, 2025

Conversation

mazyu36
Copy link
Contributor

@mazyu36 mazyu36 commented Mar 28, 2025

Issue # (if applicable)

Closes #33882 .

Reason for this change

To support compute role for SSR app.

Description of changes

  • Add computeRole property.
  • Changed to automatically create compute role when SSR App is created.

Describe any new or updated permissions being added

N/A

Description of how you validated changes

Add unit tests and an integ test.

Checklist

BREAKING CHANGE: A compute role is created when platform is Platform.WEB_COMPUTE or Platform.WEB_DYNAMIC.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@aws-cdk-automation aws-cdk-automation requested a review from a team March 28, 2025 13:09
@github-actions github-actions bot added effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 distinguished-contributor [Pilot] contributed 50+ PRs to the CDK labels Mar 28, 2025
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This review is outdated)

Copy link

codecov bot commented Mar 28, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 83.98%. Comparing base (74cbe27) to head (faa392f).
Report is 56 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #33962   +/-   ##
=======================================
  Coverage   83.98%   83.98%           
=======================================
  Files         120      120           
  Lines        6976     6976           
  Branches     1178     1178           
=======================================
  Hits         5859     5859           
  Misses       1005     1005           
  Partials      112      112           
Flag Coverage Δ
suite.unit 83.98% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
packages/aws-cdk ∅ <ø> (∅)
packages/aws-cdk-lib/core 83.98% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

mergify bot pushed a commit that referenced this pull request Apr 7, 2025
…ld in `customRule` (#33973)

### Issue # (if applicable)

N/A

I found this problem while working on #33962.

### Reason for this change
Re-running `packages/@aws-cdk/aws-amplify-alpha/test/integ.app.ts`, got the following error:

```sh
Resource handler returned message: "Invalid request provided: Status field in rewrite custom rules should not be empty (Service: Amplify, Status Code: 400, Request ID: 3f3694f1-3eeb-4af3-8cdf-8b77b6387e57) (SDK Attempt Count: 1)" (RequestToken: 5748aef8-c0e1-1a1d-ab27-1bab938e0bd3, HandlerErrorCode: InvalidRequest)
```

If `status` is omitted in `customRules`, `App` cannot be deployed.



### Description of changes
Specify `status` property in integ test.



### Describe any new or updated permissions being added
N/A




### Description of how you validated changes
Re-ran integ test.



### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@aws-cdk-automation aws-cdk-automation dismissed their stale review April 8, 2025 13:33

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@mazyu36 mazyu36 marked this pull request as ready for review April 8, 2025 13:38
/**
* The IAM role for an SSR app.
* The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions.
* @default undefined - a new role is created when `platform` is `Platform.WEB_COMPUTE` or `Platform.WEB_DYNAMIC`, otherwise no compute role
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the compute role is used when SSR apps access AWS resources, I thought it would be more user-friendly to auto-generate it.

Ref: https://aws.amazon.com/jp/blogs/mobile/iam-compute-roles-for-server-side-rendering-with-aws-amplify-hosting/

Please let me know if you have any opinions on this.

@aws-cdk-automation aws-cdk-automation added the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Apr 9, 2025
Copy link
Contributor

@badmintoncryer badmintoncryer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution! I've made a nit comment and I think this is good to go.

Comment on lines 28 to 29
enableLookups: true,
stackUpdateWorkflow: false,
Copy link
Contributor

@badmintoncryer badmintoncryer Apr 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these options needed? This is not a blocking comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I've removed.

@aws-cdk-automation aws-cdk-automation added pr/needs-maintainer-review This PR needs a review from a Core Team Member and removed pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. labels Apr 16, 2025
@paulhcsun paulhcsun added the needs-security-review Related to feature or issues that needs security review label May 14, 2025
paulhcsun
paulhcsun previously approved these changes May 14, 2025
Copy link
Contributor

@paulhcsun paulhcsun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution @mazyu36 and thanks for reviewing @badmintoncryer!

The changes look good to me and change is creating a minimal default role for the compute role. We will bring this up as a low-risk change for a security review but I don't expect there to be any issues. I will approve for now and then remove the do-not-merge label and merge once the security review is complete.

@paulhcsun paulhcsun added the pr/do-not-merge This PR should not be merged at this time. label May 14, 2025
@mergify mergify bot dismissed paulhcsun’s stale review May 14, 2025 00:54

Pull request has been modified.

paulhcsun
paulhcsun previously approved these changes May 14, 2025
@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label May 14, 2025
@mazyu36
Copy link
Contributor Author

mazyu36 commented May 14, 2025

@Mergifyio update

Copy link
Contributor

mergify bot commented May 14, 2025

update

❌ Mergify doesn't have permission to update

For security reasons, Mergify can't update this pull request. Try updating locally.
GitHub response: refusing to allow a GitHub App to create or update workflow .github/workflows/README.md without workflows permission

@mergify mergify bot dismissed paulhcsun’s stale review May 14, 2025 06:41

Pull request has been modified.

@aws-cdk-automation aws-cdk-automation added the pr/needs-maintainer-review This PR needs a review from a Core Team Member label May 14, 2025
@paulhcsun paulhcsun removed the pr/do-not-merge This PR should not be merged at this time. label May 21, 2025
@paulhcsun
Copy link
Contributor

Security review is good! Thanks again for the contribution!

@Mergifyio update

@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label May 21, 2025
Copy link
Contributor

mergify bot commented May 21, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 45df95a
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify mergify bot merged commit 7490b92 into aws:main May 21, 2025
16 checks passed
Copy link
Contributor

mergify bot commented May 21, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

Copy link
Contributor

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 21, 2025
@mazyu36 mazyu36 deleted the feature/amplify-compute-role branch May 21, 2025 23:30
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
distinguished-contributor [Pilot] contributed 50+ PRs to the CDK effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. needs-security-review Related to feature or issues that needs security review p2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(aws-amplify-alpha): Amplify SSR compute role support
4 participants