@deployfoundation/foundation-deploy 0.2.53 → 0.2.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin/app.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  FoundationPages,
9
9
  FoundationPipeline,
10
10
  NewsletterStack
11
- } from "../chunk-spq5kr1t.js";
11
+ } from "../chunk-tfn9tvaa.js";
12
12
  import"../chunk-pxhftba1.js";
13
13
  import"../chunk-dz91avrb.js";
14
14
  import {
@@ -2736,6 +2736,13 @@ class FoundationNetwork extends cdk5.Stack {
2736
2736
  actions: ["s3:GetObject"],
2737
2737
  resources: [`arn:${this.partition}:s3:::prod-${this.region}-starport-layer-bucket/*`]
2738
2738
  }));
2739
+ s3Endpoint.addToPolicy(new iam6.PolicyStatement({
2740
+ sid: "AmplifyArtifactsBucket",
2741
+ effect: iam6.Effect.ALLOW,
2742
+ principals: [new iam6.AnyPrincipal],
2743
+ actions: ["s3:GetObject"],
2744
+ resources: [`arn:${this.partition}:s3:::aws-amplify-prod-${this.region}-artifacts/*`]
2745
+ }));
2739
2746
  }
2740
2747
  if (!skipEndpoints.has("dynamodb")) {
2741
2748
  const dynamoEndpoint = this.vpc.addGatewayEndpoint("DynamoDbEndpoint", {
package/dist/src/index.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  FoundationPipeline,
11
11
  NewsletterStack,
12
12
  deployStatements
13
- } from "../chunk-spq5kr1t.js";
13
+ } from "../chunk-tfn9tvaa.js";
14
14
  import {
15
15
  BUN_VERSION,
16
16
  LAMBDA_ENTRY_POINTS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deployfoundation/foundation-deploy",
3
- "version": "0.2.53",
3
+ "version": "0.2.54",
4
4
  "description": "Deploys one Foundation instance from a published, signed release: the CDK app and the deploy tool.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
@@ -247,6 +247,21 @@ export class FoundationNetwork extends cdk.Stack {
247
247
  resources: [`arn:${this.partition}:s3:::prod-${this.region}-starport-layer-bucket/*`],
248
248
  }),
249
249
  );
250
+ // Amplify serves build and deploy logs the same way: `amplify:GetJob`
251
+ // returns a URL presigned by Amplify into an AWS-owned bucket, so the
252
+ // same-account rule refused it with 403. Olivia then could not read why
253
+ // GrowLab's frontend build failed and asked for the error 19 times while
254
+ // a Node-version break kept every release out of production
255
+ // (2026-10-26). Read-only, and only that bucket's objects.
256
+ s3Endpoint.addToPolicy(
257
+ new iam.PolicyStatement({
258
+ sid: "AmplifyArtifactsBucket",
259
+ effect: iam.Effect.ALLOW,
260
+ principals: [new iam.AnyPrincipal()],
261
+ actions: ["s3:GetObject"],
262
+ resources: [`arn:${this.partition}:s3:::aws-amplify-prod-${this.region}-artifacts/*`],
263
+ }),
264
+ );
250
265
  }
251
266
  if (!skipEndpoints.has("dynamodb")) {
252
267
  const dynamoEndpoint = this.vpc.addGatewayEndpoint("DynamoDbEndpoint", {