@venturekit/infra 0.0.0-dev.20260505093338 → 0.0.0-dev.20260505115120

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.
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Exported for use by the generated CDK app in .vk/cdk/.
5
5
  */
6
- export { VentureStack } from './stack.js';
7
- export type { VentureStackProps } from './stack.js';
6
+ export { VentureStack, discoverRouteFiles } from './stack.js';
7
+ export type { VentureStackProps, DiscoveredRoute } from './stack.js';
8
8
  export { MigrationRunner, hasMigrations } from './migration-runner.js';
9
9
  export type { MigrationRunnerProps } from './migration-runner.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cdk/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cdk/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/cdk/index.js CHANGED
@@ -3,6 +3,6 @@
3
3
  *
4
4
  * Exported for use by the generated CDK app in .vk/cdk/.
5
5
  */
6
- export { VentureStack } from './stack.js';
6
+ export { VentureStack, discoverRouteFiles } from './stack.js';
7
7
  export { MigrationRunner, hasMigrations } from './migration-runner.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cdk/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cdk/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
@@ -9,6 +9,47 @@
9
9
  import * as cdk from 'aws-cdk-lib';
10
10
  import { Construct } from 'constructs';
11
11
  import type { VentureIntent, EnvConfig } from '@venturekit/core';
12
+ /**
13
+ * One discovered HTTP route, ready to be wired to a Lambda + HttpRoute.
14
+ */
15
+ export interface DiscoveredRoute {
16
+ /** HTTP method ('GET' / 'POST' / 'PUT' / 'PATCH' / 'DELETE'). */
17
+ method: string;
18
+ /**
19
+ * API Gateway path with `{param}` segments, e.g. `/users/{id}`.
20
+ * The root route (`src/routes/get.ts`) maps to `/`.
21
+ */
22
+ apiPath: string;
23
+ /**
24
+ * Stable slug derived from the file path, used for the Lambda's
25
+ * function name and CDK construct id.
26
+ *
27
+ * src/routes/health/get.ts → 'health-get'
28
+ * src/routes/users/[id]/put.ts → 'users-id-put'
29
+ * src/routes/admin/users/[id]/delete.ts → 'admin-users-id-delete'
30
+ */
31
+ slug: string;
32
+ /** Absolute path to the route handler file (.ts or .js). */
33
+ handlerFile: string;
34
+ }
35
+ /**
36
+ * Recursively discover HTTP route files under `src/routes/`.
37
+ *
38
+ * Walks the directory tree applying the same filesystem convention as the
39
+ * local dev server:
40
+ * - File name (without extension) determines the HTTP method via
41
+ * {@link ROUTE_FILENAME_TO_METHOD}. Files whose name doesn't match a
42
+ * known method (e.g. `helpers.ts`, `_middleware.ts`) are silently
43
+ * skipped — they're treated as colocated implementation detail.
44
+ * - Directory `[param]` becomes `{param}` in the API path and `param`
45
+ * in the slug. Plain directories appear verbatim in both.
46
+ * - Test/spec/declaration files (`*.test.ts`, `*.spec.ts`, `*.d.ts`)
47
+ * are skipped.
48
+ *
49
+ * Exported so unit tests can assert the convention without spinning up a
50
+ * full CDK stack, and so external tooling can reuse it.
51
+ */
52
+ export declare function discoverRouteFiles(routesDir: string): DiscoveredRoute[];
12
53
  export interface VentureStackProps extends cdk.StackProps {
13
54
  projectName: string;
14
55
  stage: string;
@@ -37,6 +78,16 @@ export interface VentureStackProps extends cdk.StackProps {
37
78
  * When absent, falls back to legacy behavior using `preset` string.
38
79
  */
39
80
  envConfig?: EnvConfig;
81
+ /**
82
+ * @internal
83
+ *
84
+ * Tests-only escape hatch that swaps Docker-based esbuild bundling for an
85
+ * inline Lambda stub, so unit tests can synth a stack containing route /
86
+ * function / queue / cron handlers without needing Docker. Never set this
87
+ * in production CDK apps — the resulting Lambdas would respond with the
88
+ * stub body, not your handler code.
89
+ */
90
+ _skipBundling?: boolean;
40
91
  }
41
92
  export declare class VentureStack extends cdk.Stack {
42
93
  readonly outputs: Record<string, cdk.CfnOutput>;
@@ -58,6 +109,8 @@ export declare class VentureStack extends cdk.Stack {
58
109
  private readonly internalHmacSecret;
59
110
  /** Base environment variables applied to every VentureKit Lambda. */
60
111
  private readonly ventureBaseEnv;
112
+ /** @internal — when true, all Lambda code uses an inline stub instead of Docker bundling. Tests only. */
113
+ private readonly skipBundling;
61
114
  constructor(scope: Construct, id: string, props: VentureStackProps);
62
115
  /**
63
116
  * Well-Architected: Reliability — RDS with stable logical ID so preset
@@ -149,6 +202,43 @@ export declare class VentureStack extends cdk.Stack {
149
202
  * dash-delimited path (e.g. `order/create-order.ts` → `order-create-order`).
150
203
  */
151
204
  private discoverFunctionFiles;
205
+ /**
206
+ * Build the `lambda.Code` for a handler file.
207
+ *
208
+ * Production path: ship the handler's directory as a CDK asset and let
209
+ * Docker-resident esbuild bundle it down to `/asset-output/index.js`,
210
+ * with the AWS SDK marked external (it's already in the runtime).
211
+ *
212
+ * Test path (`_skipBundling: true`): return an inline stub so unit
213
+ * tests can synth Lambdas without needing a working Docker daemon.
214
+ * This is gated behind a documented internal prop — production stacks
215
+ * never hit this branch.
216
+ */
217
+ private bundleHandlerCode;
218
+ /**
219
+ * Create one Lambda + HTTP API integration + HttpRoute for a discovered
220
+ * route file.
221
+ *
222
+ * Function name: `{project}-{stage}-route-{slug}`. Lambda function names
223
+ * are capped at 64 chars; we truncate + append a 6-char content hash if
224
+ * the full name overflows so deeply nested routes
225
+ * (e.g. `promoter/groups/[id]/images/[imageId]/delete.ts`) still fit.
226
+ *
227
+ * Well-Architected: Performance — memory/timeout from preset config
228
+ * Well-Architected: Sustainability — ARM64 Graviton by default
229
+ * Well-Architected: Reliability — VPC-attached when DBs exist so routes
230
+ * can reach RDS without timing out at the API Gateway 30 s deadline
231
+ * Well-Architected: Cost — shared role + SG across all route Lambdas
232
+ * keeps CFN resource count linear in the number of routes
233
+ */
234
+ private createRouteFunction;
235
+ /**
236
+ * Tiny non-cryptographic 6-char hex hash. Used only to disambiguate
237
+ * Lambda function names that would otherwise overflow the 64-char
238
+ * limit; collision risk is acceptable because the truncated prefix
239
+ * already encodes most of the route path.
240
+ */
241
+ private shortHash;
152
242
  /**
153
243
  * Create a standalone Lambda function.
154
244
  * Naming convention: {project}-{stage}-fn-{name}
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/cdk/stack.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAuBnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,KAAK,EACV,aAAa,EAKb,SAAS,EAMV,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,iBAAkB,SAAQ,GAAG,CAAC,UAAU;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,qBAAa,YAAa,SAAQ,GAAG,CAAC,KAAK;IACzC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAM;IAE5D,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuE;IACxG,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB;IAgYlE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IA8HtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAsErB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAsHlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA4CnB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAyDnB,OAAO,CAAC,gBAAgB;IAgExB,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,YAAY;IA+EpB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IA8EhC;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAgF3B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAyF1B"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/cdk/stack.ts"],"names":[],"mappings":"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"}
package/dist/cdk/stack.js CHANGED
@@ -18,6 +18,7 @@ import * as targets from 'aws-cdk-lib/aws-events-targets';
18
18
  import * as lambda from 'aws-cdk-lib/aws-lambda';
19
19
  import * as lambdaEventSources from 'aws-cdk-lib/aws-lambda-event-sources';
20
20
  import * as apigatewayv2 from 'aws-cdk-lib/aws-apigatewayv2';
21
+ import * as apigatewayv2Integrations from 'aws-cdk-lib/aws-apigatewayv2-integrations';
21
22
  import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
22
23
  import * as logs from 'aws-cdk-lib/aws-logs';
23
24
  import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
@@ -28,10 +29,86 @@ import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
28
29
  import * as acm from 'aws-cdk-lib/aws-certificatemanager';
29
30
  import * as route53 from 'aws-cdk-lib/aws-route53';
30
31
  import * as route53Targets from 'aws-cdk-lib/aws-route53-targets';
32
+ import * as iam from 'aws-cdk-lib/aws-iam';
31
33
  import { MigrationRunner, hasMigrations } from './migration-runner.js';
32
34
  import { resolveEnvConfig, DATA_SAFETY_CONFIG } from '@venturekit/core';
33
35
  import * as path from 'path';
34
36
  import * as fs from 'fs';
37
+ /**
38
+ * Filename → HTTP method mapping. Aliases (`list`, `create`, `update`,
39
+ * `remove`) match the local dev server (`@venturekit/cli` →
40
+ * `local-server.ts#fileNameToMethod`) so route discovery is consistent
41
+ * between `vk dev` and `vk deploy`.
42
+ */
43
+ const ROUTE_FILENAME_TO_METHOD = {
44
+ get: 'GET',
45
+ list: 'GET',
46
+ post: 'POST',
47
+ create: 'POST',
48
+ put: 'PUT',
49
+ update: 'PUT',
50
+ patch: 'PATCH',
51
+ delete: 'DELETE',
52
+ remove: 'DELETE',
53
+ };
54
+ /**
55
+ * Recursively discover HTTP route files under `src/routes/`.
56
+ *
57
+ * Walks the directory tree applying the same filesystem convention as the
58
+ * local dev server:
59
+ * - File name (without extension) determines the HTTP method via
60
+ * {@link ROUTE_FILENAME_TO_METHOD}. Files whose name doesn't match a
61
+ * known method (e.g. `helpers.ts`, `_middleware.ts`) are silently
62
+ * skipped — they're treated as colocated implementation detail.
63
+ * - Directory `[param]` becomes `{param}` in the API path and `param`
64
+ * in the slug. Plain directories appear verbatim in both.
65
+ * - Test/spec/declaration files (`*.test.ts`, `*.spec.ts`, `*.d.ts`)
66
+ * are skipped.
67
+ *
68
+ * Exported so unit tests can assert the convention without spinning up a
69
+ * full CDK stack, and so external tooling can reuse it.
70
+ */
71
+ export function discoverRouteFiles(routesDir) {
72
+ const routes = [];
73
+ if (!fs.existsSync(routesDir))
74
+ return routes;
75
+ function scan(dir, apiPath, slug) {
76
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
77
+ for (const entry of entries) {
78
+ const fullPath = path.join(dir, entry.name);
79
+ if (entry.isDirectory()) {
80
+ const isParam = entry.name.startsWith('[') && entry.name.endsWith(']');
81
+ const paramName = isParam
82
+ ? entry.name.slice(1, -1)
83
+ : entry.name;
84
+ const apiSegment = isParam ? `{${paramName}}` : entry.name;
85
+ scan(fullPath, `${apiPath}/${apiSegment}`, slug ? `${slug}-${paramName}` : paramName);
86
+ continue;
87
+ }
88
+ if (!entry.isFile())
89
+ continue;
90
+ if (!/\.(ts|js)$/.test(entry.name))
91
+ continue;
92
+ if (entry.name.endsWith('.d.ts'))
93
+ continue;
94
+ const baseName = entry.name.replace(/\.(ts|js)$/, '');
95
+ // Skip colocated tests/specs to keep the deploy flow honest.
96
+ if (baseName.endsWith('.test') || baseName.endsWith('.spec'))
97
+ continue;
98
+ const method = ROUTE_FILENAME_TO_METHOD[baseName.toLowerCase()];
99
+ if (!method)
100
+ continue;
101
+ routes.push({
102
+ method,
103
+ apiPath: apiPath || '/',
104
+ slug: slug ? `${slug}-${baseName.toLowerCase()}` : baseName.toLowerCase(),
105
+ handlerFile: fullPath,
106
+ });
107
+ }
108
+ }
109
+ scan(routesDir, '', '');
110
+ return routes;
111
+ }
35
112
  export class VentureStack extends cdk.Stack {
36
113
  outputs = {};
37
114
  /** Resolved environment configuration driving all resource sizing */
@@ -52,9 +129,12 @@ export class VentureStack extends cdk.Stack {
52
129
  internalHmacSecret;
53
130
  /** Base environment variables applied to every VentureKit Lambda. */
54
131
  ventureBaseEnv;
132
+ /** @internal — when true, all Lambda code uses an inline stub instead of Docker bundling. Tests only. */
133
+ skipBundling;
55
134
  constructor(scope, id, props) {
56
135
  super(scope, id, props);
57
136
  const { projectName, stage, routesDir, functionsDir, queuesDir, cronsDir, infrastructure, projectDir, preset } = props;
137
+ this.skipBundling = props._skipBundling === true;
58
138
  // --- Resolve environment configuration ---
59
139
  // Priority: explicit envConfig > resolve from preset > fallback to 'micro'.
60
140
  // We pass the literal `stage` to resolveEnvConfig — any stage name
@@ -199,13 +279,19 @@ export class VentureStack extends cdk.Stack {
199
279
  }
200
280
  }
201
281
  // --- Databases ---
282
+ // We collect the RDS instances so route Lambdas (which sit in the same
283
+ // VPC) can be granted ingress on the DB port via a shared security
284
+ // group. Without this, every route handler would 503 the moment it
285
+ // tried to query Postgres.
286
+ const dbInstances = [];
202
287
  if (infrastructure?.databases) {
203
288
  for (const db of infrastructure.databases) {
204
289
  if (this.isFreeTier) {
205
290
  this.createDynamoDBTable(db, projectName, stage);
206
291
  }
207
292
  else {
208
- this.createDatabase(db, projectName, stage, vpc, projectDir, props.vkCliVersion ?? 'latest');
293
+ const instance = this.createDatabase(db, projectName, stage, vpc, projectDir, props.vkCliVersion ?? 'latest');
294
+ dbInstances.push(instance);
209
295
  }
210
296
  }
211
297
  }
@@ -331,46 +417,140 @@ export class VentureStack extends cdk.Stack {
331
417
  this.createDomain(domain, projectName, stage, api);
332
418
  }
333
419
  }
334
- // --- Standalone Lambda Functions ---
335
- // Discover functions from src/functions/ and create Lambda functions.
336
- // Naming convention: {project}-{stage}-fn-{name}
420
+ // --- File-system Lambda discovery (routes + functions + queues + crons) ---
421
+ //
422
+ // Convention (mirrors `cli/src/utils/local-server.ts`):
423
+ // src/routes/health/get.ts → GET /health
424
+ // src/routes/users/[id]/put.ts → PUT /users/{id}
425
+ // src/functions/process-orders.ts → standalone Lambda
426
+ // src/queues/<name>.ts → SQS queue + consumer Lambda
427
+ // src/crons/<name>.ts → EventBridge rule + Lambda
428
+ //
429
+ // Every discovered handler becomes its own Lambda function. All four
430
+ // kinds share a single IAM role and (when there's a VPC) a single
431
+ // security group — both because it keeps the CFN resource count
432
+ // linear in route count rather than O(N × constants), and because
433
+ // *every* Lambda kind needs the same baseline access to RDS and
434
+ // Secrets Manager. Routes serve user requests; queue consumers and
435
+ // cron handlers run async background work that's at least as DB-
436
+ // hungry. Splitting role/SG by kind would force operators to wire
437
+ // the DB SG ingress N times instead of once.
438
+ //
439
+ // Trade-off: the shared role accumulates per-Lambda grants from CDK
440
+ // helpers like `queue.grantConsumeMessages(fn)`. A route Lambda
441
+ // therefore *technically* has SQS receive perms even though it
442
+ // never tries to use them. We accept that least-privilege drift
443
+ // because the alternative — one role per Lambda — multiplies role
444
+ // count by ~Nx and pushes large projects (~80 routes) over CFN's
445
+ // 500-resource limit per stack.
446
+ const resolvedRoutesDir = path.resolve(projectDir, routesDir);
337
447
  const resolvedFunctionsDir = functionsDir
338
448
  ? path.resolve(projectDir, functionsDir)
339
449
  : path.resolve(projectDir, 'src/functions');
340
- if (fs.existsSync(resolvedFunctionsDir)) {
341
- const discoveredFunctions = this.discoverFunctionFiles(resolvedFunctionsDir);
450
+ const resolvedQueuesDir = queuesDir
451
+ ? path.resolve(projectDir, queuesDir)
452
+ : path.resolve(projectDir, 'src/queues');
453
+ const resolvedCronsDir = cronsDir
454
+ ? path.resolve(projectDir, cronsDir)
455
+ : path.resolve(projectDir, 'src/crons');
456
+ const discoveredRoutes = fs.existsSync(resolvedRoutesDir)
457
+ ? discoverRouteFiles(resolvedRoutesDir)
458
+ : [];
459
+ const discoveredFunctions = fs.existsSync(resolvedFunctionsDir)
460
+ ? this.discoverFunctionFiles(resolvedFunctionsDir)
461
+ : [];
462
+ const discoveredQueues = fs.existsSync(resolvedQueuesDir)
463
+ ? this.discoverFunctionFiles(resolvedQueuesDir)
464
+ : [];
465
+ const discoveredCrons = fs.existsSync(resolvedCronsDir)
466
+ ? this.discoverFunctionFiles(resolvedCronsDir)
467
+ : [];
468
+ const hasAnyLambda = discoveredRoutes.length > 0
469
+ || discoveredFunctions.length > 0
470
+ || discoveredQueues.length > 0
471
+ || discoveredCrons.length > 0;
472
+ let lambdaRole;
473
+ let lambdaSg;
474
+ if (hasAnyLambda) {
475
+ // Stack-wide execution role. `AWSLambdaBasicExecutionRole` covers
476
+ // CloudWatch Logs writes; the VPC variant is bolted on below when
477
+ // a VPC exists so the Lambda can attach an ENI on cold start.
478
+ lambdaRole = new iam.Role(this, 'LambdaRole', {
479
+ assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
480
+ description: `Shared execution role for ${projectName}-${stage} Lambdas`,
481
+ managedPolicies: [
482
+ iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaBasicExecutionRole'),
483
+ ],
484
+ });
485
+ if (vpc) {
486
+ lambdaRole.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaVPCAccessExecutionRole'));
487
+ lambdaSg = new ec2.SecurityGroup(this, 'LambdaSg', {
488
+ vpc,
489
+ description: `Shared SG for ${projectName}-${stage} Lambdas`,
490
+ allowAllOutbound: true,
491
+ });
492
+ // Open the DB port for every database from the shared SG. We
493
+ // use `connections.allowDefaultPortFrom` rather than hard-
494
+ // coding 5432/3306 so the same code path works for Postgres
495
+ // *and* MySQL projects (and any future engine `createDatabase`
496
+ // adds). One ingress rule per DB, regardless of how many
497
+ // Lambdas the stack creates.
498
+ for (const db of dbInstances) {
499
+ db.connections.allowDefaultPortFrom(lambdaSg, `${projectName}-${stage} Lambdas`);
500
+ }
501
+ }
502
+ }
503
+ // --- HTTP Routes (file-system discovered) ---
504
+ //
505
+ // Each discovered file becomes one Lambda + HttpLambdaIntegration +
506
+ // HttpRoute. Method-name aliases (list/create/update/remove) are
507
+ // resolved upstream in `discoverRouteFiles`.
508
+ if (discoveredRoutes.length > 0) {
509
+ // De-duplicate: a misconfigured `src/routes/` (e.g. both
510
+ // `users/get.ts` and `users/list.ts`) would otherwise fail
511
+ // synth with a duplicate-route-key error from API Gateway.
512
+ // Surface the conflict early with a clear message instead.
513
+ const seenRouteKeys = new Set();
514
+ for (const route of discoveredRoutes) {
515
+ const routeKey = `${route.method} ${route.apiPath}`;
516
+ if (seenRouteKeys.has(routeKey)) {
517
+ throw new Error(`[venturekit] Duplicate HTTP route detected: ${routeKey} ` +
518
+ `(at ${route.handlerFile}). Method aliases like 'get' + 'list' ` +
519
+ `or 'post' + 'create' both resolve to the same HTTP method on ` +
520
+ `the same path — pick one per directory.`);
521
+ }
522
+ seenRouteKeys.add(routeKey);
523
+ this.createRouteFunction(route, projectName, stage, api, lambdaRole, lambdaSg, vpc);
524
+ }
525
+ }
526
+ // --- Standalone Lambda Functions ---
527
+ // Discover functions from src/functions/ and create Lambda functions.
528
+ // Naming convention: {project}-{stage}-fn-{name}
529
+ if (discoveredFunctions.length > 0) {
342
530
  const functionIntents = infrastructure?.functions ?? [];
343
531
  for (const fnFile of discoveredFunctions) {
344
532
  const intent = functionIntents.find((f) => f.id === fnFile.name);
345
- this.createStandaloneFunction(fnFile.name, fnFile.handlerFile, projectName, stage, projectDir, intent);
533
+ this.createStandaloneFunction(fnFile.name, fnFile.handlerFile, projectName, stage, projectDir, intent, lambdaRole, lambdaSg, vpc);
346
534
  }
347
535
  }
348
536
  // --- Queue Consumer Lambda Functions ---
349
537
  // Discover handlers from src/queues/ and wire them to SQS queues.
350
538
  // Naming convention: {project}-{stage}-queue-{name}
351
- const resolvedQueuesDir = queuesDir
352
- ? path.resolve(projectDir, queuesDir)
353
- : path.resolve(projectDir, 'src/queues');
354
- if (fs.existsSync(resolvedQueuesDir)) {
355
- const discoveredQueues = this.discoverFunctionFiles(resolvedQueuesDir);
539
+ if (discoveredQueues.length > 0) {
356
540
  const queueIntents = infrastructure?.queues ?? [];
357
541
  for (const qFile of discoveredQueues) {
358
542
  const intent = queueIntents.find((q) => q.id === qFile.name);
359
- this.createQueueConsumer(qFile.name, qFile.handlerFile, projectName, stage, projectDir, intent);
543
+ this.createQueueConsumer(qFile.name, qFile.handlerFile, projectName, stage, projectDir, intent, lambdaRole, lambdaSg, vpc);
360
544
  }
361
545
  }
362
546
  // --- Cron/Scheduled Task Lambda Functions ---
363
547
  // Discover handlers from src/crons/ and wire them to EventBridge rules.
364
548
  // Naming convention: {project}-{stage}-cron-{name}
365
- const resolvedCronsDir = cronsDir
366
- ? path.resolve(projectDir, cronsDir)
367
- : path.resolve(projectDir, 'src/crons');
368
- if (fs.existsSync(resolvedCronsDir)) {
369
- const discoveredCrons = this.discoverFunctionFiles(resolvedCronsDir);
549
+ if (discoveredCrons.length > 0) {
370
550
  const scheduleIntents = infrastructure?.schedules ?? [];
371
551
  for (const cFile of discoveredCrons) {
372
552
  const intent = scheduleIntents.find((s) => s.id === cFile.name);
373
- this.createCronHandler(cFile.name, cFile.handlerFile, projectName, stage, projectDir, intent);
553
+ this.createCronHandler(cFile.name, cFile.handlerFile, projectName, stage, projectDir, intent, lambdaRole, lambdaSg, vpc);
374
554
  }
375
555
  }
376
556
  }
@@ -492,6 +672,7 @@ export class VentureStack extends cdk.Stack {
492
672
  console.warn(`[venturekit] MySQL auto-migrations are not yet supported (db: ${intent.id}). ` +
493
673
  `Run \`vk migrate\` manually after deploy until @venturekit/data adds a MySQL runner.`);
494
674
  }
675
+ return instance;
495
676
  }
496
677
  /**
497
678
  * Well-Architected: Security — block public access by default, SSE encryption
@@ -1071,6 +1252,121 @@ export class VentureStack extends cdk.Stack {
1071
1252
  return results;
1072
1253
  }
1073
1254
  // ─── Lambda function factories ─────────────────────────────────────
1255
+ /**
1256
+ * Build the `lambda.Code` for a handler file.
1257
+ *
1258
+ * Production path: ship the handler's directory as a CDK asset and let
1259
+ * Docker-resident esbuild bundle it down to `/asset-output/index.js`,
1260
+ * with the AWS SDK marked external (it's already in the runtime).
1261
+ *
1262
+ * Test path (`_skipBundling: true`): return an inline stub so unit
1263
+ * tests can synth Lambdas without needing a working Docker daemon.
1264
+ * This is gated behind a documented internal prop — production stacks
1265
+ * never hit this branch.
1266
+ */
1267
+ bundleHandlerCode(handlerFile) {
1268
+ if (this.skipBundling) {
1269
+ return lambda.Code.fromInline(
1270
+ // Minimal handler that satisfies API Gateway's contract; tests
1271
+ // assert on resource shape, not on Lambda execution.
1272
+ "exports.main = async () => ({ statusCode: 200, body: '{\"stub\":true}' });");
1273
+ }
1274
+ return lambda.Code.fromAsset(path.dirname(handlerFile), {
1275
+ bundling: {
1276
+ image: lambda.Runtime.NODEJS_20_X.bundlingImage,
1277
+ command: [
1278
+ 'bash', '-c', [
1279
+ 'npm install -g esbuild',
1280
+ `esbuild ${path.basename(handlerFile)} --bundle --platform=node --target=node20 --outfile=/asset-output/index.js --external:@aws-sdk/*`,
1281
+ ].join(' && '),
1282
+ ],
1283
+ },
1284
+ });
1285
+ }
1286
+ /**
1287
+ * Create one Lambda + HTTP API integration + HttpRoute for a discovered
1288
+ * route file.
1289
+ *
1290
+ * Function name: `{project}-{stage}-route-{slug}`. Lambda function names
1291
+ * are capped at 64 chars; we truncate + append a 6-char content hash if
1292
+ * the full name overflows so deeply nested routes
1293
+ * (e.g. `promoter/groups/[id]/images/[imageId]/delete.ts`) still fit.
1294
+ *
1295
+ * Well-Architected: Performance — memory/timeout from preset config
1296
+ * Well-Architected: Sustainability — ARM64 Graviton by default
1297
+ * Well-Architected: Reliability — VPC-attached when DBs exist so routes
1298
+ * can reach RDS without timing out at the API Gateway 30 s deadline
1299
+ * Well-Architected: Cost — shared role + SG across all route Lambdas
1300
+ * keeps CFN resource count linear in the number of routes
1301
+ */
1302
+ createRouteFunction(route, projectName, stage, api, role, securityGroup, vpc) {
1303
+ const lambdaConfig = this.envConfig.lambda;
1304
+ // Cap function name at 64 chars (Lambda hard limit). Append a content
1305
+ // hash on overflow so two deeply nested routes that share a prefix
1306
+ // don't collide.
1307
+ const rawName = `${projectName}-${stage}-route-${route.slug}`;
1308
+ const functionName = rawName.length <= 64
1309
+ ? rawName
1310
+ : `${rawName.slice(0, 56)}-${this.shortHash(rawName)}`;
1311
+ const resourceId = `route-${route.slug}`;
1312
+ // Construct ID may collide if two slugs sanitize to the same value,
1313
+ // but `discoverRouteFiles` already enforces filesystem-uniqueness, so
1314
+ // any collision implies a bug in the slug builder — not a runtime
1315
+ // concern.
1316
+ const fn = new lambda.Function(this, resourceId, {
1317
+ functionName,
1318
+ runtime: this.toLambdaRuntime(),
1319
+ architecture: this.toLambdaArchitecture(),
1320
+ handler: 'index.main',
1321
+ code: this.bundleHandlerCode(route.handlerFile),
1322
+ memorySize: lambdaConfig.memoryMb,
1323
+ timeout: cdk.Duration.seconds(lambdaConfig.timeoutSec),
1324
+ description: `${route.method} ${route.apiPath}`,
1325
+ environment: {
1326
+ ...this.ventureBaseEnv,
1327
+ ...lambdaConfig.environmentVariables,
1328
+ },
1329
+ logRetention: this.toLogRetention(lambdaConfig.logRetentionDays),
1330
+ tracing: lambdaConfig.tracingEnabled
1331
+ ? lambda.Tracing.ACTIVE
1332
+ : lambda.Tracing.DISABLED,
1333
+ reservedConcurrentExecutions: lambdaConfig.reservedConcurrency,
1334
+ role,
1335
+ // Attach to the VPC iff one exists. Route Lambdas without a VPC
1336
+ // can't reach RDS, but the free preset and DB-less projects don't
1337
+ // need one — paying ENI cold-start tax there would be a
1338
+ // regression.
1339
+ ...(vpc && securityGroup
1340
+ ? {
1341
+ vpc,
1342
+ vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
1343
+ securityGroups: [securityGroup],
1344
+ }
1345
+ : {}),
1346
+ });
1347
+ // Route the matching API Gateway HTTP method + path at the Lambda.
1348
+ // `HttpRouteKey.with` builds the `${METHOD} ${path}` string that API
1349
+ // Gateway uses internally; passing path + method separately keeps us
1350
+ // honest if AWS ever changes the format.
1351
+ new apigatewayv2.HttpRoute(this, `${resourceId}-route`, {
1352
+ httpApi: api,
1353
+ routeKey: apigatewayv2.HttpRouteKey.with(route.apiPath, apigatewayv2.HttpMethod[route.method]),
1354
+ integration: new apigatewayv2Integrations.HttpLambdaIntegration(`${resourceId}-integration`, fn),
1355
+ });
1356
+ }
1357
+ /**
1358
+ * Tiny non-cryptographic 6-char hex hash. Used only to disambiguate
1359
+ * Lambda function names that would otherwise overflow the 64-char
1360
+ * limit; collision risk is acceptable because the truncated prefix
1361
+ * already encodes most of the route path.
1362
+ */
1363
+ shortHash(input) {
1364
+ let h = 5381;
1365
+ for (let i = 0; i < input.length; i++) {
1366
+ h = ((h << 5) + h + input.charCodeAt(i)) | 0;
1367
+ }
1368
+ return (h >>> 0).toString(16).padStart(6, '0').slice(0, 6);
1369
+ }
1074
1370
  /**
1075
1371
  * Create a standalone Lambda function.
1076
1372
  * Naming convention: {project}-{stage}-fn-{name}
@@ -1080,7 +1376,7 @@ export class VentureStack extends cdk.Stack {
1080
1376
  * Well-Architected: Operational Excellence — structured env vars, log retention from preset
1081
1377
  * Well-Architected: Security — X-Ray tracing from preset config
1082
1378
  */
1083
- createStandaloneFunction(name, handlerFile, projectName, stage, projectDir, intent) {
1379
+ createStandaloneFunction(name, handlerFile, projectName, stage, projectDir, intent, role, securityGroup, vpc) {
1084
1380
  const functionName = `${projectName}-${stage}-fn-${name}`;
1085
1381
  const resourceId = `fn-${name}`;
1086
1382
  const lambdaConfig = this.envConfig.lambda;
@@ -1100,17 +1396,7 @@ export class VentureStack extends cdk.Stack {
1100
1396
  runtime: this.toLambdaRuntime(),
1101
1397
  architecture: this.toLambdaArchitecture(),
1102
1398
  handler: 'index.main',
1103
- code: lambda.Code.fromAsset(path.dirname(handlerFile), {
1104
- bundling: {
1105
- image: lambda.Runtime.NODEJS_20_X.bundlingImage,
1106
- command: [
1107
- 'bash', '-c', [
1108
- 'npm install -g esbuild',
1109
- `esbuild ${path.basename(handlerFile)} --bundle --platform=node --target=node20 --outfile=/asset-output/index.js --external:@aws-sdk/*`,
1110
- ].join(' && '),
1111
- ],
1112
- },
1113
- }),
1399
+ code: this.bundleHandlerCode(handlerFile),
1114
1400
  // Well-Architected: Performance — memory and timeout from intent or preset
1115
1401
  memorySize: intent?.memorySize ?? lambdaConfig.memoryMb,
1116
1402
  timeout: cdk.Duration.seconds(intent?.timeout ?? lambdaConfig.timeoutSec),
@@ -1130,6 +1416,17 @@ export class VentureStack extends cdk.Stack {
1130
1416
  // Well-Architected: Reliability — async failure destination
1131
1417
  deadLetterQueue: dlq,
1132
1418
  deadLetterQueueEnabled: true,
1419
+ role,
1420
+ // Well-Architected: Reliability — VPC-attach when a VPC exists so
1421
+ // standalone workers (sagas, processors, dispatchers) can reach
1422
+ // RDS through the shared SG without operators wiring it up.
1423
+ ...(vpc && securityGroup
1424
+ ? {
1425
+ vpc,
1426
+ vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
1427
+ securityGroups: [securityGroup],
1428
+ }
1429
+ : {}),
1133
1430
  });
1134
1431
  new cdk.CfnOutput(this, `${resourceId}-name`, {
1135
1432
  value: fn.functionName,
@@ -1151,7 +1448,7 @@ export class VentureStack extends cdk.Stack {
1151
1448
  * Well-Architected: Reliability — DLQ on consumer queue, encrypted
1152
1449
  * Well-Architected: Performance — batch size and visibility timeout
1153
1450
  */
1154
- createQueueConsumer(name, handlerFile, projectName, stage, projectDir, intent) {
1451
+ createQueueConsumer(name, handlerFile, projectName, stage, projectDir, intent, role, securityGroup, vpc) {
1155
1452
  const functionName = `${projectName}-${stage}-queue-${name}`;
1156
1453
  const resourceId = `queue-consumer-${name}`;
1157
1454
  const lambdaConfig = this.envConfig.lambda;
@@ -1176,17 +1473,7 @@ export class VentureStack extends cdk.Stack {
1176
1473
  runtime: this.toLambdaRuntime(),
1177
1474
  architecture: this.toLambdaArchitecture(),
1178
1475
  handler: 'index.main',
1179
- code: lambda.Code.fromAsset(path.dirname(handlerFile), {
1180
- bundling: {
1181
- image: lambda.Runtime.NODEJS_20_X.bundlingImage,
1182
- command: [
1183
- 'bash', '-c', [
1184
- 'npm install -g esbuild',
1185
- `esbuild ${path.basename(handlerFile)} --bundle --platform=node --target=node20 --outfile=/asset-output/index.js --external:@aws-sdk/*`,
1186
- ].join(' && '),
1187
- ],
1188
- },
1189
- }),
1476
+ code: this.bundleHandlerCode(handlerFile),
1190
1477
  memorySize: intent?.memorySize ?? lambdaConfig.memoryMb,
1191
1478
  timeout: cdk.Duration.seconds(intent?.timeout ?? lambdaConfig.timeoutSec),
1192
1479
  description: intent?.description ?? `Queue consumer: ${name}`,
@@ -1198,6 +1485,18 @@ export class VentureStack extends cdk.Stack {
1198
1485
  tracing: lambdaConfig.tracingEnabled
1199
1486
  ? lambda.Tracing.ACTIVE
1200
1487
  : lambda.Tracing.DISABLED,
1488
+ role,
1489
+ // Well-Architected: Reliability — VPC-attach so consumers can
1490
+ // reach RDS. SQS itself is reachable from public Internet, but a
1491
+ // queue handler that needs to UPDATE its own DB on success would
1492
+ // otherwise hang forever once a database is provisioned.
1493
+ ...(vpc && securityGroup
1494
+ ? {
1495
+ vpc,
1496
+ vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
1497
+ securityGroups: [securityGroup],
1498
+ }
1499
+ : {}),
1201
1500
  });
1202
1501
  // Wire Lambda to SQS queue
1203
1502
  fn.addEventSource(new lambdaEventSources.SqsEventSource(queue, {
@@ -1219,7 +1518,7 @@ export class VentureStack extends cdk.Stack {
1219
1518
  * Well-Architected: Performance — memory/timeout from preset
1220
1519
  * Well-Architected: Operational Excellence — log retention, tracing from preset
1221
1520
  */
1222
- createCronHandler(name, handlerFile, projectName, stage, projectDir, intent) {
1521
+ createCronHandler(name, handlerFile, projectName, stage, projectDir, intent, role, securityGroup, vpc) {
1223
1522
  const functionName = `${projectName}-${stage}-cron-${name}`;
1224
1523
  const resourceId = `cron-${name}`;
1225
1524
  const lambdaConfig = this.envConfig.lambda;
@@ -1236,17 +1535,7 @@ export class VentureStack extends cdk.Stack {
1236
1535
  runtime: this.toLambdaRuntime(),
1237
1536
  architecture: this.toLambdaArchitecture(),
1238
1537
  handler: 'index.main',
1239
- code: lambda.Code.fromAsset(path.dirname(handlerFile), {
1240
- bundling: {
1241
- image: lambda.Runtime.NODEJS_20_X.bundlingImage,
1242
- command: [
1243
- 'bash', '-c', [
1244
- 'npm install -g esbuild',
1245
- `esbuild ${path.basename(handlerFile)} --bundle --platform=node --target=node20 --outfile=/asset-output/index.js --external:@aws-sdk/*`,
1246
- ].join(' && '),
1247
- ],
1248
- },
1249
- }),
1538
+ code: this.bundleHandlerCode(handlerFile),
1250
1539
  memorySize: intent?.memorySize ?? lambdaConfig.memoryMb,
1251
1540
  timeout: cdk.Duration.seconds(intent?.timeout ?? 60),
1252
1541
  description: intent?.description ?? `Cron handler: ${name}`,
@@ -1261,6 +1550,17 @@ export class VentureStack extends cdk.Stack {
1261
1550
  // Well-Architected: Reliability — EventBridge failures land in the DLQ
1262
1551
  deadLetterQueue: dlq,
1263
1552
  deadLetterQueueEnabled: true,
1553
+ role,
1554
+ // Well-Architected: Reliability — VPC-attach so nightly jobs that
1555
+ // poll RDS for stale state (cleanup, retries, billing rollups)
1556
+ // don't spin up only to discover they can't reach the database.
1557
+ ...(vpc && securityGroup
1558
+ ? {
1559
+ vpc,
1560
+ vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
1561
+ securityGroups: [securityGroup],
1562
+ }
1563
+ : {}),
1264
1564
  });
1265
1565
  // Wire EventBridge rule if schedule expression is provided
1266
1566
  if (intent?.schedule) {
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/cdk/stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/cdk/stack.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venturekit/infra",
3
- "version": "0.0.0-dev.20260505093338",
3
+ "version": "0.0.0-dev.20260505115120",
4
4
  "description": "VentureKit infrastructure - AWS CDK constructs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,7 +37,7 @@
37
37
  ],
38
38
  "license": "Apache-2.0",
39
39
  "dependencies": {
40
- "@venturekit/core": "0.0.0-dev.20260505093338",
40
+ "@venturekit/core": "0.0.0-dev.20260505115120",
41
41
  "aws-cdk-lib": "^2.251.0",
42
42
  "constructs": "^10.6.0"
43
43
  },