@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 +7 -0
- package/dist/bin/commands/setup-profile.d.ts.map +1 -1
- package/dist/bin/commands/setup-profile.js +45 -0
- package/dist/bin/commands/setup-profile.js.map +1 -1
- package/dist/bin/xdg-launch.d.ts +1 -1
- package/dist/bin/xdg-launch.d.ts.map +1 -1
- package/dist/bin/xdg-launch.js +105 -26
- package/dist/bin/xdg-launch.js.map +1 -1
- package/dist/lib/benchling-webhook-stack.d.ts +0 -1
- package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
- package/dist/lib/benchling-webhook-stack.js +44 -11
- package/dist/lib/benchling-webhook-stack.js.map +1 -1
- package/dist/lib/fargate-service.d.ts +2 -4
- package/dist/lib/fargate-service.d.ts.map +1 -1
- package/dist/lib/fargate-service.js +21 -56
- package/dist/lib/fargate-service.js.map +1 -1
- package/dist/lib/http-api-gateway.d.ts +19 -0
- package/dist/lib/http-api-gateway.d.ts.map +1 -0
- package/dist/lib/http-api-gateway.js +79 -0
- package/dist/lib/http-api-gateway.js.map +1 -0
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +3 -3
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types/config.d.ts +36 -1
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/config.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/lib/alb-api-gateway.d.ts +0 -23
- package/dist/lib/alb-api-gateway.d.ts.map +0 -1
- package/dist/lib/alb-api-gateway.js +0 -211
- package/dist/lib/alb-api-gateway.js.map +0 -1
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
|

