@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.
- package/dist/cdk/migration-runner.d.ts +14 -0
- package/dist/cdk/migration-runner.d.ts.map +1 -1
- package/dist/cdk/migration-runner.js +105 -1
- package/dist/cdk/migration-runner.js.map +1 -1
- package/dist/cdk/stack.d.ts +75 -0
- package/dist/cdk/stack.d.ts.map +1 -1
- package/dist/cdk/stack.js +501 -0
- package/dist/cdk/stack.js.map +1 -1
- package/dist/venture.d.ts +8 -1
- package/dist/venture.d.ts.map +1 -1
- package/dist/venture.js +1 -0
- package/dist/venture.js.map +1 -1
- package/package.json +2 -2
|
@@ -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;
|
|
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:
|
|
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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"}
|
package/dist/cdk/stack.d.ts
CHANGED
|
@@ -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
|
package/dist/cdk/stack.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/cdk/stack.js.map
CHANGED
|
@@ -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())
|
package/dist/venture.d.ts.map
CHANGED
|
@@ -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;
|
|
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) {
|
package/dist/venture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venture.js","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAML,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,GACZ,MAAM,kBAAkB,CAAC;
|
|
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.
|
|
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.
|
|
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"
|