@venturekit/infra 0.0.0-dev.20260701100017 → 0.0.1

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.
@@ -34,7 +34,9 @@
34
34
  * (id `'rate-limits'`)
35
35
  * - `dataKeys.cacheEndpoint` / `cachePort` / `cacheSecurityGroupId`
36
36
  * per cache id
37
- * - `dataKeys.internalHmacSecretArn`
37
+ *
38
+ * The internal Lambda-to-Lambda HMAC signing key is owned by the
39
+ * APP stack, not here — see the breadcrumb in the constructor.
38
40
  *
39
41
  * Outputs (`cdk.CfnOutput`) are deliberately NOT used — see plan §3.
40
42
  *
@@ -64,7 +66,6 @@ import * as ec2 from 'aws-cdk-lib/aws-ec2';
64
66
  import * as rds from 'aws-cdk-lib/aws-rds';
65
67
  import * as s3 from 'aws-cdk-lib/aws-s3';
66
68
  import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
67
- import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
68
69
  import { Construct } from 'constructs';
69
70
  import { type EnvConfig, type VentureIntent } from '@venturekit/core';
70
71
  export interface VentureDataStackProps extends cdk.StackProps {
@@ -163,8 +164,6 @@ export declare class VentureDataStack extends cdk.Stack {
163
164
  * when no `databases` intent is declared.
164
165
  */
165
166
  readonly rateLimitTable: dynamodb.Table;
166
- /** Internal HMAC secret used by `@venturekit/auth/runtime`. */
167
- readonly internalHmacSecret: secretsmanager.Secret;
168
167
  /**
169
168
  * Captured once in the constructor and reused by every private
170
169
  * `create…` method. Avoids re-deriving from `envConfig.dataSafety`
@@ -1 +1 @@
1
- {"version":3,"file":"data-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/data-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM1F,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,UAAU;IAC3D,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,iEAAiE;IACjE,SAAS,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,cAAc,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;IAEf,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAAU,CAAC,EAAE;QACX,gEAAgE;QAChE,UAAU,EAAE,MAAM,CAAC;QAEnB;;;;WAIG;QACH,YAAY,EAAE,MAAM,CAAC;QAErB;;;;;WAKG;QACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;KAClC,CAAC;CACH;AAgCD,qBAAa,gBAAiB,SAAQ,GAAG,CAAC,KAAK;IAC7C;;;;;;OAMG;IACH,SAAgB,SAAS,EAAE,GAAG,CAC5B,MAAM,EACN;QAAE,QAAQ,EAAE,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,4BAA4B,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CACnF,CAAa;IAEd,SAAgB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC,CAAa;IAErF,SAAgB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAa;IAEtE;;;OAGG;IACH,SAAgB,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC;IAE/C,+DAA+D;IAC/D,SAAgB,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC;IAE1D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAsC;IAExE,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IA2FtE,OAAO,CAAC,cAAc;IAkKtB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,oBAAoB;IA0C5B,OAAO,CAAC,aAAa;IA8GrB,OAAO,CAAC,WAAW;CAkEpB"}
1
+ {"version":3,"file":"data-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/data-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM1F,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,UAAU;IAC3D,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,iEAAiE;IACjE,SAAS,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,cAAc,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;IAEf,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAAU,CAAC,EAAE;QACX,gEAAgE;QAChE,UAAU,EAAE,MAAM,CAAC;QAEnB;;;;WAIG;QACH,YAAY,EAAE,MAAM,CAAC;QAErB;;;;;WAKG;QACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;KAClC,CAAC;CACH;AAgCD,qBAAa,gBAAiB,SAAQ,GAAG,CAAC,KAAK;IAC7C;;;;;;OAMG;IACH,SAAgB,SAAS,EAAE,GAAG,CAC5B,MAAM,EACN;QAAE,QAAQ,EAAE,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,4BAA4B,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CACnF,CAAa;IAEd,SAAgB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC,CAAa;IAErF,SAAgB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAa;IAEtE;;;OAGG;IACH,SAAgB,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAsC;IAExE,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IA6EtE,OAAO,CAAC,cAAc;IAiMtB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,oBAAoB;IA0C5B,OAAO,CAAC,aAAa;IA8GrB,OAAO,CAAC,WAAW;CAkEpB"}
@@ -34,7 +34,9 @@
34
34
  * (id `'rate-limits'`)
35
35
  * - `dataKeys.cacheEndpoint` / `cachePort` / `cacheSecurityGroupId`
36
36
  * per cache id
37
- * - `dataKeys.internalHmacSecretArn`
37
+ *
38
+ * The internal Lambda-to-Lambda HMAC signing key is owned by the
39
+ * APP stack, not here — see the breadcrumb in the constructor.
38
40
  *
39
41
  * Outputs (`cdk.CfnOutput`) are deliberately NOT used — see plan §3.
40
42
  *
@@ -65,7 +67,6 @@ import * as rds from 'aws-cdk-lib/aws-rds';
65
67
  import * as s3 from 'aws-cdk-lib/aws-s3';
66
68
  import * as elasticache from 'aws-cdk-lib/aws-elasticache';
67
69
  import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
68
- import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
69
70
  import * as iam from 'aws-cdk-lib/aws-iam';
70
71
  import { DATA_SAFETY_CONFIG } from '@venturekit/core';
71
72
  import * as path from 'path';
@@ -116,8 +117,6 @@ export class VentureDataStack extends cdk.Stack {
116
117
  * when no `databases` intent is declared.
117
118
  */
118
119
  rateLimitTable;
119
- /** Internal HMAC secret used by `@venturekit/auth/runtime`. */
120
- internalHmacSecret;
121
120
  /**
122
121
  * Captured once in the constructor and reused by every private
123
122
  * `create…` method. Avoids re-deriving from `envConfig.dataSafety`
@@ -151,27 +150,18 @@ export class VentureDataStack extends cdk.Stack {
151
150
  this.logRetentionDays = envConfig.observability.logs.retentionDays;
152
151
  this.natType = envConfig.vpc.natType;
153
152
  const isStrictRetain = this.isStrictRetain;
154
- // ─── Internal HMAC secret ────────────────────────────────────
155
- // CloudFormation auto-generates a 64-char alphanumeric value on
156
- // first deploy and preserves it across stack updates. The value
157
- // is consumed by `@venturekit/auth/runtime` for signing internal
158
- // Lambda-to-Lambda state tokens; the app stack reads the secret's
159
- // ARN via SSM and either fetches the value at cold start (default)
160
- // or for stages where the SM round-trip latency matters —
161
- // injects the value as a Lambda env var directly.
162
- this.internalHmacSecret = new secretsmanager.Secret(this, 'internalHmacSecret', {
163
- secretName: `venturekit/${projectName}/${stage}/internal-hmac`,
164
- description: 'VentureKit internal Lambda-to-Lambda HMAC signing key. Auto-generated.',
165
- generateSecretString: {
166
- passwordLength: 64,
167
- excludePunctuation: true,
168
- excludeCharacters: '"\'\\/',
169
- requireEachIncludedType: false,
170
- includeSpace: false,
171
- },
172
- removalPolicy: isStrictRetain ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY,
173
- });
174
- writeSsm(this, dataKeys.internalHmacSecretArn(projectName, stage), this.internalHmacSecret.secretArn, { description: 'Internal HMAC secret ARN' });
153
+ // ─── Internal HMAC secret: owned by the APP stack ───────────
154
+ // The Lambda-to-Lambda HMAC signing key is created in the APP
155
+ // stack (`VentureAppStack.internalHmacSecret`), which injects its
156
+ // VALUE as `VENTURE_INTERNAL_HMAC_SECRET` the only thing
157
+ // `@venturekit/runtime` reads. It is app-tier (its lifetime
158
+ // tracks the Lambdas that use it). It is deliberately NOT created
159
+ // here: both stacks deploy together for any data-bearing project,
160
+ // so a second `AWS::SecretsManager::Secret` with the same
161
+ // `secretName` would collide at CreateSecret, and the data-stack
162
+ // copy was never consumed (the published SSM ARN had no reader).
163
+ // See plan finding WA4. The HMAC rotation runbook lives alongside
164
+ // the secret in `app-stack.ts`.
175
165
  // ─── Databases ───────────────────────────────────────────────
176
166
  if (infrastructure.databases) {
177
167
  for (const intent of infrastructure.databases) {
@@ -234,6 +224,11 @@ export class VentureDataStack extends cdk.Stack {
234
224
  instanceType,
235
225
  vpc,
236
226
  vpcSubnets: { subnetType },
227
+ // Never give the DB a public IP. CDK already defaults this to
228
+ // false for private/isolated subnet placement, but pinning it
229
+ // explicitly makes the no-public-endpoint posture intentional and
230
+ // testable (a future subnet-type change can't silently flip it).
231
+ publiclyAccessible: false,
237
232
  removalPolicy: isStrictRetain ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY,
238
233
  // Native RDS deletion protection — CFN-level RETAIN doesn't
239
234
  // block console / CLI deletes; this flag does.
@@ -280,6 +275,30 @@ export class VentureDataStack extends cdk.Stack {
280
275
  }
281
276
  }
282
277
  }
278
+ // ─── Optional credential rotation (S5) ──────────────────────
279
+ // RDS master credentials are generated once and, by default, never
280
+ // rotate. Opt in per database with `credentialRotationDays`: CDK
281
+ // deploys the AWS-managed single-user rotation (a rotation Lambda +
282
+ // a Secrets Manager schedule). The rotation Lambda needs VPC egress
283
+ // to reach the Secrets Manager endpoint, so it's skipped (with a
284
+ // warning) when the VPC has no NAT — set `vpc.natType` to
285
+ // 'gateway'/'instance', or add a Secrets Manager VPC endpoint, to
286
+ // enable it on isolated-only networks.
287
+ const rotationDays = intent.credentialRotationDays;
288
+ if (typeof rotationDays === 'number' && rotationDays > 0) {
289
+ if (this.natType === 'none') {
290
+ console.warn(`[venturekit] Skipping credential rotation for db "${intent.id}": ` +
291
+ `natType is 'none', so the rotation Lambda can't reach the ` +
292
+ `Secrets Manager endpoint. Set 'infrastructure.vpc.natType' to ` +
293
+ `'gateway'/'instance' (or add a SecretsManager VPC endpoint) to ` +
294
+ `enable rotation.`);
295
+ }
296
+ else {
297
+ instance.addRotationSingleUser({
298
+ automaticallyAfter: cdk.Duration.days(rotationDays),
299
+ });
300
+ }
301
+ }
283
302
  this.databases.set(intent.id, { instance, intent });
284
303
  // ─── Migration runner (CodeBuild in-VPC) ────────────────────
285
304
  // Provisioned only for Postgres + when the project has a
@@ -1 +1 @@
1
- {"version":3,"file":"data-stack.js","sourceRoot":"","sources":["../../src/cdk/data-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-stack.js","sourceRoot":"","sources":["../../src/cdk/data-stack.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,8 @@ export declare class VentureEdgeStack extends cdk.Stack {
96
96
  */
97
97
  readonly cdnPublishedDomains: Map<string, string>;
98
98
  private readonly isStrictRetain;
99
+ /** Env log-retention window, reused for CloudFront access-log expiry. */
100
+ private readonly logRetentionDays;
99
101
  constructor(scope: Construct, id: string, props: VentureEdgeStackProps);
100
102
  private createDomain;
101
103
  private createStorageCdn;
@@ -1 +1 @@
1
- {"version":3,"file":"edge-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/edge-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAI7D,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,UAAU;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IAErB,yDAAyD;IACzD,cAAc,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;CAC1C;AAaD,qBAAa,gBAAiB,SAAQ,GAAG,CAAC,KAAK;IAC7C,SAAgB,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;IAE1C,SAAgB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAa;IAEhF;;;;;;;;;;OAUG;IACH,SAAgB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAErE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;gBAE7B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAqJtE,OAAO,CAAC,YAAY;IA8FpB,OAAO,CAAC,gBAAgB;CAyHzB"}
1
+ {"version":3,"file":"edge-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/edge-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAI7D,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,UAAU;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IAErB,yDAAyD;IACzD,cAAc,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;CAC1C;AAiCD,qBAAa,gBAAiB,SAAQ,GAAG,CAAC,KAAK;IAC7C,SAAgB,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;IAE1C,SAAgB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAa;IAEhF;;;;;;;;;;OAUG;IACH,SAAgB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAErE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IA4LtE,OAAO,CAAC,YAAY;IA8FpB,OAAO,CAAC,gBAAgB;CA0LzB"}
@@ -84,6 +84,25 @@ function toLogRetention(days) {
84
84
  return logs.RetentionDays.ONE_YEAR;
85
85
  return logs.RetentionDays.INFINITE;
86
86
  }
87
+ /**
88
+ * Map a `StorageIntent.cdnPriceClass` value (bare `'100'|'200'|'all'`
89
+ * or the full `PRICE_CLASS_*` name) to the CloudFront enum. Defaults
90
+ * to `PRICE_CLASS_100` (North America + Europe) — the cheapest tier.
91
+ */
92
+ function toPriceClass(value) {
93
+ switch (String(value ?? '').toLowerCase()) {
94
+ case '200':
95
+ case 'price_class_200':
96
+ return cloudfront.PriceClass.PRICE_CLASS_200;
97
+ case 'all':
98
+ case 'price_class_all':
99
+ return cloudfront.PriceClass.PRICE_CLASS_ALL;
100
+ case '100':
101
+ case 'price_class_100':
102
+ default:
103
+ return cloudfront.PriceClass.PRICE_CLASS_100;
104
+ }
105
+ }
87
106
  export class VentureEdgeStack extends cdk.Stack {
88
107
  api;
89
108
  distributions = new Map();
@@ -100,6 +119,8 @@ export class VentureEdgeStack extends cdk.Stack {
100
119
  */
101
120
  cdnPublishedDomains = new Map();
102
121
  isStrictRetain;
122
+ /** Env log-retention window, reused for CloudFront access-log expiry. */
123
+ logRetentionDays;
103
124
  constructor(scope, id, props) {
104
125
  super(scope, id, props);
105
126
  const { projectName, stage, envConfig, infrastructure, storageBuckets } = props;
@@ -107,6 +128,17 @@ export class VentureEdgeStack extends cdk.Stack {
107
128
  DATA_SAFETY_CONFIG[envConfig.dataSafety].removalPolicy === 'retain';
108
129
  const apiConfig = envConfig.api;
109
130
  const obsConfig = envConfig.observability;
131
+ this.logRetentionDays = obsConfig.logs.retentionDays;
132
+ // ─── execute-api endpoint posture (S6) ──────────────────────
133
+ // Default: once a custom domain with a resolvable certificate is
134
+ // wired, disable the raw `*.execute-api.<region>.amazonaws.com` URL
135
+ // so clients can only reach the API through the custom domain (and
136
+ // any controls bound to it). A pending-validation domain (no cert
137
+ // ARN and no hosted zone) keeps execute-api enabled so the API stays
138
+ // reachable while DNS/cert validation completes. Override per-env
139
+ // with `api.disableExecuteApiEndpoint`.
140
+ const hasResolvableCustomDomain = (infrastructure.domains ?? []).some((d) => Boolean(d.certificateArn) || Boolean(d.hostedZoneId));
141
+ const disableExecuteApi = apiConfig.disableExecuteApiEndpoint ?? hasResolvableCustomDomain;
110
142
  // ─── HttpApi shell ──────────────────────────────────────────
111
143
  // Created with NO routes — routes live in the app stack.
112
144
  // CORS preflight, throttling, and access logging are all
@@ -122,19 +154,12 @@ export class VentureEdgeStack extends cdk.Stack {
122
154
  allowCredentials: apiConfig.cors.allowCredentials,
123
155
  maxAge: cdk.Duration.seconds(apiConfig.cors.maxAgeSec),
124
156
  }
125
- : {
126
- allowOrigins: ['*'],
127
- allowMethods: [
128
- apigatewayv2.CorsHttpMethod.GET,
129
- apigatewayv2.CorsHttpMethod.POST,
130
- apigatewayv2.CorsHttpMethod.PUT,
131
- apigatewayv2.CorsHttpMethod.DELETE,
132
- apigatewayv2.CorsHttpMethod.PATCH,
133
- apigatewayv2.CorsHttpMethod.OPTIONS,
134
- ],
135
- allowHeaders: ['*'],
136
- },
137
- disableExecuteApiEndpoint: false,
157
+ : // No `api.cors` configured → fail-closed: emit NO CORS
158
+ // preflight rather than the old allow-all (`*` origins + `*`
159
+ // headers). Browsers then block cross-origin calls by default;
160
+ // operators opt in by setting `api.cors.allowOrigins`.
161
+ undefined,
162
+ disableExecuteApiEndpoint: disableExecuteApi,
138
163
  });
139
164
  if (this.isStrictRetain) {
140
165
  // The `*.execute-api.{region}.amazonaws.com` URL embeds the
@@ -145,6 +170,14 @@ export class VentureEdgeStack extends cdk.Stack {
145
170
  cfnApi.cfnOptions.deletionPolicy = cdk.CfnDeletionPolicy.RETAIN;
146
171
  cfnApi.cfnOptions.updateReplacePolicy = cdk.CfnDeletionPolicy.RETAIN;
147
172
  }
173
+ // Fail-closed CORS leaves browser cross-origin clients blocked
174
+ // until `api.cors` is set — warn at synth so it's not a silent
175
+ // surprise during a frontend integration.
176
+ if (!apiConfig.cors) {
177
+ cdk.Annotations.of(this).addWarning(`[venturekit] No 'api.cors' configured for ${projectName}/${stage}: ` +
178
+ `CORS preflight is disabled (fail-closed). Browser clients on a ` +
179
+ `different origin will be blocked until you set 'api.cors.allowOrigins'.`);
180
+ }
148
181
  // ─── Access logging on the default stage ─────────────────────
149
182
  const apiLogGroup = new logs.LogGroup(this, 'ApiAccessLog', {
150
183
  logGroupName: `/venturekit/${projectName}/${stage}/api-access`,
@@ -169,12 +202,31 @@ export class VentureEdgeStack extends cdk.Stack {
169
202
  userAgent: '$context.identity.userAgent',
170
203
  }),
171
204
  };
205
+ // ─── Edge throttling ────────────────────────────────────────
206
+ // Apply the per-environment request throttle at the gateway.
207
+ // Historically the preset `throttleRateLimit` / `throttleBurstLimit`
208
+ // values (and the README presets table) were never wired to the
209
+ // stage, so the API accepted unbounded request volume — a DoS /
210
+ // cost-bomb exposure with no edge backpressure. HTTP API exposes
211
+ // throttling via the default stage's DefaultRouteSettings.
212
+ defaultStage.defaultRouteSettings = {
213
+ throttlingRateLimit: apiConfig.throttleRateLimit,
214
+ throttlingBurstLimit: apiConfig.throttleBurstLimit,
215
+ detailedMetricsEnabled: apiConfig.detailedMetricsEnabled,
216
+ };
172
217
  }
173
218
  // ─── Public surface ─────────────────────────────────────────
174
219
  writeSsm(this, edgeKeys.apiId(projectName, stage), this.api.apiId, {
175
220
  description: `HttpApi ID — app stack imports via fromHttpApiAttributes.`,
176
221
  });
177
- writeSsm(this, edgeKeys.apiEndpoint(projectName, stage), this.api.apiEndpoint, { description: `HttpApi default endpoint URL.` });
222
+ // `apiEndpoint` is the raw `*.execute-api` URL. When that endpoint is
223
+ // disabled (S6 — custom domain with a resolvable cert), CDK makes
224
+ // `this.api.apiEndpoint` throw and there is genuinely no such URL to
225
+ // publish; consumers read the custom domain via `apiCustomDomain`
226
+ // instead. Only publish it while execute-api is live.
227
+ if (!disableExecuteApi) {
228
+ writeSsm(this, edgeKeys.apiEndpoint(projectName, stage), this.api.apiEndpoint, { description: `HttpApi default endpoint URL.` });
229
+ }
178
230
  writeSsm(this, edgeKeys.apiDefaultStageName(projectName, stage),
179
231
  // HttpApi always uses `$default`. Publishing it explicitly
180
232
  // means future named-stage support doesn't break consumers.
@@ -326,6 +378,57 @@ export class VentureEdgeStack extends cdk.Stack {
326
378
  bucketName: bucket.bucketName,
327
379
  bucketRegionalDomainName: bucket.bucketRegionalDomainName,
328
380
  });
381
+ // ─── WA2: default security-headers response policy ──────────
382
+ // Every CDN response carries HSTS, `X-Content-Type-Options:
383
+ // nosniff`, a strict referrer policy, and clickjacking
384
+ // protection. The policy name is left to CloudFormation so two
385
+ // distributions never collide on a fixed name.
386
+ const securityHeaders = new cloudfront.ResponseHeadersPolicy(this, `${logicalId}-security-headers`, {
387
+ comment: `VentureKit security headers — ${intent.id}`,
388
+ securityHeadersBehavior: {
389
+ strictTransportSecurity: {
390
+ accessControlMaxAge: cdk.Duration.days(365),
391
+ includeSubdomains: true,
392
+ preload: true,
393
+ override: true,
394
+ },
395
+ contentTypeOptions: { override: true },
396
+ frameOptions: {
397
+ frameOption: cloudfront.HeadersFrameOption.DENY,
398
+ override: true,
399
+ },
400
+ referrerPolicy: {
401
+ referrerPolicy: cloudfront.HeadersReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN,
402
+ override: true,
403
+ },
404
+ },
405
+ });
406
+ // ─── WA2: optional CloudFront access logging ────────────────
407
+ // Off by default; opt in per storage intent with
408
+ // `cdnAccessLogs: true`. Logs land in a private, encrypted,
409
+ // lifecycle-expired bucket. CloudFront's log delivery writes via
410
+ // ACL, so the bucket allows BUCKET_OWNER_PREFERRED ownership.
411
+ let loggingProps = {};
412
+ if (intent.cdnAccessLogs === true) {
413
+ const logBucket = new s3.Bucket(this, `${logicalId}-logs`, {
414
+ objectOwnership: s3.ObjectOwnership.BUCKET_OWNER_PREFERRED,
415
+ encryption: s3.BucketEncryption.S3_MANAGED,
416
+ blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
417
+ enforceSSL: true,
418
+ lifecycleRules: [
419
+ { expiration: cdk.Duration.days(this.logRetentionDays) },
420
+ ],
421
+ removalPolicy: this.isStrictRetain
422
+ ? cdk.RemovalPolicy.RETAIN
423
+ : cdk.RemovalPolicy.DESTROY,
424
+ autoDeleteObjects: !this.isStrictRetain,
425
+ });
426
+ loggingProps = {
427
+ enableLogging: true,
428
+ logBucket,
429
+ logFilePrefix: `${intent.id}/`,
430
+ };
431
+ }
329
432
  const distribution = new cloudfront.Distribution(this, logicalId, {
330
433
  comment: `${projectName}-${intent.id}-${stage}`,
331
434
  defaultBehavior: {
@@ -340,11 +443,14 @@ export class VentureEdgeStack extends cdk.Stack {
340
443
  cachedMethods: cloudfront.CachedMethods.CACHE_GET_HEAD_OPTIONS,
341
444
  cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,
342
445
  compress: true,
446
+ // WA2: attach the security-headers policy to every response.
447
+ responseHeadersPolicy: securityHeaders,
343
448
  },
344
- // PriceClass 100 = US/Canada/Europe edges only. Cheaper than
345
- // the global default for projects whose audience matches.
346
- priceClass: cloudfront.PriceClass.PRICE_CLASS_100,
449
+ // PriceClass default 100 (US/Canada/Europe edges only) cheaper
450
+ // than global. Override per storage intent via `cdnPriceClass`.
451
+ priceClass: toPriceClass(intent.cdnPriceClass),
347
452
  enabled: true,
453
+ ...loggingProps,
348
454
  ...aliasProps,
349
455
  });
350
456
  if (this.isStrictRetain) {
@@ -1 +1 @@
1
- {"version":3,"file":"edge-stack.js","sourceRoot":"","sources":["../../src/cdk/edge-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-stack.js","sourceRoot":"","sources":["../../src/cdk/edge-stack.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,7 @@
81
81
  import * as cdk from 'aws-cdk-lib';
82
82
  import * as sqs from 'aws-cdk-lib/aws-sqs';
83
83
  import * as sns from 'aws-cdk-lib/aws-sns';
84
+ import * as events from 'aws-cdk-lib/aws-events';
84
85
  import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
85
86
  import { Construct } from 'constructs';
86
87
  import { type EnvConfig, type VentureIntent } from '@venturekit/core';
@@ -101,10 +102,24 @@ export declare class VentureMessagingStack extends cdk.Stack {
101
102
  readonly notifyDispatcherDlqs: Map<string, sqs.Queue>;
102
103
  readonly notifyBounceDlqs: Map<string, sqs.Queue>;
103
104
  readonly whatsappTokenSecrets: Map<string, secretsmanager.Secret>;
105
+ /** EventBridge custom buses for OWNED `events` intents (external ones create nothing here). */
106
+ readonly eventBuses: Map<string, events.EventBus>;
104
107
  private readonly isStrictRetain;
105
108
  private readonly removalPolicy;
106
109
  constructor(scope: Construct, id: string, props: VentureMessagingStackProps);
107
110
  private createQueue;
108
111
  private createNotify;
112
+ /**
113
+ * Create one EventBridge custom bus per OWNED `events` intent and
114
+ * publish its name + ARN to SSM. The bus is the durable routing
115
+ * surface; the rules + Lambda/queue targets that consume it live in
116
+ * the app stack (same split as `schedules` — a Rule with no target is
117
+ * dead infrastructure, and the targets are app-tier code).
118
+ *
119
+ * `events:PutEvents` is granted to the publisher's shared Lambda role
120
+ * in the app stack, NOT here, for the same reason SQS
121
+ * receive/send grants live there: they need the role+resource pair.
122
+ */
123
+ private createEventBus;
109
124
  }
110
125
  //# sourceMappingURL=messaging-stack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/messaging-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAG3C,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,cAAc,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAClD,SAAgB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAA;KAAE,CAAC,CAAa;IACtF,SAAgB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACvE,SAAgB,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC7E,SAAgB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACzE,SAAgB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACrE,SAAgB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAa;IAErF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;gBAEtC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B;IAoB3E,OAAO,CAAC,WAAW;IAqEnB,OAAO,CAAC,YAAY;CAmNrB"}
1
+ {"version":3,"file":"messaging-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/messaging-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,cAAc,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAClD,SAAgB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAA;KAAE,CAAC,CAAa;IACtF,SAAgB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACvE,SAAgB,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC7E,SAAgB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACzE,SAAgB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACrE,SAAgB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAa;IACrF,+FAA+F;IAC/F,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAa;IAErE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;gBAEtC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B;IA6B3E,OAAO,CAAC,WAAW;IAqEnB,OAAO,CAAC,YAAY;IAsNpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;CA4BvB"}
@@ -81,6 +81,7 @@
81
81
  import * as cdk from 'aws-cdk-lib';
82
82
  import * as sqs from 'aws-cdk-lib/aws-sqs';
83
83
  import * as sns from 'aws-cdk-lib/aws-sns';
84
+ import * as events from 'aws-cdk-lib/aws-events';
84
85
  import * as ses from 'aws-cdk-lib/aws-ses';
85
86
  import * as route53 from 'aws-cdk-lib/aws-route53';
86
87
  import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
@@ -94,6 +95,8 @@ export class VentureMessagingStack extends cdk.Stack {
94
95
  notifyDispatcherDlqs = new Map();
95
96
  notifyBounceDlqs = new Map();
96
97
  whatsappTokenSecrets = new Map();
98
+ /** EventBridge custom buses for OWNED `events` intents (external ones create nothing here). */
99
+ eventBuses = new Map();
97
100
  isStrictRetain;
98
101
  removalPolicy;
99
102
  constructor(scope, id, props) {
@@ -111,6 +114,16 @@ export class VentureMessagingStack extends cdk.Stack {
111
114
  this.createNotify(intent, projectName, stage);
112
115
  }
113
116
  }
117
+ if (infrastructure.events) {
118
+ for (const intent of infrastructure.events) {
119
+ // Only OWNED buses are created here. A subscriber-only intent
120
+ // (`external.busName` set) attaches its rules in the app stack
121
+ // to a bus owned by another venture and creates no bus.
122
+ if (intent.external)
123
+ continue;
124
+ this.createEventBus(intent, projectName, stage);
125
+ }
126
+ }
114
127
  }
115
128
  // ─── SQS ─────────────────────────────────────────────────────────────
116
129
  createQueue(intent, projectName, stage) {
@@ -333,5 +346,41 @@ export class VentureMessagingStack extends cdk.Stack {
333
346
  writeSsm(this, messagingKeys.notifyDispatcherDlqArn(projectName, stage, intent.id), dispatcherDlq.queueArn, { description: `Dispatcher Lambda on-failure DLQ ARN.` });
334
347
  writeSsm(this, messagingKeys.notifyBounceDlqArn(projectName, stage, intent.id), bounceDlq.queueArn, { description: `Bounce-handler Lambda on-failure DLQ ARN.` });
335
348
  }
349
+ // ─── EventBridge (domain-event bus) ──────────────────────────────────
350
+ /**
351
+ * Create one EventBridge custom bus per OWNED `events` intent and
352
+ * publish its name + ARN to SSM. The bus is the durable routing
353
+ * surface; the rules + Lambda/queue targets that consume it live in
354
+ * the app stack (same split as `schedules` — a Rule with no target is
355
+ * dead infrastructure, and the targets are app-tier code).
356
+ *
357
+ * `events:PutEvents` is granted to the publisher's shared Lambda role
358
+ * in the app stack, NOT here, for the same reason SQS
359
+ * receive/send grants live there: they need the role+resource pair.
360
+ */
361
+ createEventBus(intent, projectName, stage) {
362
+ const logicalId = `events-${intent.id}`;
363
+ const busName = intent.busName ?? `${projectName}-${stage}-${intent.id}`;
364
+ const bus = new events.EventBus(this, logicalId, { eventBusName: busName });
365
+ // A custom bus holds no durable state (events are transient), so
366
+ // RETAIN here isn't about message preservation — it's about the
367
+ // NAME. Subscriber ventures + the publisher's `EVENT_BUS_*` env var
368
+ // reference the bus by name, so a destroy+recreate would briefly
369
+ // break every cross-stack rule pointing at it. Pin RETAIN under
370
+ // strict so the name is stable across a messaging-stack churn.
371
+ if (this.isStrictRetain) {
372
+ const cfn = bus.node.defaultChild;
373
+ cfn.cfnOptions.deletionPolicy = cdk.CfnDeletionPolicy.RETAIN;
374
+ cfn.cfnOptions.updateReplacePolicy = cdk.CfnDeletionPolicy.RETAIN;
375
+ }
376
+ this.eventBuses.set(intent.id, bus);
377
+ writeSsm(this, messagingKeys.eventBusName(projectName, stage, intent.id), bus.eventBusName, {
378
+ description: `EventBridge bus name for '${intent.id}' — publishers read it ` +
379
+ `(EVENT_BUS_<ID>_NAME); subscribers reference it by name.`,
380
+ });
381
+ writeSsm(this, messagingKeys.eventBusArn(projectName, stage, intent.id), bus.eventBusArn, {
382
+ description: `EventBridge bus ARN for '${intent.id}' — events:PutEvents IAM scoping target.`,
383
+ });
384
+ }
336
385
  }
337
386
  //# sourceMappingURL=messaging-stack.js.map