|
|
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,
|
|
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":";AAAA;;;;;;;;;GASG;;;;;AAqBH,
|
|
1
|
+
{"version":3,"file":"setup-profile.js","sourceRoot":"","sources":["../../../bin/commands/setup-profile.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;AAqBH,kDAyQC;AA5RD,kDAA0B;AAC1B,wDAAgC;AAChC,qDAAiD;AAGjD;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,mBAAmB,CACrC,WAAmB,EACnB,OAGC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,WAAW,IAAI,CAAC,CAAC,CAAC;IAExE,wBAAwB;IACxB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACvG,CAAC;IAED,kEAAkE;IAClE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,sBAAS,EAAE,CAAC;IAE5B,kCAAkC;IAClC,IAAI,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACxC;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,YAAY,WAAW,8BAA8B,CAAC;gBAC5E,OAAO,EAAE,KAAK;aACjB;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACvD,OAAO;QACX,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,SAAS,CAAC;IAEtD,gCAAgC;IAChC,IAAI,UAAyB,CAAC;IAC9B,IAAI,CAAC;QACD,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,WAAW,yBAAyB,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,wCAAwC,WAAW,gBAAgB;YACnE,8DAA8D;YAC9D,YAAa,KAAe,CAAC,OAAO,EAAE,CACzC,CAAC;IACN,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACX,iBAAiB,WAAW,iDAAiD;YAC7E,+DAA+D,CAClE,CAAC;IACN,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4CAA4C,WAAW,YAAY,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;IAEjF,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAOlC;QACC;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,0CAA0C,WAAW,KAAK;YACnE,OAAO,EAAE,IAAI;SAChB;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,gCAAgC,WAAW,IAAI;YACxD,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe;YAC7C,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE,CAC1C,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,+BAA+B;SACjE;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO;YACrF,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE,CAC1C,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,uBAAuB;SACzD;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,+CAA+C;YACxD,OAAO,EAAE,KAAK;SACjB;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,uDAAuD;YAChE,OAAO,EAAE,KAAK;SACjB;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,KAAK;SACjB;KACJ,CAAC,CAAC;IAEH,+CAA+C;IAC/C,IAAI,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC9C,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAuB;YAC5D,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ;YAClC,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE;gBAC1C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtC,OAAO,6BAA6B,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;oBAC/C,OAAO,0CAA0C,CAAC;gBACtD,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;SACJ,CAAC,CAAC;QACH,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC;IACzC,CAAC;IAED,0CAA0C;IAC1C,IAAI,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC;IAC/C,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAwB;YAC9D;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS;gBACvC,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE;oBAC1C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtC,OAAO,wBAAwB,CAAC;oBACpC,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;wBAC/C,OAAO,qCAAqC,CAAC;oBACjD,CAAC;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC;aACJ;SACJ,CAAC,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,+BAA+B;IAC/B,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAoB;YACvD;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,+DAA+D;gBACxE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;gBAC/C,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE;oBAC1C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtC,OAAO,IAAI,CAAC,CAAC,qCAAqC;oBACtD,CAAC;oBACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtC,OAAO,+CAA+C,CAAC;oBAC3D,CAAC;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC;aACJ;SACJ,CAAC,CAAC;QACH,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;QAE5C,4DAA4D;QAC5D,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAkB;QACjC,KAAK,EAAE;YACH,GAAG,UAAU,CAAC,KAAK;YACnB,QAAQ,EAAE,aAAa;SAC1B;QACD,SAAS,EAAE;YACP,GAAG,UAAU,CAAC,SAAS;YACvB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS,EAAE,SAAS;SACvB;QACD,QAAQ,EAAE;YACN,GAAG,UAAU,CAAC,QAAQ;SACzB;QACD,UAAU,EAAE;YACR,GAAG,UAAU,CAAC,UAAU;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG;SACrD;QACD,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE;YACP,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,WAAW;SACvB;KACJ,CAAC;IAEF,+BAA+B;IAC/B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC;IAC1C,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gBAAgB,WAAW,wBAAwB,CAAC,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,+BAA+B,WAAW,cAAc,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,UAAU,IAAI,CAAC,CAAC,CAAC;QAEpE,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8DAA8D,WAAW,EAAE,CAAC,CAAC,CAAC;QACrG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,iBAAiB,WAAW,EAAE,CAAC,CAAC,CAAC;QAC7H,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAE/F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACjD,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yCAA0C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;AACL,CAAC"}
|
package/dist/bin/xdg-launch.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* XDG Launch: Unified Configuration Bridge
|
|
4
4
|
*
|
|
5
|
-
* Single command to launch
|
|
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,
|
|
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"}
|
package/dist/bin/xdg-launch.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* XDG Launch: Unified Configuration Bridge
|
|
5
5
|
*
|
|
6
|
-
* Single command to launch
|
|
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
|
-
...
|
|
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.
|
|
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.
|
|
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
|
-
//
|
|
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
|
|
361
|
+
* Launch FastAPI application in native mode
|
|
334
362
|
*
|
|
335
|
-
* Runs
|
|
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 ||
|
|
369
|
+
const port = options.port || 8080;
|
|
342
370
|
envVars.PORT = String(port);
|
|
343
|
-
console.log(`🚀 Launching native
|
|
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(
|
|
359
|
-
const proc = (0, child_process_1.spawn)("uv", ["run", "
|
|
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
|
|
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
|
|
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
|
|
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 ||
|
|
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
|
|
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
|
|
488
|
-
|
|
489
|
-
|
|
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
|
-
|
|
504
|
-
|
|
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:${
|
|
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
|
|
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":";;AACA;;;;;;;;;;GAUG;;AAqxBM,wCAAc;AAAE,kCAAW;AAAE,oCAAY;AAAE,wCAAc;AAAE,sCAAa;AAnxBjF,iDAAsC;AACtC,+BAA+B;AAC/B,2BAAgC;AAChC,kDAA8C;AAwB9C;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAc;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAA2B;QACpC,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;KACd,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,0CAA0C,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;YAC7E,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,UAAU,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,OAAwB,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;KAkBX,CAAC,IAAI,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,WAAmB;IACpC,MAAM,GAAG,GAAG,IAAI,sBAAS,EAAE,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACX,uBAAuB,WAAW,OAAO;YACzC,uBAAuB;YACvB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,UAAU,CACf;YACD,MAAM;YACN,yBAAyB;YACzB,gCAAgC,WAAW,EAAE,CAChD,CAAC;IACN,CAAC;IAED,OAAO,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,GAAW;IAClC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;IACd,CAAC;IACD,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1B,gEAAgE;IAChE,sEAAsE;IACtE,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAE/D,OAAO,aAAa,CAAC;AACzB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,MAAqB,EAAE,IAAgB,EAAE,OAAsB;IACjF,qFAAqF;IACrF,MAAM,kBAAkB,GAAY,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAY;QACrB,qEAAqE;QACrE,GAAG,kBAAkB;QAErB,iEAAiE;QACjE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;QACpC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC3C,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,SAAS;QACpE,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE;QAC7D,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE;QACpD,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE;QACtD,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAEvC,0FAA0F;QAC1F,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE;QAErD,oBAAoB;QACpB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM;QAC3D,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM;QAEnE,8EAA8E;QAC9E,eAAe,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;QAEpE,yBAAyB;QACzB,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,KAAK,KAAK,CAAC;KACrF,CAAC;IAEF,0BAA0B;IAC1B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7C,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC;QAChC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC;QAErD,sDAAsD;QACtD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACxB,OAAO,CAAC,2BAA2B,GAAG,OAAO,CAAC;QAClD,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,sBAAsB;QACtB,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;QAC/B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;IACxD,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACzC,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,OAAgB,EAAE,OAAe;IACrD,iFAAiF;IACjF,MAAM,QAAQ,GAAG;QACb,gBAAgB;QAChB,sBAAsB;QACtB,kBAAkB;QAClB,YAAY;QACZ,iBAAiB;KACpB,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAExD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACX,mCAAmC;YACnC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,MAAM;YACN,mCAAmC;YACnC,iCAAiC,OAAO,kBAAkB;YAC1D,kCAAkC;YAClC,gCAAgC,OAAO,EAAE,CAC5C,CAAC;IACN,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,qDAAqD,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CACX,2BAA2B,OAAO,CAAC,gBAAgB,MAAM;YACzD,oBAAoB;YACpB,iEAAiE;YACjE,YAAY;YACZ,mEAAmE,CACtE,CAAC;IACN,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACX,6BAA6B;YAC7B,wEAAwE;YACxE,iCAAiC,CACpC,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAgB;IACnC,MAAM,QAAQ,GAAY,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7F,QAAQ,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CACvB,IAAc,EACd,SAAiB,EACjB,OAAgB,EAChB,QAA4B,SAAS;IAErC,oDAAoD;IACpD,MAAM,OAAO,GAAG,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC;IAC/C,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAA,qBAAK,EAAC,gBAAgB,EAAE,IAAI,EAAE;QACjC,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,OAAO;QACZ,KAAK;KACR,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI;IACtE,OAAO,CAAC,GAAG,CAAC,2CAA2C,GAAG,KAAK,CAAC,CAAC;IAEjE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE;gBAC1C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aACpC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,IAAI,WAAW,KAAK,CAAC,CAAC;gBACzE,OAAO;YACX,CAAC;iBAAM,CAAC;gBACJ,qCAAqC;gBACrC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnF,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,2BAA2B;YAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAG,KAAc,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;QAED,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,WAAW,WAAW,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAe;IAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAEpE,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;YAC/E,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,OAAsB;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAClC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,MAAM,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,8EAA8E,IAAI,IAAI,CAAC,CAAC;IAEpG,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;QACzH,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC3C,CAAC,CAAC;IAEH,qDAAqD;IACrD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,oBAAoB,IAAI,EAAE,CAAC;YAC7C,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAE5D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErB,4BAA4B;YAC5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAExD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oBAAqB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,iEAAiE;QACjE,MAAM,OAAO,GAAG,GAAS,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAgC,EAAE,EAAE;YAClD,OAAO,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACzD,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,OAAsB;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAClC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,MAAM,CAAC,CAAC;IAEhE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAE/C,0DAA0D;IAC1D,2DAA2D;IAC3D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,kBAAkB,CAChC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC1B,SAAS,EACT,OAAO,EACP,SAAS,CACZ,CAAC;IAEF,6BAA6B;IAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,kBAAkB,CAC3B,CAAC,IAAI,EAAE,KAAK,CAAC,EACb,SAAS,EACT,OAAO,EACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACpC,CAAC;IAEF,qDAAqD;IACrD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,GAAS,EAAE;YAC7B,kBAAkB,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,oBAAoB,IAAI,EAAE,CAAC;YAC7C,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAE5D,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,aAAa,EAAE,CAAC;YAEhB,4BAA4B;YAC5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAExD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oBAAqB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,iEAAiE;QACjE,MAAM,OAAO,GAAG,GAAS,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,kBAAkB,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAgC,EAAE,EAAE;YAClD,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,OAAgB,EAAE,OAAsB;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IACtC,2EAA2E;IAC3E,+DAA+D;IAE/D,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,0BAA0B,CAAC,CAAC;IAEzF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAE/C,0DAA0D;IAC1D,2DAA2D;IAC3D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,kBAAkB,CAChC,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,EAClD,SAAS,EACT,OAAO,EACP,SAAS,CACZ,CAAC;IAEF,6BAA6B;IAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,wEAAwE;QACxE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,kBAAkB,CAChC,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAC3C,SAAS,EACT,OAAO,EACP,SAAS,CACZ,CAAC;QAEF,iDAAiD;QACjD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,GAAS,EAAE;YAC7B,kBAAkB,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,oBAAoB,QAAQ,EAAE,CAAC;YACjD,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAE5D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,aAAa,EAAE,CAAC;YAEhB,4BAA4B;YAC5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAExD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oBAAqB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,uDAAuD;QACvD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,kBAAkB,CAC3B,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,EACrC,SAAS,EACT,OAAO,EACP,SAAS,CACZ,CAAC;QAEF,MAAM,OAAO,GAAG,GAAS,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,kBAAkB,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAgC,EAAE,EAAE;YAClD,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACf,IAAI,CAAC;QACD,+BAA+B;QAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7C,iCAAiC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,8BAA8B;QAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5D,yBAAyB;QACzB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEzC,0BAA0B;QAC1B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACT,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM;YACV,KAAK,YAAY;gBACb,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,cAAe,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,yBAAyB;AACzB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -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;
|
|
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
|
|
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
|
-
|
|
145
|
-
//
|
|
146
|
-
|
|
147
|
-
|
|
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
|
|
188
|
-
this.api = new
|
|
189
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"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"}
|