@quiltdata/benchling-webhook 0.8.8 → 0.9.0-20251126T040420Z

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/README.md CHANGED
@@ -65,6 +65,13 @@ If the App Canvas is not already part of your standard notebook template, Benchl
65
65
 
66
66
  ![App Canvas - Insert](imgs/benchling-insert.png)
67
67
 
68
+ ## Architecture (v0.9.0)
69
+
70
+ - **API Gateway HTTP API** terminates TLS and forwards requests through a **VPC Link** to **Cloud Map** service discovery
71
+ - **ECS Fargate** tasks register in `benchling.local` and serve FastAPI on port **8080** (no ALB hop)
72
+ - **S3 + SQS** remain the storage and queue backends for package creation
73
+ - **CloudWatch Logs** capture API access logs (`/aws/apigateway/benchling-webhook-http`) and container logs (stack name)
74
+
68
75
  ## Installation
69
76
 
70
77
  ### 1. Installing the Benchling App
@@ -1 +1 @@
1
- {"version":3,"file":"setup-profile.d.ts","sourceRoot":"","sources":["../../../bin/commands/setup-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACN,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,GACF,OAAO,CAAC,IAAI,CAAC,CAoNf"}
1
+ {"version":3,"file":"setup-profile.d.ts","sourceRoot":"","sources":["../../../bin/commands/setup-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACN,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,GACF,OAAO,CAAC,IAAI,CAAC,CAmQf"}
@@ -114,6 +114,12 @@ async function setupProfileCommand(profileName, options) {
114
114
  message: "Use a different Secrets Manager ARN for this profile?",
115
115
  default: false,
116
116
  },
117
+ {
118
+ type: "confirm",
119
+ name: "customizeVpc",
120
+ message: "Specify an existing VPC (or auto-create)?",
121
+ default: false,
122
+ },
117
123
  ]);
118
124
  // Optionally prompt for custom Quilt stack ARN
119
125
  let quiltStackArn = baseConfig.quilt.stackArn;
@@ -157,6 +163,43 @@ async function setupProfileCommand(profileName, options) {
157
163
  ]);
158
164
  secretArn = secretAnswer.secretArn;
159
165
  }
166
+ // Optionally prompt for VPC ID
167
+ let vpcId;
168
+ if (answers.customizeVpc) {
169
+ const vpcAnswer = await inquirer_1.default.prompt([
170
+ {
171
+ type: "input",
172
+ name: "vpcId",
173
+ message: "VPC ID (leave empty to auto-create VPC with private subnets):",
174
+ default: baseConfig.deployment.vpc?.vpcId || "",
175
+ validate: (input) => {
176
+ if (!input || input.trim().length === 0) {
177
+ return true; // Empty is OK - will auto-create VPC
178
+ }
179
+ if (!/^vpc-[a-f0-9]{8,17}$/.test(input)) {
180
+ return "Invalid VPC ID format (expected vpc-xxxxxxxx)";
181
+ }
182
+ return true;
183
+ },
184
+ },
185
+ ]);
186
+ vpcId = vpcAnswer.vpcId.trim() || undefined;
187
+ // If VPC ID was provided, show a warning about requirements
188
+ if (vpcId) {
189
+ console.log(chalk_1.default.yellow("\n⚠️ VPC Requirements (v0.9.0):"));
190
+ console.log(chalk_1.default.dim(" - Must have private subnets in at least 2 availability zones"));
191
+ console.log(chalk_1.default.dim(" - Private subnets must have NAT Gateway for outbound internet"));
192
+ console.log(chalk_1.default.dim(" - VPC Link requires proper routing configuration"));
193
+ console.log(chalk_1.default.dim(" - Deployment will fail if VPC doesn't meet these requirements\n"));
194
+ }
195
+ else {
196
+ console.log(chalk_1.default.green("\n✓ Will auto-create VPC with:"));
197
+ console.log(chalk_1.default.dim(" - 2 Availability Zones"));
198
+ console.log(chalk_1.default.dim(" - Public subnets (for NAT Gateways)"));
199
+ console.log(chalk_1.default.dim(" - Private subnets (for ECS tasks)"));
200
+ console.log(chalk_1.default.dim(" - 2 NAT Gateways (~$64/month)\n"));
201
+ }
202
+ }
160
203
  // Create profile config
