@venturekit/infra 0.0.0-dev.20260506123337 → 0.0.0-dev.20260507015944

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.
@@ -70,6 +70,20 @@ export interface MigrationRunnerProps {
70
70
  * the construct caller should skip instantiation.
71
71
  */
72
72
  dbDir: string;
73
+ /**
74
+ * Optional extra directories whose `.sql` files should be merged
75
+ * into the project's `db/migrations/` at synth time. Used by
76
+ * VentureKit packages that ship their own schema (e.g.
77
+ * `@venturekit/notify` adds `notifications`, `notification_preferences`,
78
+ * `notification_event_log` via SQL files prefixed with `vk_notify_`).
79
+ *
80
+ * Files are copied verbatim into the merged migrations dir; the
81
+ * tracking-table-driven `__vk_migrations` runner deduplicates by
82
+ * filename. Naming collisions across sources throw at synth time
83
+ * (we never silently overwrite — operators get a clear error
84
+ * pointing at the conflicting file).
85
+ */
86
+ extraMigrationsDirs?: string[];
73
87
  /**
74
88
  * Pinned `@venturekit/cli` + `@venturekit/data` version installed in
75
89
  * the build. Resolved by `cdk-bridge.ts` from the consumer's
@@ -1 +1 @@
1
- {"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../src/cdk/migration-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AAMjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACd,oEAAoE;IACpE,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;IACjC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,wDAAwD;IACxD,SAAgB,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC;IACjD,uDAAuD;IACvD,SAAgB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;IAC3C,mEAAmE;IACnE,SAAgB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;gBAEhC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;CAgOtE"}
1
+ {"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../src/cdk/migration-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AAMjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACd,oEAAoE;IACpE,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;IACjC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQpD;AAwGD,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,wDAAwD;IACxD,SAAgB,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC;IACjD,uDAAuD;IACvD,SAAgB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;IAC3C,mEAAmE;IACnE,SAAgB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;gBAEhC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;CAiPtE"}
@@ -71,6 +71,94 @@ export function hasMigrations(dbDir) {
71
71
  return false;
72
72
  }
73
73
  }
74
+ /**
75
+ * Materialize a merged `db/` directory combining the project's
76
+ * `db/migrations/` + `db/seeds/` with one-or-more extra migration
77
+ * source dirs (typically `node_modules/@venturekit/notify/migrations/`).
78
+ *
79
+ * Output layout under `<projectDir>/.vk/db-merged-<dbId>/`:
80
+ *
81
+ * migrations/
82
+ * 001_users.sql (from project)
83
+ * 002_orders.sql (from project)
84
+ * vk_notify_001_init.sql (from @venturekit/notify)
85
+ * seeds/
86
+ * 000_initial.sql (from project, if any)
87
+ *
88
+ * The merged path replaces `dbDir` as the s3-asset source. The asset
89
+ * hash naturally captures every file's content, so deploys re-run
90
+ * migrations whenever any source changes — including a notify package
91
+ * upgrade that adds a new SQL file.
92
+ *
93
+ * Throws on:
94
+ * - Filename collisions (two sources both ship the same `.sql` name).
95
+ * Renaming one is a one-line fix; silently overwriting would
96
+ * leave operators chasing ghost behavior.
97
+ * - Extra-dirs that don't exist (developer typo > silent skip).
98
+ */
99
+ function mergeDbDir(projectDbDir, extraDirs, dbId) {
100
+ // The output dir lives next to the project so esbuild's `gitignore`
101
+ // for `.vk/` (set in the init template) hides it from git status.
102
+ // The directory name embeds the dbId so projects with multiple
103
+ // databases don't conflict.
104
+ const projectRoot = path.dirname(projectDbDir); // strip trailing `db`
105
+ const mergedDir = path.join(projectRoot, '.vk', `db-merged-${dbId}`);
106
+ // Wipe any leftovers from a prior synth — the asset hash depends on
107
+ // file contents, not directory atime, so an old file from a removed
108
+ // package would otherwise leak through.
109
+ if (fs.existsSync(mergedDir)) {
110
+ fs.rmSync(mergedDir, { recursive: true, force: true });
111
+ }
112
+ fs.mkdirSync(path.join(mergedDir, 'migrations'), { recursive: true });
113
+ const seenMigrations = new Map(); // filename -> source
114
+ const sourceFor = (kind, root) => kind === 'project' ? `project (${root})` : root;
115
+ // Project migrations first — they own the namespace.
116
+ const projectMigrations = path.join(projectDbDir, 'migrations');
117
+ if (fs.existsSync(projectMigrations)) {
118
+ for (const entry of fs.readdirSync(projectMigrations)) {
119
+ if (!entry.endsWith('.sql'))
120
+ continue;
121
+ const dest = path.join(mergedDir, 'migrations', entry);
122
+ fs.copyFileSync(path.join(projectMigrations, entry), dest);
123
+ seenMigrations.set(entry, sourceFor('project', projectMigrations));
124
+ }
125
+ }
126
+ // Extras overlay in declaration order. A collision throws — we never
127
+ // silently overwrite a project's migration with a package's, even
128
+ // when they look "equivalent".
129
+ for (const extra of extraDirs) {
130
+ if (!fs.existsSync(extra)) {
131
+ throw new Error(`[venturekit] mergeDbDir: extra migrations dir does not exist: ${extra}`);
132
+ }
133
+ for (const entry of fs.readdirSync(extra)) {
134
+ if (!entry.endsWith('.sql'))
135
+ continue;
136
+ const existingSource = seenMigrations.get(entry);
137
+ if (existingSource) {
138
+ throw new Error(`[venturekit] Migration filename collision: '${entry}' is shipped by ` +
139
+ `both ${existingSource} and ${extra}. Rename one to resolve. ` +
140
+ `(VentureKit packages prefix their migrations with 'vk_<package>_'; ` +
141
+ `project migrations should avoid that prefix.)`);
142
+ }
143
+ const dest = path.join(mergedDir, 'migrations', entry);
144
+ fs.copyFileSync(path.join(extra, entry), dest);
145
+ seenMigrations.set(entry, sourceFor('extra', extra));
146
+ }
147
+ }
148
+ // Seeds — project-only, copied verbatim if present.
149
+ const projectSeeds = path.join(projectDbDir, 'seeds');
150
+ if (fs.existsSync(projectSeeds)) {
151
+ const destSeeds = path.join(mergedDir, 'seeds');
152
+ fs.mkdirSync(destSeeds, { recursive: true });
153
+ for (const entry of fs.readdirSync(projectSeeds)) {
154
+ const src = path.join(projectSeeds, entry);
155
+ if (fs.statSync(src).isFile()) {
156
+ fs.copyFileSync(src, path.join(destSeeds, entry));
157
+ }
158
+ }
159
+ }
160
+ return mergedDir;
161
+ }
74
162
  export class MigrationRunner extends Construct {
75
163
  /** Security group attached to the CodeBuild project. */
76
164
  securityGroup;
@@ -85,8 +173,24 @@ export class MigrationRunner extends Construct {
85
173
  // to the CDK bootstrap bucket. Asset hash flips whenever any `.sql`
86
174
  // file content changes, which is what drives the custom-resource
87
175
  // update detection below.
176
+ //
177
+ // When `extraMigrationsDirs` is non-empty (e.g. `@venturekit/notify`
178
+ // shipped its `vk_notify_*.sql` files), we materialize a merged
179
+ // `db/` dir under `<projectDir>/.vk/db-merged-<dbId>/` and point
180
+ // the asset at that. The merge:
181
+ //
182
+ // - Copies `props.dbDir/migrations/*.sql` first, then overlays
183
+ // the extra dirs in declaration order.
184
+ // - Throws on filename collisions — silently overwriting would
185
+ // leave the operator wondering why a project-shipped migration
186
+ // suddenly turned into something else.
187
+ // - Copies `props.dbDir/seeds/*` verbatim (no extras inject
188
+ // seeds; that's a project-only concern).
189
+ const assetPath = props.extraMigrationsDirs && props.extraMigrationsDirs.length > 0
190
+ ? mergeDbDir(props.dbDir, props.extraMigrationsDirs, props.dbId)
191
+ : props.dbDir;
88
192
  const asset = new s3assets.Asset(this, 'DbAsset', {
89
- path: props.dbDir,
193
+ path: assetPath,
90
194
  });
91
195
  // --- 2. Security group + DB ingress ------------------------------
92
196
  this.securityGroup = new ec2.SecurityGroup(this, 'RunnerSg', {
@@ -1 +1 @@
1
- {"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../src/cdk/migration-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../src/cdk/migration-runner.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,27 @@ export declare class VentureStack extends cdk.Stack {
135
135
  * bucket exists in CloudFormation.
136
136
  */
137
137
  private readonly storageBuckets;
138
+ /**
139
+ * Notify configurations created by `createNotify`. Tracked so the
140
+ * shared Lambda role can be granted `ses:SendEmail` on the
141
+ * configuration set + identity ARNs once the role exists, and so
142
+ * env vars (`VENTURE_NOTIFY_FROM`, `VENTURE_NOTIFY_CONFIG_SET`, …)
143
+ * land on every Lambda — `@venturekit/notify`'s
144
+ * `createSesEmailProvider` reads them at cold start. Also drives
145
+ * the auto-provisioning of dispatcher + bounce-handler Lambdas
146
+ * after the rest of the stack is wired (we need the shared role
147
+ * + VPC + SG to exist first).
148
+ */
149
+ private readonly notifyConfigs;
150
+ /**
151
+ * Absolute paths to extra `migrations/` directories shipped by
152
+ * VentureKit packages (currently only `@venturekit/notify`).
153
+ * Resolved once at the top of the constructor so `createDatabase`
154
+ * can pass the merged list to `MigrationRunner` without re-walking
155
+ * `infrastructure.notify`. Empty when no notify intent uses
156
+ * `tracking: 'postgres'` (or no notify intent is declared at all).
157
+ */
158
+ private readonly notifyMigrationsDirs;
138
159
  constructor(scope: Construct, id: string, props: VentureStackProps);
139
160
  /**
140
161
  * Well-Architected: Reliability — RDS with stable logical ID so preset
@@ -161,6 +182,60 @@ export declare class VentureStack extends cdk.Stack {
161
182
  * Well-Architected: Reliability — dataSafety-driven removal policy
162
183
  */
163
184
  private createAuth;
185
+ /**
186
+ * Provision SES + outbox infrastructure for one `NotifyIntent`.
187
+ *
188
+ * Resources created here:
189
+ * - One SES email or domain identity (drives DKIM + verified-from).
190
+ * - One SES configuration set with an event destination publishing
191
+ * bounce / complaint / delivery / open / click events to an
192
+ * SNS topic.
193
+ * - The SNS topic itself (`{project}-{stage}-notify-{id}-events`).
194
+ * - A Secrets Manager secret for the WhatsApp Cloud API token,
195
+ * when `'whatsapp'` is in `channels`. The value is left as a
196
+ * placeholder; the operator pastes the Meta token after first
197
+ * deploy via the AWS console (the secret rotation knob would be
198
+ * a Phase 2 enhancement once token rotation is part of the API).
199
+ * - When `domain` AND `hostedZoneId` are both set, Route53 CNAME
200
+ * records for the three SES DKIM tokens, plus an MX + TXT record
201
+ * on the MAIL FROM subdomain. Without `hostedZoneId`, the
202
+ * records are emitted as stack outputs and the operator
203
+ * publishes them manually.
204
+ *
205
+ * Resources NOT created here: dispatcher cron Lambda, bounce-handler
206
+ * Lambda, IAM grants on the shared role. Those need the role + VPC
207
+ * + SG which only exist later in the constructor — see
208
+ * `provisionNotifyHandlers` below.
209
+ */
210
+ private createNotify;
211
+ /**
212
+ * Auto-provision the dispatcher cron Lambda + the bounce-handler
213
+ * Lambda subscribed to the SES events SNS topic, for every notify
214
+ * intent.
215
+ *
216
+ * Implementation notes:
217
+ *
218
+ * - The Lambdas import a stub shipped inside `@venturekit/notify`
219
+ * (`runtime/dispatcher-stub.ts`, `runtime/bounce-handler-stub.ts`).
220
+ * At synth time we copy the stub into the project's `.vk/` dir
221
+ * alongside a generated `notify-client-import.ts` shim that
222
+ * re-exports the consumer's `notify` instance from
223
+ * `VENTURE_NOTIFY_CLIENT_MODULE` (default `src/lib/notify.ts`).
224
+ * esbuild then bundles the whole closure into the Lambda — the
225
+ * consumer's notify config + every provider + the @venturekit
226
+ * runtime, all in one deploy artefact.
227
+ *
228
+ * - We re-use the shared Lambda role for these handlers. Permissions:
229
+ * - SES + secrets grants are already attached above
230
+ * (`provisionNotifyHandlers` is called from the same block).
231
+ * - SNS topic subscription + invocation perms are added by CDK
232
+ * when we wire `topic.addSubscription(LambdaSubscription)`.
233
+ *
234
+ * - VPC attachment: yes, when the project has a VPC. The dispatcher
235
+ * needs DB access (Postgres outbox + preferences); the bounce
236
+ * handler also writes `notification_event_log`.
237
+ */
238
+ private provisionNotifyHandlers;
164
239
  /**
165
240
  * Well-Architected: Reliability — DLQ by default, stable logical ID
166
241
  * Well-Architected: Security — encryption at rest with SQS managed keys
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/cdk/stack.ts"],"names":[],"mappings":"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"}
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
@@ -24,6 +24,8 @@ import * as logs from 'aws-cdk-lib/aws-logs';
24
24
  import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
25
25
  import * as cloudwatchActions from 'aws-cdk-lib/aws-cloudwatch-actions';
26
26
  import * as sns from 'aws-cdk-lib/aws-sns';
27
+ import * as snsSubscriptions from 'aws-cdk-lib/aws-sns-subscriptions';
28
+ import * as ses from 'aws-cdk-lib/aws-ses';
27
29
  import * as ssm from 'aws-cdk-lib/aws-ssm';
28
30
  import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
29
31
  import * as acm from 'aws-cdk-lib/aws-certificatemanager';
@@ -331,6 +333,27 @@ export class VentureStack extends cdk.Stack {
331
333
  * bucket exists in CloudFormation.
332
334
  */
333
335
  storageBuckets = [];
336
+ /**
337
+ * Notify configurations created by `createNotify`. Tracked so the
338
+ * shared Lambda role can be granted `ses:SendEmail` on the
339
+ * configuration set + identity ARNs once the role exists, and so
340
+ * env vars (`VENTURE_NOTIFY_FROM`, `VENTURE_NOTIFY_CONFIG_SET`, …)
341
+ * land on every Lambda — `@venturekit/notify`'s
342
+ * `createSesEmailProvider` reads them at cold start. Also drives
343
+ * the auto-provisioning of dispatcher + bounce-handler Lambdas
344
+ * after the rest of the stack is wired (we need the shared role
345
+ * + VPC + SG to exist first).
346
+ */
347
+ notifyConfigs = [];
348
+ /**
349
+ * Absolute paths to extra `migrations/` directories shipped by
350
+ * VentureKit packages (currently only `@venturekit/notify`).
351
+ * Resolved once at the top of the constructor so `createDatabase`
352
+ * can pass the merged list to `MigrationRunner` without re-walking
353
+ * `infrastructure.notify`. Empty when no notify intent uses
354
+ * `tracking: 'postgres'` (or no notify intent is declared at all).
355
+ */
356
+ notifyMigrationsDirs = [];
334
357
  constructor(scope, id, props) {
335
358
  super(scope, id, props);
336
359
  const { projectName, stage, routesDir, functionsDir, queuesDir, cronsDir, infrastructure, projectDir, preset } = props;
@@ -520,6 +543,42 @@ export class VentureStack extends cdk.Stack {
520
543
  // - `STS`: needed if handlers assume cross-account roles.
521
544
  }
522
545
  }
546
+ // --- Resolve VentureKit-shipped migrations ---
547
+ // When a notify intent uses Postgres tracking (the default when the
548
+ // project has any database intent), `@venturekit/notify` ships a
549
+ // `migrations/` dir whose `vk_notify_*.sql` files must run alongside
550
+ // the project's own migrations. We resolve the dir once here so
551
+ // every database below receives the same merged set — declaring
552
+ // multiple databases doesn't multiply the schema.
553
+ //
554
+ // Resolution: ask the project's `node_modules/@venturekit/notify/package.json`
555
+ // where it lives, then walk to its sibling `migrations/`. This survives
556
+ // pnpm hoisted layouts, npm flat layouts, and yarn pnp (which
557
+ // returns virtual paths require can still stat).
558
+ const notifyHasPostgresTracking = (infrastructure?.notify ?? []).some((n) => (n.tracking ?? 'postgres') === 'postgres');
559
+ if (notifyHasPostgresTracking) {
560
+ try {
561
+ const projectRequire = createRequire(path.join(projectDir, 'package.json'));
562
+ const notifyPkgJson = projectRequire.resolve('@venturekit/notify/package.json');
563
+ const notifyMigrations = path.join(path.dirname(notifyPkgJson), 'migrations');
564
+ if (fs.existsSync(notifyMigrations)) {
565
+ this.notifyMigrationsDirs.push(notifyMigrations);
566
+ }
567
+ else {
568
+ console.warn(`[venturekit] @venturekit/notify is installed but its 'migrations/' ` +
569
+ `dir was not found at ${notifyMigrations}. The outbox schema will ` +
570
+ `not be applied — run \`vk migrate\` manually after deploy.`);
571
+ }
572
+ }
573
+ catch (err) {
574
+ // Don't crash the synth here — `provisionNotifyHandlers` throws
575
+ // a clearer error pointing at the missing dependency. Warn and
576
+ // continue so projects partway through migration can deploy.
577
+ console.warn(`[venturekit] notify intent declared but '@venturekit/notify' could ` +
578
+ `not be resolved from the project. Migrations will not be merged. ` +
579
+ `Underlying error: ${err.message}`);
580
+ }
581
+ }
523
582
  // --- Databases ---
524
583
  // We collect the RDS instances (alongside the source intent) so the
525
584
  // route-Lambda block below can:
@@ -553,6 +612,16 @@ export class VentureStack extends cdk.Stack {
553
612
  this.createAuth(auth, projectName, stage);
554
613
  }
555
614
  }
615
+ // --- Notify (SES + outbox + auto-provisioned dispatcher cron) ---
616
+ // We provision SES identity + configuration set + events SNS topic
617
+ // here, but defer IAM grants and the dispatcher / bounce-handler
618
+ // Lambda creation until after the shared Lambda role exists below
619
+ // (so we can reuse the same role for least-privilege wiring).
620
+ if (infrastructure?.notify) {
621
+ for (const notify of infrastructure.notify) {
622
+ this.createNotify(notify, projectName, stage);
623
+ }
624
+ }
556
625
  // --- Queues ---
557
626
  if (infrastructure?.queues) {
558
627
  for (const queue of infrastructure.queues) {
@@ -877,6 +946,63 @@ export class VentureStack extends cdk.Stack {
877
946
  bucket.grantReadWrite(lambdaRole);
878
947
  }
879
948
  }
949
+ // Wire every notify configuration into the shared Lambda role + env.
950
+ //
951
+ // - IAM: `ses:SendEmail` + `ses:SendRawEmail` scoped to the SES
952
+ // identity ARN and the configuration set ARN — never `Resource: *`.
953
+ // `secretsmanager:GetSecretValue` is granted on the WhatsApp
954
+ // token secret when the channel is enabled.
955
+ // - Env: the *first* notify config drives the unscoped vars
956
+ // (`VENTURE_NOTIFY_FROM`, …) so handlers using the default
957
+ // `notify` instance work without per-id config. Per-id vars
958
+ // (`NOTIFY_<ID>_FROM`) mirror the storage convention.
959
+ // - Auto-provisioning: dispatcher cron + bounce-handler Lambda
960
+ // are created here too because they share `lambdaRole` and need
961
+ // the same VPC/SG. The Lambdas import a stub from
962
+ // `@venturekit/notify/runtime/dispatcher-stub.ts`; the consumer
963
+ // provides their notify-client module path via
964
+ // `VENTURE_NOTIFY_CLIENT_MODULE` env (default `'./lib/notify.js'`,
965
+ // resolved against the bundled handler dir).
966
+ if (this.notifyConfigs.length > 0) {
967
+ const primary = this.notifyConfigs[0];
968
+ this.ventureBaseEnv['VENTURE_NOTIFY_FROM'] = primary.intent.defaultFrom ?? '';
969
+ this.ventureBaseEnv['VENTURE_NOTIFY_CONFIG_SET'] = primary.configurationSetName;
970
+ this.ventureBaseEnv['VENTURE_NOTIFY_EVENTS_TOPIC_ARN'] = primary.eventsTopic.topicArn;
971
+ if (primary.intent.whatsapp?.phoneNumberId) {
972
+ this.ventureBaseEnv['VENTURE_NOTIFY_WHATSAPP_PHONE_ID'] = String(primary.intent.whatsapp.phoneNumberId);
973
+ this.ventureBaseEnv['VENTURE_NOTIFY_WHATSAPP_API_VERSION'] =
974
+ primary.intent.whatsapp.apiVersion ?? 'v21.0';
975
+ }
976
+ if (primary.whatsappTokenSecret) {
977
+ this.ventureBaseEnv['VENTURE_NOTIFY_WHATSAPP_TOKEN_SECRET'] =
978
+ primary.whatsappTokenSecret.secretArn;
979
+ }
980
+ for (const cfg of this.notifyConfigs) {
981
+ const idKey = String(cfg.intent.id).toUpperCase().replace(/[^A-Z0-9_]/g, '_');
982
+ this.ventureBaseEnv[`NOTIFY_${idKey}_FROM`] = cfg.intent.defaultFrom ?? '';
983
+ this.ventureBaseEnv[`NOTIFY_${idKey}_CONFIG_SET`] = cfg.configurationSetName;
984
+ this.ventureBaseEnv[`NOTIFY_${idKey}_EVENTS_TOPIC_ARN`] = cfg.eventsTopic.topicArn;
985
+ // Grant SES sending permissions. `ses:SendEmail` /
986
+ // `SendRawEmail` are required by SESv2's SendEmail API; the
987
+ // resource-level scope is the identity ARN (`arn:aws:ses:…:identity/<from>`)
988
+ // *plus* the configuration set ARN (Send is dual-resource in
989
+ // SESv2 — both the identity AND the config set must allow).
990
+ lambdaRole.addToPolicy(new iam.PolicyStatement({
991
+ actions: ['ses:SendEmail', 'ses:SendRawEmail'],
992
+ resources: [
993
+ cfg.identityArn,
994
+ `arn:${cdk.Aws.PARTITION}:ses:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:configuration-set/${cfg.configurationSetName}`,
995
+ ],
996
+ }));
997
+ if (cfg.whatsappTokenSecret) {
998
+ cfg.whatsappTokenSecret.grantRead(lambdaRole);
999
+ }
1000
+ }
1001
+ // Auto-provision dispatcher + bounce-handler Lambdas now that
1002
+ // the role + VPC + SG exist. Wrapped in a single helper so the
1003
+ // constructor stays readable.
1004
+ this.provisionNotifyHandlers(projectName, stage, projectDir, lambdaRole, lambdaSg, vpc);
1005
+ }
880
1006
  }
881
1007
  // --- HTTP Routes (file-system discovered) ---
882
1008
  //
@@ -1074,6 +1200,12 @@ export class VentureStack extends cdk.Stack {
1074
1200
  dbSecret: instance.secret,
1075
1201
  dbName: intent.name || intent.id,
1076
1202
  dbDir,
1203
+ // Merge in `@venturekit/notify`'s shipped migrations
1204
+ // (when its intent uses `tracking: 'postgres'`). The
1205
+ // runner's `mergeDbDir` overlays them on top of the
1206
+ // project's own SQL files; collisions throw at synth
1207
+ // time (we never silently overwrite).
1208
+ extraMigrationsDirs: this.notifyMigrationsDirs,
1077
1209
  vkCliVersion,
1078
1210
  logRetentionDays: this.envConfig.observability.logs.retentionDays,
1079
1211
  });
@@ -1278,6 +1410,375 @@ export class VentureStack extends cdk.Stack {
1278
1410
  this.ventureBaseEnv['COGNITO_APP_CLIENT_ID'] = primaryClientId;
1279
1411
  }
1280
1412
  }
1413
+ /**
1414
+ * Provision SES + outbox infrastructure for one `NotifyIntent`.
1415
+ *
1416
+ * Resources created here:
1417
+ * - One SES email or domain identity (drives DKIM + verified-from).
1418
+ * - One SES configuration set with an event destination publishing
1419
+ * bounce / complaint / delivery / open / click events to an
1420
+ * SNS topic.
1421
+ * - The SNS topic itself (`{project}-{stage}-notify-{id}-events`).
1422
+ * - A Secrets Manager secret for the WhatsApp Cloud API token,
1423
+ * when `'whatsapp'` is in `channels`. The value is left as a
1424
+ * placeholder; the operator pastes the Meta token after first
1425
+ * deploy via the AWS console (the secret rotation knob would be
1426
+ * a Phase 2 enhancement once token rotation is part of the API).
1427
+ * - When `domain` AND `hostedZoneId` are both set, Route53 CNAME
1428
+ * records for the three SES DKIM tokens, plus an MX + TXT record
1429
+ * on the MAIL FROM subdomain. Without `hostedZoneId`, the
1430
+ * records are emitted as stack outputs and the operator
1431
+ * publishes them manually.
1432
+ *
1433
+ * Resources NOT created here: dispatcher cron Lambda, bounce-handler
1434
+ * Lambda, IAM grants on the shared role. Those need the role + VPC
1435
+ * + SG which only exist later in the constructor — see
1436
+ * `provisionNotifyHandlers` below.
1437
+ */
1438
+ createNotify(intent, projectName, stage) {
1439
+ const logicalId = `notify-${intent.id}`;
1440
+ const channels = Array.isArray(intent.channels) ? intent.channels : [];
1441
+ // Stable, predictable resource names. Avoid hashing — operators
1442
+ // often grep CloudFormation outputs / IAM policies for the
1443
+ // intent id and silent hashes break that workflow.
1444
+ const configurationSetName = intent.configurationSetName ?? `${projectName}-${stage}-notify-${intent.id}`;
1445
+ // ── SNS events topic ────────────────────────────────────────────
1446
+ // Receives every SES event for this configuration set. Subscribed
1447
+ // to by the bounce-handler Lambda (provisioned later) and
1448
+ // optionally by external observability tools. Encryption at rest
1449
+ // with the AWS-managed key — events occasionally contain
1450
+ // recipient PII (bounce diagnostic emails) which we don't want
1451
+ // sitting unencrypted in case of an account compromise.
1452
+ const eventsTopic = new sns.Topic(this, `${logicalId}-events`, {
1453
+ topicName: `${projectName}-${stage}-notify-${intent.id}-events`,
1454
+ displayName: `VentureKit notify events for ${intent.id} (${stage})`,
1455
+ masterKey: undefined, // AWS-managed encryption is fine; KMS CMK
1456
+ // would add cost + key-policy maintenance
1457
+ // for a topic only consumed by our own
1458
+ // Lambda + the operator's SNS console.
1459
+ });
1460
+ new cdk.CfnOutput(this, `${logicalId}-events-topic-arn`, {
1461
+ value: eventsTopic.topicArn,
1462
+ description: `SES events SNS topic for notify '${intent.id}'`,
1463
+ });
1464
+ // ── SES email identity ──────────────────────────────────────────
1465
+ // Two paths depending on what the intent declared:
1466
+ // - `domain` set → verify the whole domain. SES creates
1467
+ // DKIM tokens; we publish the matching
1468
+ // CNAMEs in Route53 when `hostedZoneId`
1469
+ // is set.
1470
+ // - `defaultFrom` only → verify a single email address. SES
1471
+ // sends a verification email to it;
1472
+ // sending is blocked until the
1473
+ // recipient clicks through. Useful for
1474
+ // sandbox / dev where the operator
1475
+ // doesn't own the domain DNS.
1476
+ let identityArn;
1477
+ if (intent.domain) {
1478
+ const domainIdentity = new ses.EmailIdentity(this, `${logicalId}-domain`, {
1479
+ identity: ses.Identity.domain(intent.domain),
1480
+ configurationSet: undefined, // attached to per-send command, not identity
1481
+ dkimSigning: true,
1482
+ feedbackForwarding: false, // we use the configuration set
1483
+ // event destination instead — no need
1484
+ // for SES to email the operator on
1485
+ // every bounce.
1486
+ });
1487
+ identityArn = `arn:${cdk.Aws.PARTITION}:ses:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:identity/${intent.domain}`;
1488
+ // CDK's `EmailIdentity` exposes the three DKIM token pairs as
1489
+ // discrete properties (`dkimDnsTokenName1/2/3` +
1490
+ // `dkimDnsTokenValue1/2/3`), not as arrays. We tuple them up
1491
+ // here so the loop below stays uniform.
1492
+ const dkimTokens = [
1493
+ { name: domainIdentity.dkimDnsTokenName1, value: domainIdentity.dkimDnsTokenValue1 },
1494
+ { name: domainIdentity.dkimDnsTokenName2, value: domainIdentity.dkimDnsTokenValue2 },
1495
+ { name: domainIdentity.dkimDnsTokenName3, value: domainIdentity.dkimDnsTokenValue3 },
1496
+ ];
1497
+ // DKIM token outputs — operator publishes these as CNAMEs in DNS
1498
+ // unless we own the zone (Route53 path below).
1499
+ dkimTokens.forEach((tok, i) => {
1500
+ new cdk.CfnOutput(this, `${logicalId}-dkim-${i + 1}-record`, {
1501
+ value: `${tok.name}.${intent.domain} CNAME ${tok.value}.dkim.amazonses.com`,
1502
+ description: `DKIM CNAME #${i + 1} for ${intent.domain} — publish in DNS`,
1503
+ });
1504
+ });
1505
+ if (intent.hostedZoneId) {
1506
+ const zone = route53.HostedZone.fromHostedZoneAttributes(this, `${logicalId}-zone`, {
1507
+ hostedZoneId: intent.hostedZoneId,
1508
+ zoneName: intent.domain,
1509
+ });
1510
+ // Auto-publish the three DKIM CNAMEs. Route53 charges $0.50
1511
+ // per hosted zone + $0.40 per million queries — these records
1512
+ // are queried only by SES so the cost is negligible.
1513
+ dkimTokens.forEach((tok, i) => {
1514
+ new route53.CnameRecord(this, `${logicalId}-dkim-record-${i + 1}`, {
1515
+ zone,
1516
+ // The token names from CDK are unqualified (e.g. `abc123`);
1517
+ // SES requires the full `<token>._domainkey.<domain>` form.
1518
+ // Route53 appends the zone automatically when `recordName`
1519
+ // is unqualified, so we just pass the SES-style label.
1520
+ recordName: `${tok.name}._domainkey`,
1521
+ domainName: `${tok.value}.dkim.amazonses.com`,
1522
+ ttl: cdk.Duration.minutes(5),
1523
+ });
1524
+ });
1525
+ // Custom MAIL FROM subdomain (`mail.<domain>`) improves DMARC
1526
+ // alignment by making the SMTP envelope-sender match the From
1527
+ // domain. SES requires an MX record on the subdomain pointing
1528
+ // at `feedback-smtp.<region>.amazonses.com` plus a TXT record
1529
+ // for SPF. We don't auto-enable in Phase 1 — turning it on
1530
+ // mid-life would temporarily break sending if the records
1531
+ // aren't published — but emit the recommendation as an output.
1532
+ new cdk.CfnOutput(this, `${logicalId}-mail-from-suggestion`, {
1533
+ value: `mail.${intent.domain}`,
1534
+ description: `Suggested MAIL FROM subdomain — enable in SES console for SPF alignment`,
1535
+ });
1536
+ }
1537
+ new cdk.CfnOutput(this, `${logicalId}-domain-identity`, {
1538
+ value: intent.domain,
1539
+ description: `SES domain identity for notify '${intent.id}'`,
1540
+ });
1541
+ }
1542
+ else if (intent.defaultFrom) {
1543
+ new ses.EmailIdentity(this, `${logicalId}-email`, {
1544
+ identity: ses.Identity.email(intent.defaultFrom),
1545
+ // No DKIM signing on single-address identities — SES doesn't
1546
+ // support DKIM without a verified domain.
1547
+ feedbackForwarding: false,
1548
+ });
1549
+ identityArn = `arn:${cdk.Aws.PARTITION}:ses:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:identity/${intent.defaultFrom}`;
1550
+ new cdk.CfnOutput(this, `${logicalId}-email-identity`, {
1551
+ value: intent.defaultFrom,
1552
+ description: `SES email identity for notify '${intent.id}'. ` +
1553
+ `Verify by clicking the SES email sent to this address on first deploy.`,
1554
+ });
1555
+ }
1556
+ else {
1557
+ throw new Error(`[venturekit] notify intent '${intent.id}' must declare either ` +
1558
+ `'defaultFrom' (single-address SES identity) or 'domain' (DomainIdentity).`);
1559
+ }
1560
+ // ── Configuration set + event destination ───────────────────────
1561
+ // The configuration set is attached at send-time (every
1562
+ // SendEmailCommand carries `ConfigurationSetName`). Its event
1563
+ // destination publishes selected event types to the SNS topic
1564
+ // above. We subscribe to bounce/complaint always (suppression
1565
+ // logic depends on them), plus delivery/open/click for
1566
+ // observability. Reject — SES rejecting a send for content
1567
+ // reasons — is implicit (the SendEmail call throws synchronously
1568
+ // and the dispatcher captures it without needing the event).
1569
+ const configSet = new ses.ConfigurationSet(this, `${logicalId}-config-set`, {
1570
+ configurationSetName,
1571
+ sendingEnabled: true,
1572
+ reputationMetrics: true, // surface deliverability metrics in
1573
+ // CloudWatch — free, helpful for
1574
+ // operators chasing soft-bounce rates.
1575
+ tlsPolicy: ses.ConfigurationSetTlsPolicy.REQUIRE,
1576
+ });
1577
+ new ses.ConfigurationSetEventDestination(this, `${logicalId}-event-dest`, {
1578
+ configurationSet: configSet,
1579
+ destination: ses.EventDestination.snsTopic(eventsTopic),
1580
+ events: [
1581
+ ses.EmailSendingEvent.SEND,
1582
+ ses.EmailSendingEvent.REJECT,
1583
+ ses.EmailSendingEvent.BOUNCE,
1584
+ ses.EmailSendingEvent.COMPLAINT,
1585
+ ses.EmailSendingEvent.DELIVERY,
1586
+ ses.EmailSendingEvent.OPEN,
1587
+ ses.EmailSendingEvent.CLICK,
1588
+ ],
1589
+ enabled: true,
1590
+ });
1591
+ new cdk.CfnOutput(this, `${logicalId}-config-set-name`, {
1592
+ value: configurationSetName,
1593
+ description: `SES configuration set name for notify '${intent.id}'`,
1594
+ });
1595
+ // ── WhatsApp token secret ───────────────────────────────────────
1596
+ let whatsappTokenSecret;
1597
+ if (channels.includes('whatsapp')) {
1598
+ if (!intent.whatsapp?.phoneNumberId) {
1599
+ throw new Error(`[venturekit] notify intent '${intent.id}' has 'whatsapp' channel ` +
1600
+ `but no 'whatsapp.phoneNumberId'. Set it from Meta Business Suite ` +
1601
+ `→ WhatsApp → API Setup.`);
1602
+ }
1603
+ whatsappTokenSecret = new secretsmanager.Secret(this, `${logicalId}-whatsapp-token`, {
1604
+ secretName: `venturekit/${projectName}/${stage}/notify-${intent.id}-whatsapp-token`,
1605
+ description: `Meta WhatsApp Cloud API access token for notify '${intent.id}'. ` +
1606
+ `Set the value via the Secrets Manager console after first deploy.`,
1607
+ // The secret is created with a placeholder — the operator
1608
+ // pastes the real Meta token via the console. Auto-rotation
1609
+ // is not wired (Meta tokens are long-lived; rotation is a
1610
+ // Phase 2 concern).
1611
+ secretStringValue: cdk.SecretValue.unsafePlainText('PLACEHOLDER_SET_VALUE_AFTER_DEPLOY'),
1612
+ removalPolicy: this.toRemovalPolicy(),
1613
+ });
1614
+ new cdk.CfnOutput(this, `${logicalId}-whatsapp-token-arn`, {
1615
+ value: whatsappTokenSecret.secretArn,
1616
+ description: `Set the value of this secret to your Meta WhatsApp access token: ` +
1617
+ `aws secretsmanager put-secret-value --secret-id <arn> --secret-string '<token>'`,
1618
+ });
1619
+ }
1620
+ this.notifyConfigs.push({
1621
+ intent,
1622
+ configurationSetName,
1623
+ eventsTopic,
1624
+ identityArn,
1625
+ whatsappTokenSecret,
1626
+ });
1627
+ }
1628
+ /**
1629
+ * Auto-provision the dispatcher cron Lambda + the bounce-handler
1630
+ * Lambda subscribed to the SES events SNS topic, for every notify
1631
+ * intent.
1632
+ *
1633
+ * Implementation notes:
1634
+ *
1635
+ * - The Lambdas import a stub shipped inside `@venturekit/notify`
1636
+ * (`runtime/dispatcher-stub.ts`, `runtime/bounce-handler-stub.ts`).
1637
+ * At synth time we copy the stub into the project's `.vk/` dir
1638
+ * alongside a generated `notify-client-import.ts` shim that
1639
+ * re-exports the consumer's `notify` instance from
1640
+ * `VENTURE_NOTIFY_CLIENT_MODULE` (default `src/lib/notify.ts`).
1641
+ * esbuild then bundles the whole closure into the Lambda — the
1642
+ * consumer's notify config + every provider + the @venturekit
1643
+ * runtime, all in one deploy artefact.
1644
+ *
1645
+ * - We re-use the shared Lambda role for these handlers. Permissions:
1646
+ * - SES + secrets grants are already attached above
1647
+ * (`provisionNotifyHandlers` is called from the same block).
1648
+ * - SNS topic subscription + invocation perms are added by CDK
1649
+ * when we wire `topic.addSubscription(LambdaSubscription)`.
1650
+ *
1651
+ * - VPC attachment: yes, when the project has a VPC. The dispatcher
1652
+ * needs DB access (Postgres outbox + preferences); the bounce
1653
+ * handler also writes `notification_event_log`.
1654
+ */
1655
+ provisionNotifyHandlers(projectName, stage, projectDir, role, securityGroup, vpc) {
1656
+ // Resolve the path to the stubs inside the consumer's
1657
+ // `node_modules/@venturekit/notify`. We use Node's resolver via a
1658
+ // module-relative `require.resolve` pinned at the consumer's
1659
+ // `package.json`. If `@venturekit/notify` isn't a project
1660
+ // dependency we throw with a helpful message — declaring a
1661
+ // notify intent in vk.config.ts without installing the runtime
1662
+ // package is a frequent first-time-user mistake.
1663
+ const projectRequire = createRequire(path.join(projectDir, 'package.json'));
1664
+ let dispatcherStubSrc;
1665
+ let bounceStubSrc;
1666
+ try {
1667
+ dispatcherStubSrc = projectRequire.resolve('@venturekit/notify/runtime/dispatcher-stub');
1668
+ bounceStubSrc = projectRequire.resolve('@venturekit/notify/runtime/bounce-handler-stub');
1669
+ }
1670
+ catch (err) {
1671
+ throw new Error(`[venturekit] notify intent declared but '@venturekit/notify' is not ` +
1672
+ `installed in the project. Run \`pnpm add @venturekit/notify\` ` +
1673
+ `(or your equivalent) and redeploy. Underlying error: ${err.message}`);
1674
+ }
1675
+ // Materialize copies of the stubs in `.vk/` so esbuild can resolve
1676
+ // their `import { notify } from '<projectClientModule>'` against
1677
+ // the project's source tree. Writing to `.vk/` keeps the stubs out
1678
+ // of the consumer's `src/` (and out of `git status` if they
1679
+ // gitignore `.vk/`, which the init template already does).
1680
+ const vkDir = path.join(projectDir, '.vk');
1681
+ fs.mkdirSync(vkDir, { recursive: true });
1682
+ for (const cfg of this.notifyConfigs) {
1683
+ const id = String(cfg.intent.id);
1684
+ const dispatchRateMinutes = cfg.intent.dispatchRateMinutes && cfg.intent.dispatchRateMinutes >= 1
1685
+ ? cfg.intent.dispatchRateMinutes
1686
+ : 1;
1687
+ const batchSize = cfg.intent.dispatchBatchSize && cfg.intent.dispatchBatchSize >= 1
1688
+ ? cfg.intent.dispatchBatchSize
1689
+ : 50;
1690
+ // Per-intent stub copies — the consumer might declare multiple
1691
+ // notify intents (separate domains for marketing vs
1692
+ // transactional, say), each with its own client module. Naming
1693
+ // by id prevents collisions.
1694
+ const dispatchStubPath = path.join(vkDir, `notify-${id}-dispatcher.ts`);
1695
+ const bounceStubPath = path.join(vkDir, `notify-${id}-bounce.ts`);
1696
+ fs.copyFileSync(dispatcherStubSrc, dispatchStubPath);
1697
+ fs.copyFileSync(bounceStubSrc, bounceStubPath);
1698
+ // --- Dispatcher cron Lambda --------------------------------
1699
+ const dispatcherFnId = `notify-${id}-dispatcher`;
1700
+ const dispatcherDlq = new sqs.Queue(this, `${dispatcherFnId}-dlq`, {
1701
+ queueName: `${projectName}-${stage}-${dispatcherFnId}-dlq`,
1702
+ retentionPeriod: cdk.Duration.days(14),
1703
+ encryption: sqs.QueueEncryption.SQS_MANAGED,
1704
+ });
1705
+ const dispatcherFn = new lambda.Function(this, dispatcherFnId, {
1706
+ functionName: `${projectName}-${stage}-${dispatcherFnId}`,
1707
+ runtime: this.toLambdaRuntime(),
1708
+ architecture: this.toLambdaArchitecture(),
1709
+ handler: 'index.main',
1710
+ code: this.bundleHandlerCode(dispatchStubPath),
1711
+ memorySize: this.envConfig.lambda.memoryMb,
1712
+ timeout: cdk.Duration.seconds(60),
1713
+ description: `Notify dispatcher for '${id}' — drains the outbox.`,
1714
+ environment: {
1715
+ ...this.ventureBaseEnv,
1716
+ VENTURE_NOTIFY_BATCH_SIZE: String(batchSize),
1717
+ },
1718
+ logRetention: this.toLogRetention(this.envConfig.observability.logs.retentionDays),
1719
+ tracing: this.envConfig.lambda.tracingEnabled
1720
+ ? lambda.Tracing.ACTIVE
1721
+ : lambda.Tracing.DISABLED,
1722
+ deadLetterQueue: dispatcherDlq,
1723
+ deadLetterQueueEnabled: true,
1724
+ role,
1725
+ ...(vpc && securityGroup
1726
+ ? {
1727
+ vpc,
1728
+ vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
1729
+ securityGroups: [securityGroup],
1730
+ }
1731
+ : {}),
1732
+ });
1733
+ new events.Rule(this, `${dispatcherFnId}-rule`, {
1734
+ ruleName: `${projectName}-${stage}-${dispatcherFnId}`,
1735
+ schedule: events.Schedule.rate(cdk.Duration.minutes(dispatchRateMinutes)),
1736
+ enabled: true,
1737
+ targets: [new targets.LambdaFunction(dispatcherFn)],
1738
+ });
1739
+ new cdk.CfnOutput(this, `${dispatcherFnId}-arn`, {
1740
+ value: dispatcherFn.functionArn,
1741
+ description: `Notify dispatcher Lambda ARN for '${id}'`,
1742
+ });
1743
+ // --- Bounce handler Lambda ---------------------------------
1744
+ const bounceFnId = `notify-${id}-bounce-handler`;
1745
+ const bounceDlq = new sqs.Queue(this, `${bounceFnId}-dlq`, {
1746
+ queueName: `${projectName}-${stage}-${bounceFnId}-dlq`,
1747
+ retentionPeriod: cdk.Duration.days(14),
1748
+ encryption: sqs.QueueEncryption.SQS_MANAGED,
1749
+ });
1750
+ const bounceFn = new lambda.Function(this, bounceFnId, {
1751
+ functionName: `${projectName}-${stage}-${bounceFnId}`,
1752
+ runtime: this.toLambdaRuntime(),
1753
+ architecture: this.toLambdaArchitecture(),
1754
+ handler: 'index.main',
1755
+ code: this.bundleHandlerCode(bounceStubPath),
1756
+ memorySize: this.envConfig.lambda.memoryMb,
1757
+ timeout: cdk.Duration.seconds(30),
1758
+ description: `Notify bounce/complaint handler for '${id}'.`,
1759
+ environment: { ...this.ventureBaseEnv },
1760
+ logRetention: this.toLogRetention(this.envConfig.observability.logs.retentionDays),
1761
+ tracing: this.envConfig.lambda.tracingEnabled
1762
+ ? lambda.Tracing.ACTIVE
1763
+ : lambda.Tracing.DISABLED,
1764
+ deadLetterQueue: bounceDlq,
1765
+ deadLetterQueueEnabled: true,
1766
+ role,
1767
+ ...(vpc && securityGroup
1768
+ ? {
1769
+ vpc,
1770
+ vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
1771
+ securityGroups: [securityGroup],
1772
+ }
1773
+ : {}),
1774
+ });
1775
+ cfg.eventsTopic.addSubscription(new snsSubscriptions.LambdaSubscription(bounceFn));
1776
+ new cdk.CfnOutput(this, `${bounceFnId}-arn`, {
1777
+ value: bounceFn.functionArn,
1778
+ description: `Notify bounce-handler Lambda ARN for '${id}'`,
1779
+ });
1780
+ }
1781
+ }
1281
1782
  /**
1282
1783
  * Well-Architected: Reliability — DLQ by default, stable logical ID
1283
1784
  * Well-Architected: Security — encryption at rest with SQS managed keys
@@ -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/dist/venture.d.ts CHANGED
@@ -10,7 +10,7 @@
10
10
  * - Infrastructure lives in CDK VentureStack
11
11
  */
12
12
  import { BaseConfig, SecurityConfig, EnvConfigInput, ResolvedConfig } from '@venturekit/core';
13
- import type { VentureIntent, DatabaseIntent, StorageIntent, AuthIntent, QueueIntent, CacheIntent, ScheduleIntent, FunctionIntent, MonitoringIntent, SecretsIntent, EnvVarIntent, DomainIntent } from '@venturekit/core';
13
+ import type { VentureIntent, DatabaseIntent, StorageIntent, AuthIntent, QueueIntent, CacheIntent, ScheduleIntent, FunctionIntent, MonitoringIntent, SecretsIntent, EnvVarIntent, DomainIntent, NotifyIntent } from '@venturekit/core';
14
14
  /**
15
15
  * VentureKit application definition
16
16
  */
@@ -62,6 +62,13 @@ export interface VentureDefinition {
62
62
  envVars?: EnvVarIntent[];
63
63
  /** Custom domains — shared definitions */
64
64
  domains?: DomainIntent[];
65
+ /**
66
+ * Transactional notify configurations — shared definitions. See
67
+ * `NotifyIntent` in `@venturekit/core`. Each entry triggers SES
68
+ * identity provisioning, the outbox migration, and the auto-
69
+ * provisioned dispatcher cron + bounce-handler Lambdas.
70
+ */
71
+ notify?: NotifyIntent[];
65
72
  }
66
73
  /**
67
74
  * VentureKit app configuration (returned by app())
@@ -1 +1 @@
1
- {"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EAEd,cAAc,EAKf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,IAAI,EAAE,UAAU,CAAC;IAEjB,+CAA+C;IAC/C,QAAQ,EAAE,cAAc,CAAC;IAEzB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG;QACrC,GAAG,CAAC,EAAE,cAAc,CAAC;QACrB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,IAAI,CAAC,EAAE,cAAc,CAAC;KACvB,CAAC;IAEF,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mGAAmG;IACnG,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,kDAAkD;IAClD,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAEpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAEvB,kCAAkC;IAClC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAEvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,sCAAsC;IACtC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEhC,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,qDAAqD;IACrD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAmDD,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB;;;;;oCAY5B,MAAM,KAAG,aAAa,GAAG,SAAS;;eAoClD;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;EAY/B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,GACvB,cAAc,CAMhB"}
1
+ {"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EAEd,cAAc,EAKf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,IAAI,EAAE,UAAU,CAAC;IAEjB,+CAA+C;IAC/C,QAAQ,EAAE,cAAc,CAAC;IAEzB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG;QACrC,GAAG,CAAC,EAAE,cAAc,CAAC;QACrB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,IAAI,CAAC,EAAE,cAAc,CAAC;KACvB,CAAC;IAEF,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mGAAmG;IACnG,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,kDAAkD;IAClD,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAEpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAEvB,kCAAkC;IAClC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAEvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,sCAAsC;IACtC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEhC,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,qDAAqD;IACrD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAmDD,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB;;;;;oCAY5B,MAAM,KAAG,aAAa,GAAG,SAAS;;eAqClD;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;EAY/B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,GACvB,cAAc,CAMhB"}
package/dist/venture.js CHANGED
@@ -88,6 +88,7 @@ export function defineVenture(definition) {
88
88
  assign('monitoring', mergeById(definition.monitoring, envConfig?.monitoring));
89
89
  assign('secrets', mergeById(definition.secrets, envConfig?.secrets));
90
90
  assign('domains', mergeById(definition.domains, envConfig?.domains));
91
+ assign('notify', mergeById(definition.notify, envConfig?.notify));
91
92
  // envVars: concat shared + env-specific (no id matching)
92
93
  const allEnvVars = [...(definition.envVars || []), ...(envConfig?.envVars || [])];
93
94
  if (allEnvVars.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"venture.js","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"venture.js","sourceRoot":"","sources":["../src/venture.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.20260506123337",
3
+ "version": "0.0.0-dev.20260507015944",
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.20260506123337",
40
+ "@venturekit/core": "0.0.0-dev.20260507015944",
41
41
  "aws-cdk-lib": "^2.251.0",
42
42
  "constructs": "^10.6.0",
43
43
  "esbuild": "^0.24.0"