161
204
  const profileConfig = {
162
205
  quilt: {
@@ -174,6 +217,7 @@ async function setupProfileCommand(profileName, options) {
174
217
  deployment: {
175
218
  ...baseConfig.deployment,
176
219
  imageTag: answers.imageTag,
220
+ vpc: vpcId ? { vpcId } : baseConfig.deployment.vpc,
177
221
  },
178
222
  logging: baseConfig.logging,
179
223
  security: baseConfig.security,
@@ -209,6 +253,7 @@ async function setupProfileCommand(profileName, options) {
209
253
  console.log(chalk_1.default.dim(` Image Tag: ${profileConfig.deployment.imageTag}`));
210
254
  console.log(chalk_1.default.dim(` Secret ARN: ${profileConfig.benchling.secretArn}`));
211
255
  console.log(chalk_1.default.dim(` Quilt Stack: ${profileConfig.quilt.stackArn}`));
256
+ console.log(chalk_1.default.dim(` VPC: ${profileConfig.deployment.vpc?.vpcId || "auto-create"}`));
212
257
  console.log();
213
258
  }
214
259
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-profile.js","sourceRoot":"","sources":["../../../bin/commands/setup-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-profile.js","sourceRoot":"","sources":["../../../bin/commands/setup-profile.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * XDG Launch: Unified Configuration Bridge
4
4
  *
5
- * Single command to launch Flask application in different modes (native, docker, docker-dev)
5
+ * Single command to launch FastAPI application in different modes (native, docker, docker-dev)
6
6
  * using profile-based XDG configuration as the single source of truth.
7
7
  *
8
8
  * Eliminates .env files and manual environment variable management.
@@ -1 +1 @@
1
- {"version":3,"file":"xdg-launch.d.ts","sourceRoot":"","sources":["../../bin/xdg-launch.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAErD;;GAEG;AACH,UAAU,aAAa;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAyCrD;AA2BD;;;;;GAKG;AACH,iBAAS,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAmBvD;AAgCD;;;;;;;;;GASG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAkD9F;AAED;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA2C/D;AAED;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAWhD;AAgZD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"xdg-launch.d.ts","sourceRoot":"","sources":["../../bin/xdg-launch.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAErD;;GAEG;AACH,UAAU,aAAa;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAyCrD;AA2BD;;;;;GAKG;AACH,iBAAS,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAmBvD;AAgCD;;;;;;;;;GASG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAyD9F;AAED;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA2C/D;AAED;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAWhD;AA0eD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * XDG Launch: Unified Configuration Bridge
5
5
  *
6
- * Single command to launch Flask application in different modes (native, docker, docker-dev)
6
+ * Single command to launch FastAPI application in different modes (native, docker, docker-dev)
7
7
  * using profile-based XDG configuration as the single source of truth.
8
8
  *
9
9
  * Eliminates .env files and manual environment variable management.
@@ -153,9 +153,16 @@ function extractSecretName(arn) {
153
153
  * @returns Environment variables map
154
154
  */
155
155
  function buildEnvVars(config, mode, options) {
156
+ // Filter out undefined values from process.env and convert to Record<string, string>
157
+ const filteredProcessEnv = {};
158
+ for (const [key, value] of Object.entries(process.env)) {
159
+ if (value !== undefined) {
160
+ filteredProcessEnv[key] = value;
161
+ }
162
+ }
156
163
  const envVars = {
157
- // Preserve existing process.env
158
- ...process.env,
164
+ // Preserve existing process.env (with undefined values filtered out)
165
+ ...filteredProcessEnv,
159
166
  // Quilt Services (v0.8.0+ service-specific - NO MORE STACK ARN!)
160
167
  QUILT_WEB_HOST: config.quilt.catalog,
161
168
  ATHENA_USER_DATABASE: config.quilt.database,
@@ -176,8 +183,7 @@ function buildEnvVars(config, mode, options) {
176
183
  };
177
184
  // Mode-specific variables
178
185
  if (mode === "native" || mode === "docker-dev") {
179
- envVars.FLASK_ENV = "development";
180
- envVars.FLASK_DEBUG = "true";
186
+ envVars.APP_ENV = "development";
181
187
  envVars.LOG_LEVEL = config.logging?.level || "DEBUG";
182
188
  // Disable verification in dev mode for easier testing
183
189
  if (mode === "docker-dev") {
@@ -186,7 +192,7 @@ function buildEnvVars(config, mode, options) {
186
192
  }
187
193
  else {
188
194
  // docker (production)
189
- envVars.FLASK_ENV = "production";
195
+ envVars.APP_ENV = "production";
190
196
  envVars.LOG_LEVEL = config.logging?.level || "INFO";
191
197
  }
192
198
  // Test mode flag
@@ -266,6 +272,18 @@ function filterSecrets(envVars) {
266
272
  * @returns Child process
267
273
  */
268
274
  function spawnDockerCompose(args, dockerDir, envVars, stdio = "inherit") {
275
+ // Debug: Log key environment variables being passed
276
+ const keyVars = ["QUILT_WEB_HOST", "ATHENA_USER_DATABASE", "PACKAGER_SQS_URL", "BenchlingSecret"];
277
+ const debug = process.env.DEBUG_XDG === "true";
278
+ if (debug) {
279
+ console.log("DEBUG: Spawning docker-compose with environment:");
280
+ keyVars.forEach(key => {
281
+ const value = envVars[key];
282
+ console.log(` ${key}=${value ? (key.includes("Secret") ? "***" : value) : "MISSING"}`);
283
+ });
284
+ console.log(`DEBUG: cwd=${dockerDir}`);
285
+ console.log(`DEBUG: command=docker-compose ${args.join(" ")}`);
286
+ }
269
287
  return (0, child_process_1.spawn)("docker-compose", args, {
270
288
  cwd: dockerDir,
271
289
  env: envVars,
@@ -291,9 +309,19 @@ async function waitForHealth(url, maxAttempts = 30, delayMs = 1000) {
291
309
  console.log(`✅ Server is healthy (attempt ${attempt}/${maxAttempts})\n`);
292
310
  return;
293
311
  }
312
+ else {
313
+ // Log non-OK responses for debugging
314
+ if (process.env.DEBUG_XDG === "true") {
315
+ console.log(`DEBUG: Health check attempt ${attempt}: HTTP ${response.status}`);
316
+ }
317
+ }
294
318
  }
295
- catch {
296
- // Ignore errors and retry
319
+ catch (error) {
320
+ // Log errors for debugging
321
+ if (process.env.DEBUG_XDG === "true" && attempt % 5 === 0) {
322
+ const err = error;
323
+ console.log(`DEBUG: Health check attempt ${attempt}: ${err.message}`);
324
+ }
297
325
  }
298
326
  if (attempt < maxAttempts) {
299
327
  await new Promise(resolve => setTimeout(resolve, delayMs));
@@ -330,17 +358,17 @@ async function runTests(url, profile) {
330
358
  });
331
359
  }
332
360
  /**
333
- * Launch Flask application in native mode
361
+ * Launch FastAPI application in native mode
334
362
  *
335
- * Runs Flask directly on host using uv.
363
+ * Runs FastAPI directly on host using uv.
336
364
  *
337
365
  * @param envVars - Environment variables
338
366
  * @param options - Launch options
339
367
  */
340
368
  async function launchNative(envVars, options) {
341
- const port = options.port || 5001;
369
+ const port = options.port || 8080;
342
370
  envVars.PORT = String(port);
343
- console.log(`🚀 Launching native Flask (port ${port})...`);
371
+ console.log(`🚀 Launching native FastAPI (port ${port})...`);
344
372
  if (options.verbose) {
345
373
  console.log("\nEnvironment Variables:");
346
374
  const filtered = filterSecrets(envVars);
@@ -355,8 +383,8 @@ async function launchNative(envVars, options) {
355
383
  throw new Error(`Docker directory not found: ${dockerDir}`);
356
384
  }
357
385
  console.log(`Working directory: ${dockerDir}`);
358
- console.log("Command: uv run python -m src.app\n");
359
- const proc = (0, child_process_1.spawn)("uv", ["run", "python", "-m", "src.app"], {
386
+ console.log(`Command: uv run uvicorn src.app:create_app --factory --host 0.0.0.0 --port ${port}\n`);
387
+ const proc = (0, child_process_1.spawn)("uv", ["run", "uvicorn", "src.app:create_app", "--factory", "--host", "0.0.0.0", "--port", String(port)], {
360
388
  cwd: dockerDir,
361
389
  env: envVars,
362
390
  stdio: options.test ? "pipe" : "inherit",
@@ -388,7 +416,7 @@ async function launchNative(envVars, options) {
388
416
  process.on("SIGINT", cleanup);
389
417
  process.on("SIGTERM", cleanup);
390
418
  proc.on("error", (error) => {
391
- console.error(`\n❌ Failed to start native Flask: ${error.message}`);
419
+ console.error(`\n❌ Failed to start native FastAPI: ${error.message}`);
392
420
  if (error.code === "ENOENT") {
393
421
  console.error("\nIs \"uv\" installed and in your PATH?");
394
422
  console.error("Install uv: https://docs.astral.sh/uv/getting-started/installation/");
@@ -397,14 +425,14 @@ async function launchNative(envVars, options) {
397
425
  });
398
426
  proc.on("exit", (code) => {
399
427
  if (code !== 0 && code !== null) {
400
- console.error(`\n❌ Native Flask exited with code ${code}`);
428
+ console.error(`\n❌ Native FastAPI exited with code ${code}`);
401
429
  }
402
430
  process.exit(code || 0);
403
431
  });
404
432
  }
405
433
  }
406
434
  /**
407
- * Launch Flask application in Docker production mode
435
+ * Launch FastAPI application in Docker production mode
408
436
  *
409
437
  * Runs production Docker container via docker-compose.
410
438
  *
@@ -412,7 +440,7 @@ async function launchNative(envVars, options) {
412
440
  * @param options - Launch options
413
441
  */
414
442
  async function launchDocker(envVars, options) {
415
- const port = options.port || 5003;
443
+ const port = options.port || 8083;
416
444
  envVars.PORT = String(port);
417
445
  console.log(`🐳 Launching Docker production (port ${port})...`);
418
446
  if (options.verbose) {
@@ -428,6 +456,24 @@ async function launchDocker(envVars, options) {
428
456
  throw new Error(`Docker directory not found: ${dockerDir}`);
429
457
  }
430
458
  console.log(`Working directory: ${dockerDir}`);
459
+ // Build first with --pull to ensure base image is current
460
+ // This forces Docker to check if source files have changed
461
+ console.log("Building image with latest source changes...");
462
+ const buildProc = spawnDockerCompose(["build", "--pull", "app"], dockerDir, envVars, "inherit");
463
+ // Wait for build to complete
464
+ await new Promise((resolve, reject) => {
465
+ buildProc.on("exit", (code) => {
466
+ if (code === 0) {
467
+ console.log("\n✅ Build complete, starting container...\n");
468
+ resolve();
469
+ }
470
+ else {
471
+ reject(new Error(`Build failed with exit code ${code}`));
472
+ }
473
+ });
474
+ buildProc.on("error", reject);
475
+ });
476
+ // Now start the container
431
477
  console.log("Command: docker-compose up app\n");
432
478
  const proc = spawnDockerCompose(["up", "app"], dockerDir, envVars, options.test ? "pipe" : "inherit");
433
479
  // If in test mode, run tests after server is healthy
@@ -476,7 +522,7 @@ async function launchDocker(envVars, options) {
476
522
  }
477
523
  }
478
524
  /**
479
- * Launch Flask application in Docker development mode
525
+ * Launch FastAPI application in Docker development mode
480
526
  *
481
527
  * Runs Docker container with hot-reload enabled via docker-compose --profile dev.
482
528
  *
@@ -484,9 +530,10 @@ async function launchDocker(envVars, options) {
484
530
  * @param options - Launch options
485
531
  */
486
532
  async function launchDockerDev(envVars, options) {
487
- const port = options.port || 5002;
488
- envVars.PORT = String(port);
489
- console.log(`🐳 Launching Docker development (port ${port}, hot-reload enabled)...`);
533
+ const hostPort = options.port || 8082;
534
+ // Note: Container always listens on 8080, hostPort is for the port mapping
535
+ // Don't set PORT in envVars - let docker-compose.yml handle it
536
+ console.log(`🐳 Launching Docker development (port ${hostPort}, hot-reload enabled)...`);
490
537
  if (options.verbose) {
491
538
  console.log("\nEnvironment Variables:");
492
539
  const filtered = filterSecrets(envVars);
@@ -500,15 +547,45 @@ async function launchDockerDev(envVars, options) {
500
547
  throw new Error(`Docker directory not found: ${dockerDir}`);
501
548
  }
502
549
  console.log(`Working directory: ${dockerDir}`);
503
- console.log("Command: docker-compose --profile dev up app-dev\n");
504
- const proc = spawnDockerCompose(["--profile", "dev", "up", "app-dev"], dockerDir, envVars, options.test ? "pipe" : "inherit");
550
+ // Build first with --pull to ensure base image is current
551
+ // This forces Docker to check if source files have changed
552
+ console.log("Building image with latest source changes...");
553
+ const buildProc = spawnDockerCompose(["--profile", "dev", "build", "--pull", "app-dev"], dockerDir, envVars, "inherit");
554
+ // Wait for build to complete
555
+ await new Promise((resolve, reject) => {
556
+ buildProc.on("exit", (code) => {
557
+ if (code === 0) {
558
+ console.log("\n✅ Build complete, starting container...\n");
559
+ resolve();
560
+ }
561
+ else {
562
+ reject(new Error(`Build failed with exit code ${code}`));
563
+ }
564
+ });
565
+ buildProc.on("error", reject);
566
+ });
505
567
  // If in test mode, run tests after server is healthy
506
568
  if (options.test) {
569
+ // In test mode, use detached mode (-d) to start container in background
570
+ console.log("Command: docker-compose --profile dev up -d app-dev\n");
571
+ const startProc = spawnDockerCompose(["--profile", "dev", "up", "-d", "app-dev"], dockerDir, envVars, "inherit");
572
+ // Wait for docker-compose to start the container
573
+ await new Promise((resolve, reject) => {
574
+ startProc.on("exit", (code) => {
575
+ if (code === 0) {
576
+ resolve();
577
+ }
578
+ else {
579
+ reject(new Error(`docker-compose up failed with exit code ${code}`));
580
+ }
581
+ });
582
+ startProc.on("error", reject);
583
+ });
507
584
  const dockerCleanup = () => {
508
585
  spawnDockerCompose(["--profile", "dev", "down"], dockerDir, envVars);
509
586
  };
510
587
  try {
511
- const serverUrl = `http://localhost:${port}`;
588
+ const serverUrl = `http://localhost:${hostPort}`;
512
589
  await waitForHealth(serverUrl);
513
590
  const exitCode = await runTests(serverUrl, options.profile);
514
591
  console.log("\n🛑 Shutting down Docker dev container...");
@@ -524,7 +601,9 @@ async function launchDockerDev(envVars, options) {
524
601
  }
525
602
  }
526
603
  else {
527
- // Non-test mode: run server interactively with graceful shutdown
604
+ // Non-test mode: run server interactively (foreground)
605
+ console.log("Command: docker-compose --profile dev up app-dev\n");
606
+ const proc = spawnDockerCompose(["--profile", "dev", "up", "app-dev"], dockerDir, envVars, "inherit");
528
607
  const cleanup = () => {
529
608
  console.log("\n\n🛑 Shutting down Docker dev container...");
530
609
  spawnDockerCompose(["--profile", "dev", "down"], dockerDir, envVars);
@@ -1 +1 @@
1
- {"version":3,"file":"xdg-launch.js","sourceRoot":"","sources":["../../bin/xdg-launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xdg-launch.js","sourceRoot":"","sources":["../../bin/xdg-launch.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@ export interface BenchlingWebhookStackProps extends cdk.StackProps {
15
15
  readonly config: ProfileConfig;
16
16
  }
17
17
  export declare class BenchlingWebhookStack extends cdk.Stack {
18
- private readonly bucket;
19
18
  private readonly fargateService;
20
19
  private readonly api;
21
20
  readonly webhookEndpoint: string;
@@ -1 +1 @@
1
- {"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;;;;GAKG;AACH,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAC9D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAClC;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CAwNxC"}
1
+ {"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;;;;GAKG;AACH,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAC9D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAClC;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CAgQxC"}
@@ -38,11 +38,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.BenchlingWebhookStack = void 0;
40
40
  const cdk = __importStar(require("aws-cdk-lib"));
41
- const s3 = __importStar(require("aws-cdk-lib/aws-s3"));
42
41
  const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
43
42
  const ecr = __importStar(require("aws-cdk-lib/aws-ecr"));
44
43
  const fargate_service_1 = require("./fargate-service");
45
- const alb_api_gateway_1 = require("./alb-api-gateway");
44
+ const http_api_gateway_1 = require("./http-api-gateway");
46
45
  const package_json_1 = __importDefault(require("../package.json"));
47
46
  class BenchlingWebhookStack extends cdk.Stack {
48
47
  constructor(scope, id, props) {
@@ -141,11 +140,44 @@ class BenchlingWebhookStack extends cdk.Stack {
141
140
  const quiltDatabaseValue = quiltDatabaseParam.valueAsString;
142
141
  // Bucket name will be resolved at runtime from CloudFormation outputs
143
142
  // For CDK purposes, we use a placeholder for IAM permissions
144
- this.bucket = s3.Bucket.fromBucketName(this, "BWBucket", "placeholder-bucket-resolved-at-runtime");
145
- // Get the default VPC or create a new one
146
- const vpc = ec2.Vpc.fromLookup(this, "DefaultVPC", {
147
- isDefault: true,
148
- });
143
+ // VPC Configuration (v0.9.0+)
144
+ // Architecture mirrors ~/GitHub/deployment/t4/template/network.py (network_version=2.0)
145
+ // - Option 1: Use existing VPC (if vpcId specified in config)
146
+ // - Option 2: Create new VPC with private subnets and NAT Gateway (production HA setup)
147
+ const vpc = config.deployment.vpc?.vpcId
148
+ ? ec2.Vpc.fromLookup(this, "ExistingVPC", {
149
+ vpcId: config.deployment.vpc.vpcId,
150
+ })
151
+ : new ec2.Vpc(this, "BenchlingWebhookVPC", {
152
+ maxAzs: 2,
153
+ natGateways: 2, // Mirror production: 1 NAT Gateway per AZ for high availability
154
+ subnetConfiguration: [
155
+ {
156
+ name: "Public",
157
+ subnetType: ec2.SubnetType.PUBLIC,
158
+ cidrMask: 24,
159
+ },
160
+ {
161
+ name: "Private",
162
+ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, // Private + NAT Gateway
163
+ cidrMask: 24,
164
+ },
165
+ ],
166
+ });
167
+ // Validate VPC has private subnets (required for VPC Link and ECS with assignPublicIp: false)
168
+ if (vpc.privateSubnets.length === 0) {
169
+ const vpcIdentifier = config.deployment.vpc?.vpcId || "created";
170
+ throw new Error(`VPC (${vpcIdentifier}) does not have private subnets. ` +
171
+ "The v0.9.0 architecture requires private subnets with NAT Gateway for:\n" +
172
+ " - VPC Link to connect API Gateway to ECS tasks\n" +
173
+ " - ECS Fargate tasks with assignPublicIp: false\n\n" +
174
+ "If using an existing VPC, ensure it has:\n" +
175
+ " - Private subnets in at least 2 availability zones\n" +
176
+ " - NAT Gateway(s) for outbound internet access\n" +
177
+ " - Proper route tables configured\n\n" +
178
+ "Or omit vpc.vpcId from config to auto-create a VPC with the correct configuration.");
179
+ }
180
+ console.log(`Using VPC: ${config.deployment.vpc?.vpcId || "auto-created"} (${vpc.privateSubnets.length} private subnets)`);
149
181
  // HARDCODED: Always use the quiltdata AWS account for ECR images
150
182
  const account = "712023778557";
151
183
  const region = "us-east-1";
@@ -161,7 +193,6 @@ class BenchlingWebhookStack extends cdk.Stack {
161
193
  // Build Fargate Service props using new config structure
162
194
  this.fargateService = new fargate_service_1.FargateService(this, "FargateService", {
163
195
  vpc,
164
- bucket: this.bucket,
165
196
  config: config,
166
197
  ecrRepository: ecrRepo,
167
198
  imageTag: imageTagValue,
@@ -184,9 +215,11 @@ class BenchlingWebhookStack extends cdk.Stack {
184
215
  quiltDatabase: quiltDatabaseValue,
185
216
  logLevel: logLevelValue,
186
217
  });
187
- // Create API Gateway that routes to the ALB
188
- this.api = new alb_api_gateway_1.AlbApiGateway(this, "ApiGateway", {
189
- loadBalancer: this.fargateService.loadBalancer,
218
+ // Create HTTP API that routes through VPC Link to the service
219
+ this.api = new http_api_gateway_1.HttpApiGateway(this, "HttpApiGateway", {
220
+ vpc: vpc,
221
+ cloudMapService: this.fargateService.cloudMapService,
222
+ serviceSecurityGroup: this.fargateService.service.connections.securityGroups[0],
190
223
  config: config,
191
224
  });
192
225
  // Store webhook endpoint for easy access
@@ -1 +1 @@
1
- {"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"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"}