@quiltdata/benchling-webhook 0.9.0-20251129T071202Z → 0.9.0-20251130T062440Z
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/bin/commands/deploy.d.ts.map +1 -1
- package/dist/bin/commands/deploy.js +3 -5
- package/dist/bin/commands/deploy.js.map +1 -1
- package/dist/lib/benchling-webhook-stack.d.ts +1 -0
- package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
- package/dist/lib/benchling-webhook-stack.js +32 -11
- package/dist/lib/benchling-webhook-stack.js.map +1 -1
- package/dist/lib/fargate-service.d.ts +5 -4
- package/dist/lib/fargate-service.d.ts.map +1 -1
- package/dist/lib/fargate-service.js +9 -19
- package/dist/lib/fargate-service.js.map +1 -1
- package/dist/lib/http-api-gateway.d.ts +4 -3
- package/dist/lib/http-api-gateway.d.ts.map +1 -1
- package/dist/lib/http-api-gateway.js +33 -20
- package/dist/lib/http-api-gateway.js.map +1 -1
- package/dist/lib/network-load-balancer.d.ts +27 -0
- package/dist/lib/network-load-balancer.d.ts.map +1 -0
- package/dist/lib/network-load-balancer.js +111 -0
- package/dist/lib/network-load-balancer.js.map +1 -0
- package/dist/lib/types/config.d.ts +2 -2
- package/dist/lib/utils/service-resolver.d.ts +1 -1
- package/dist/lib/utils/service-resolver.js +1 -1
- package/dist/package.json +3 -8
- package/package.json +3 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../bin/commands/deploy.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../bin/commands/deploy.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA2LvD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IACzC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FhB;AAED;;GAEG;AACH,wBAAsB,MAAM,CACxB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE;IACL,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,GACF,OAAO,CAAC,IAAI,CAAC,CA8af"}
|
|
@@ -133,14 +133,12 @@ async function detectLegacyRestApi(stackName, region) {
|
|
|
133
133
|
async function promptLegacyMigration(profileName, stage, yes) {
|
|
134
134
|
const migrationMessage = `${chalk_1.default.red.bold("⚠️ BREAKING CHANGE DETECTED")}\n\n` +
|
|
135
135
|
`Your existing stack uses ${chalk_1.default.yellow("v0.8.x architecture (REST API Gateway)")}.\n` +
|
|
136
|
-
`
|
|
137
|
-
`${chalk_1.default.bold("Technical reason:")} REST API Lambda Authorizers cannot access request body,\n` +
|
|
138
|
-
"breaking HMAC signature verification. HTTP API v2 provides body access.\n\n" +
|
|
136
|
+
`v0.9.0 uses ${chalk_1.default.green("WAF + HTTP API v2")}.\n\n` +
|
|
139
137
|
`${chalk_1.default.bold("Stack resources that will be REPLACED:")}\n` +
|
|
140
138
|
" - API Gateway REST API → HTTP API v2\n" +
|
|
141
139
|
" - Network Load Balancer → (removed, direct VPC Link)\n" +
|
|
142
140
|
" - Endpoint URL format → (stage removed from path)\n\n" +
|
|
143
|
-
`${chalk_1.default.bold("You must destroy the existing stack before deploying
|
|
141
|
+
`${chalk_1.default.bold("You must destroy the existing stack before deploying v0.9.0:")}\n\n` +
|
|
144
142
|
` ${chalk_1.default.cyan(`npx cdk destroy --profile ${profileName} --context stage=${stage}`)}\n\n` +
|
|
145
143
|
`${chalk_1.default.bold("After destruction, redeploy with:")}\n\n` +
|
|
146
144
|
` ${chalk_1.default.cyan(`npm run deploy:${stage} -- --profile ${profileName} --yes`)}\n\n` +
|
|
@@ -568,7 +566,7 @@ async function deploy(stackArn, benchlingSecret, config, options) {
|
|
|
568
566
|
// Build CloudFormation parameters
|
|
569
567
|
// Parameter names must match the CfnParameter IDs in BenchlingWebhookStack
|
|
570
568
|
const parameters = [
|
|
571
|
-
// Explicit service parameters
|
|
569
|
+
// Explicit service parameters
|
|
572
570
|
`PackagerQueueUrl=${services.packagerQueueUrl}`,
|
|
573
571
|
`AthenaUserDatabase=${services.athenaUserDatabase}`,
|
|
574
572
|
`QuiltWebHost=${services.quiltWebHost}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../bin/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../bin/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export interface BenchlingWebhookStackProps extends cdk.StackProps {
|
|
|
16
16
|
}
|
|
17
17
|
export declare class BenchlingWebhookStack extends cdk.Stack {
|
|
18
18
|
private readonly fargateService;
|
|
19
|
+
private readonly nlb;
|
|
19
20
|
private readonly api;
|
|
20
21
|
readonly webhookEndpoint: string;
|
|
21
22
|
constructor(scope: Construct, id: string, props: BenchlingWebhookStackProps);
|
|
@@ -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;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,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;AAIvC,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,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CAqSxC"}
|
|
@@ -42,6 +42,7 @@ const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
|
|
|
42
42
|
const ecr = __importStar(require("aws-cdk-lib/aws-ecr"));
|
|
43
43
|
const fargate_service_1 = require("./fargate-service");
|
|
44
44
|
const http_api_gateway_1 = require("./http-api-gateway");
|
|
45
|
+
const network_load_balancer_1 = require("./network-load-balancer");
|
|
45
46
|
const package_json_1 = __importDefault(require("../package.json"));
|
|
46
47
|
class BenchlingWebhookStack extends cdk.Stack {
|
|
47
48
|
constructor(scope, id, props) {
|
|
@@ -60,7 +61,7 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
60
61
|
console.log(` Region: ${config.deployment.region}`);
|
|
61
62
|
// Create CloudFormation parameters for runtime-configurable values
|
|
62
63
|
// These parameters can be updated via CloudFormation stack updates
|
|
63
|
-
// Explicit service parameters
|
|
64
|
+
// Explicit service parameters
|
|
64
65
|
// These replace runtime resolution from QuiltStackARN
|
|
65
66
|
const packagerQueueUrlParam = new cdk.CfnParameter(this, "PackagerQueueUrl", {
|
|
66
67
|
type: "String",
|
|
@@ -185,6 +186,11 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
185
186
|
const ecrArn = `arn:aws:ecr:${region}:${account}:repository/${repoName}`;
|
|
186
187
|
const ecrRepo = ecr.Repository.fromRepositoryArn(this, "ExistingEcrRepository", ecrArn);
|
|
187
188
|
const ecrImageUri = `${account}.dkr.ecr.${region}.amazonaws.com/${repoName}:${imageTagValue}`;
|
|
189
|
+
// Create Network Load Balancer for ECS service
|
|
190
|
+
// v0.9.0: NLB provides reliable health checks for ECS tasks
|
|
191
|
+
this.nlb = new network_load_balancer_1.NetworkLoadBalancer(this, "NetworkLoadBalancer", {
|
|
192
|
+
vpc,
|
|
193
|
+
});
|
|
188
194
|
// Create the Fargate service
|
|
189
195
|
// Use imageTag for stackVersion if it looks like a timestamped dev version
|
|
190
196
|
// (e.g., "0.7.0-20251104T000139Z"), otherwise use package.json version
|
|
@@ -195,10 +201,11 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
195
201
|
vpc,
|
|
196
202
|
config: config,
|
|
197
203
|
ecrRepository: ecrRepo,
|
|
204
|
+
targetGroup: this.nlb.targetGroup, // v0.9.0: NLB target group for ECS tasks
|
|
198
205
|
imageTag: imageTagValue,
|
|
199
206
|
stackVersion: stackVersion,
|
|
200
207
|
// Runtime-configurable parameters
|
|
201
|
-
// New explicit service parameters
|
|
208
|
+
// New explicit service parameters
|
|
202
209
|
packagerQueueUrl: packagerQueueUrlValue,
|
|
203
210
|
athenaUserDatabase: athenaUserDatabaseValue,
|
|
204
211
|
quiltWebHost: quiltWebHostValue,
|
|
@@ -215,11 +222,13 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
215
222
|
quiltDatabase: quiltDatabaseValue,
|
|
216
223
|
logLevel: logLevelValue,
|
|
217
224
|
});
|
|
218
|
-
// Create HTTP API v2 that routes through VPC Link to the
|
|
225
|
+
// Create HTTP API v2 that routes through VPC Link to the NLB
|
|
226
|
+
// v0.9.0: NLB integration provides reliable routing to ECS tasks
|
|
219
227
|
this.api = new http_api_gateway_1.HttpApiGateway(this, "HttpApiGateway", {
|
|
220
228
|
vpc: vpc,
|
|
221
|
-
|
|
222
|
-
|
|
229
|
+
networkLoadBalancer: this.nlb.loadBalancer,
|
|
230
|
+
nlbListener: this.nlb.listener,
|
|
231
|
+
serviceSecurityGroup: this.fargateService.securityGroup,
|
|
223
232
|
config: config,
|
|
224
233
|
});
|
|
225
234
|
// Store webhook endpoint for easy access (HTTP API v2 default stage)
|
|
@@ -252,14 +261,26 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
252
261
|
value: this.api.logGroup.logGroupName,
|
|
253
262
|
description: "CloudWatch log group for API Gateway access logs",
|
|
254
263
|
});
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
264
|
+
// Export NLB information (v0.9.0)
|
|
265
|
+
new cdk.CfnOutput(this, "NetworkLoadBalancerDns", {
|
|
266
|
+
value: this.nlb.loadBalancer.loadBalancerDnsName,
|
|
267
|
+
description: "Network Load Balancer DNS name (internal)",
|
|
258
268
|
});
|
|
259
|
-
new cdk.CfnOutput(this, "
|
|
260
|
-
value: this.
|
|
261
|
-
description: "
|
|
269
|
+
new cdk.CfnOutput(this, "TargetGroupArn", {
|
|
270
|
+
value: this.nlb.targetGroup.targetGroupArn,
|
|
271
|
+
description: "NLB Target Group ARN for ECS tasks",
|
|
262
272
|
});
|
|
273
|
+
// Conditionally export WAF outputs only if WAF is enabled
|
|
274
|
+
if (this.api.wafWebAcl) {
|
|
275
|
+
new cdk.CfnOutput(this, "WafWebAclArn", {
|
|
276
|
+
value: this.api.wafWebAcl.webAcl.attrArn,
|
|
277
|
+
description: "WAF Web ACL ARN for IP filtering",
|
|
278
|
+
});
|
|
279
|
+
new cdk.CfnOutput(this, "WafLogGroup", {
|
|
280
|
+
value: this.api.wafWebAcl.logGroup.logGroupName,
|
|
281
|
+
description: "CloudWatch log group for WAF logs",
|
|
282
|
+
});
|
|
283
|
+
}
|
|
263
284
|
// Export configuration metadata
|
|
264
285
|
new cdk.CfnOutput(this, "ConfigVersion", {
|
|
265
286
|
value: config._metadata.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,yDAA2C;AAC3C,yDAA2C;AAE3C,uDAAmD;AACnD,yDAAoD;
|
|
1
|
+
{"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as ec2 from "aws-cdk-lib/aws-ec2";
|
|
2
2
|
import * as ecr from "aws-cdk-lib/aws-ecr";
|
|
3
3
|
import * as ecs from "aws-cdk-lib/aws-ecs";
|
|
4
|
-
import * as
|
|
4
|
+
import * as elbv2 from "aws-cdk-lib/aws-elasticloadbalancingv2";
|
|
5
5
|
import * as logs from "aws-cdk-lib/aws-logs";
|
|
6
6
|
import { Construct } from "constructs";
|
|
7
7
|
import { ProfileConfig } from "./types/config";
|
|
8
8
|
/**
|
|
9
|
-
* Properties for FargateService construct
|
|
9
|
+
* Properties for FargateService construct
|
|
10
10
|
*
|
|
11
11
|
* Uses ProfileConfig for structured configuration access.
|
|
12
12
|
* Runtime-configurable parameters can be overridden via CloudFormation parameters.
|
|
13
13
|
*
|
|
14
|
-
* **Breaking Change (
|
|
14
|
+
* **Breaking Change (v0.9.0)**: Removed stackArn in favor of explicit service environment variables.
|
|
15
15
|
* The explicit service parameters (packagerQueueUrl, athenaUserDatabase, quiltWebHost, icebergDatabase)
|
|
16
16
|
* are resolved at deployment time and passed directly to the container, eliminating runtime CloudFormation calls.
|
|
17
17
|
*/
|
|
@@ -19,6 +19,7 @@ export interface FargateServiceProps {
|
|
|
19
19
|
readonly vpc: ec2.IVpc;
|
|
20
20
|
readonly config: ProfileConfig;
|
|
21
21
|
readonly ecrRepository: ecr.IRepository;
|
|
22
|
+
readonly targetGroup: elbv2.INetworkTargetGroup;
|
|
22
23
|
readonly imageTag?: string;
|
|
23
24
|
readonly stackVersion?: string;
|
|
24
25
|
readonly packagerQueueUrl: string;
|
|
@@ -36,9 +37,9 @@ export interface FargateServiceProps {
|
|
|
36
37
|
}
|
|
37
38
|
export declare class FargateService extends Construct {
|
|
38
39
|
readonly service: ecs.FargateService;
|
|
39
|
-
readonly cloudMapService: servicediscovery.IService;
|
|
40
40
|
readonly cluster: ecs.Cluster;
|
|
41
41
|
readonly logGroup: logs.ILogGroup;
|
|
42
|
+
readonly securityGroup: ec2.ISecurityGroup;
|
|
42
43
|
/**
|
|
43
44
|
* Extract secret name from Secrets Manager ARN
|
|
44
45
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fargate-service.d.ts","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fargate-service.d.ts","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,wCAAwC,CAAC;AAEhE,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,mBAAmB,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAI/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAGjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAGtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAG/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,cAAe,SAAQ,SAAS;IACzC,SAAgB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;IAC5C,SAAgB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrC,SAAgB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;IACzC,SAAgB,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC;IAElD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;gBAoBb,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CA4UvE"}
|
|
@@ -37,7 +37,6 @@ exports.FargateService = void 0;
|
|
|
37
37
|
const cdk = __importStar(require("aws-cdk-lib"));
|
|
38
38
|
const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
|
|
39
39
|
const ecs = __importStar(require("aws-cdk-lib/aws-ecs"));
|
|
40
|
-
const servicediscovery = __importStar(require("aws-cdk-lib/aws-servicediscovery"));
|
|
41
40
|
const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
42
41
|
const logs = __importStar(require("aws-cdk-lib/aws-logs"));
|
|
43
42
|
const constructs_1 = require("constructs");
|
|
@@ -289,41 +288,32 @@ class FargateService extends constructs_1.Construct {
|
|
|
289
288
|
protocol: ecs.Protocol.TCP,
|
|
290
289
|
});
|
|
291
290
|
// Create Security Group for Fargate tasks
|
|
292
|
-
|
|
291
|
+
this.securityGroup = new ec2.SecurityGroup(this, "FargateSecurityGroup", {
|
|
293
292
|
vpc: props.vpc,
|
|
294
293
|
description: "Security group for Benchling webhook Fargate tasks",
|
|
295
294
|
allowAllOutbound: true,
|
|
296
295
|
});
|
|
297
|
-
// Allow
|
|
298
|
-
|
|
299
|
-
// Create Fargate Service
|
|
296
|
+
// Allow traffic from NLB to reach the service on 8080
|
|
297
|
+
this.securityGroup.addIngressRule(ec2.Peer.ipv4(props.vpc.vpcCidrBlock), ec2.Port.tcp(8080), "Allow VPC traffic to service");
|
|
298
|
+
// Create Fargate Service with NLB target group integration
|
|
299
|
+
// v0.9.0: Replaced Cloud Map with NLB for reliable health checks
|
|
300
300
|
this.service = new ecs.FargateService(this, "Service", {
|
|
301
301
|
cluster: this.cluster,
|
|
302
302
|
taskDefinition: taskDefinition,
|
|
303
303
|
desiredCount: 2,
|
|
304
304
|
serviceName: "benchling-webhook-service",
|
|
305
305
|
assignPublicIp: false,
|
|
306
|
-
securityGroups: [
|
|
306
|
+
securityGroups: [this.securityGroup],
|
|
307
307
|
healthCheckGracePeriod: cdk.Duration.seconds(60),
|
|
308
308
|
minHealthyPercent: 50,
|
|
309
309
|
maxHealthyPercent: 200,
|
|
310
310
|
circuitBreaker: {
|
|
311
311
|
rollback: true,
|
|
312
312
|
},
|
|
313
|
-
cloudMapOptions: {
|
|
314
|
-
name: "benchling-webhook",
|
|
315
|
-
cloudMapNamespace: new servicediscovery.PrivateDnsNamespace(this, "ServiceDiscoveryNamespace", {
|
|
316
|
-
name: "benchling.local",
|
|
317
|
-
vpc: props.vpc,
|
|
318
|
-
description: "Service discovery namespace for Benchling webhook",
|
|
319
|
-
}),
|
|
320
|
-
dnsRecordType: servicediscovery.DnsRecordType.A,
|
|
321
|
-
dnsTtl: cdk.Duration.seconds(30),
|
|
322
|
-
container,
|
|
323
|
-
containerPort: 8080,
|
|
324
|
-
},
|
|
325
313
|
});
|
|
326
|
-
|
|
314
|
+
// Register ECS service with NLB target group
|
|
315
|
+
// The NLB will perform HTTP health checks on /health endpoint
|
|
316
|
+
this.service.attachToNetworkTargetGroup(props.targetGroup);
|
|
327
317
|
// Configure auto-scaling
|
|
328
318
|
const scaling = this.service.autoScaleTaskCount({
|
|
329
319
|
minCapacity: 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fargate-service.js","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,yDAA2C;AAE3C,yDAA2C;
|
|
1
|
+
{"version":3,"file":"fargate-service.js","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as apigatewayv2 from "aws-cdk-lib/aws-apigatewayv2";
|
|
2
2
|
import * as ec2 from "aws-cdk-lib/aws-ec2";
|
|
3
|
-
import * as
|
|
3
|
+
import * as elbv2 from "aws-cdk-lib/aws-elasticloadbalancingv2";
|
|
4
4
|
import * as logs from "aws-cdk-lib/aws-logs";
|
|
5
5
|
import { Construct } from "constructs";
|
|
6
6
|
import { ProfileConfig } from "./types/config";
|
|
7
7
|
import { WafWebAcl } from "./waf-web-acl";
|
|
8
8
|
export interface HttpApiGatewayProps {
|
|
9
9
|
readonly vpc: ec2.IVpc;
|
|
10
|
-
readonly
|
|
10
|
+
readonly networkLoadBalancer: elbv2.INetworkLoadBalancer;
|
|
11
|
+
readonly nlbListener: elbv2.INetworkListener;
|
|
11
12
|
readonly serviceSecurityGroup: ec2.ISecurityGroup;
|
|
12
13
|
readonly config: ProfileConfig;
|
|
13
14
|
}
|
|
@@ -15,7 +16,7 @@ export declare class HttpApiGateway {
|
|
|
15
16
|
readonly api: apigatewayv2.HttpApi;
|
|
16
17
|
readonly vpcLink: apigatewayv2.VpcLink;
|
|
17
18
|
readonly logGroup: logs.ILogGroup;
|
|
18
|
-
readonly wafWebAcl
|
|
19
|
+
readonly wafWebAcl?: WafWebAcl;
|
|
19
20
|
constructor(scope: Construct, id: string, props: HttpApiGatewayProps);
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=http-api-gateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-gateway.d.ts","sourceRoot":"","sources":["../../lib/http-api-gateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAG7D,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"http-api-gateway.d.ts","sourceRoot":"","sources":["../../lib/http-api-gateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAG7D,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,wCAAwC,CAAC;AAChE,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAClC;AAED,qBAAa,cAAc;IACvB,SAAgB,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;IAC1C,SAAgB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;IAC9C,SAAgB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;IACzC,SAAgB,SAAS,CAAC,EAAE,SAAS,CAAC;gBAE1B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CA4IvE"}
|
|
@@ -48,7 +48,8 @@ class HttpApiGateway {
|
|
|
48
48
|
retention: logs.RetentionDays.ONE_WEEK,
|
|
49
49
|
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
50
50
|
});
|
|
51
|
-
// VPC Link for private integration with
|
|
51
|
+
// VPC Link for private integration with Network Load Balancer
|
|
52
|
+
// v0.9.0: NLB provides reliable health checks for ECS tasks
|
|
52
53
|
this.vpcLink = new apigatewayv2.VpcLink(scope, "VpcLink", {
|
|
53
54
|
vpc: props.vpc,
|
|
54
55
|
securityGroups: [props.serviceSecurityGroup],
|
|
@@ -57,10 +58,13 @@ class HttpApiGateway {
|
|
|
57
58
|
// Create HTTP API v2
|
|
58
59
|
this.api = new apigatewayv2.HttpApi(scope, "BenchlingWebhookHttpAPI", {
|
|
59
60
|
apiName: "BenchlingWebhookHttpAPI",
|
|
60
|
-
description: "HTTP API for Benchling webhook integration (
|
|
61
|
+
description: "HTTP API for Benchling webhook integration (v0.9.0+ with NLB and optional WAF)",
|
|
62
|
+
});
|
|
63
|
+
// Network Load Balancer integration via VPC Link
|
|
64
|
+
// v0.9.0: Replaced Cloud Map with NLB for reliable routing
|
|
65
|
+
const integration = new apigatewayv2Integrations.HttpNlbIntegration("NlbIntegration", props.nlbListener, {
|
|
66
|
+
vpcLink: this.vpcLink,
|
|
61
67
|
});
|
|
62
|
-
// Service Discovery integration via VPC Link
|
|
63
|
-
const integration = new apigatewayv2Integrations.HttpServiceDiscoveryIntegration("CloudMapIntegration", props.cloudMapService, { vpcLink: this.vpcLink });
|
|
64
68
|
// Webhook routes - HMAC verification handled by FastAPI application
|
|
65
69
|
// Event webhooks
|
|
66
70
|
this.api.addRoutes({
|
|
@@ -102,22 +106,31 @@ class HttpApiGateway {
|
|
|
102
106
|
methods: [apigatewayv2.HttpMethod.GET],
|
|
103
107
|
integration,
|
|
104
108
|
});
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
109
|
+
// Conditionally create WAF Web ACL for IP filtering
|
|
110
|
+
// Only deploy WAF if webhookAllowList is configured
|
|
111
|
+
const webhookAllowList = props.config.security?.webhookAllowList || "";
|
|
112
|
+
if (webhookAllowList) {
|
|
113
|
+
console.log("WAF IP filtering: ENABLED");
|
|
114
|
+
// Create WAF Web ACL
|
|
115
|
+
this.wafWebAcl = new waf_web_acl_1.WafWebAcl(scope, "WafWebAcl", {
|
|
116
|
+
ipAllowList: webhookAllowList,
|
|
117
|
+
});
|
|
118
|
+
// Construct HTTP API ARN for WAF association
|
|
119
|
+
// Format: arn:aws:apigateway:{region}::/apis/{api-id}/stages/{stage-name}
|
|
120
|
+
const apiArn = cdk.Stack.of(scope).formatArn({
|
|
121
|
+
service: "apigateway",
|
|
122
|
+
resource: `/apis/${this.api.apiId}/stages/${this.api.defaultStage?.stageName || "$default"}`,
|
|
123
|
+
arnFormat: cdk.ArnFormat.SLASH_RESOURCE_NAME,
|
|
124
|
+
});
|
|
125
|
+
// Associate WAF with HTTP API
|
|
126
|
+
new wafv2.CfnWebACLAssociation(scope, "WafAssociation", {
|
|
127
|
+
resourceArn: apiArn,
|
|
128
|
+
webAclArn: this.wafWebAcl.webAcl.attrArn,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
console.log("WAF IP filtering: DISABLED (no webhookAllowList configured)");
|
|
133
|
+
}
|
|
121
134
|
// Configure access logging on the default stage
|
|
122
135
|
const stage = this.api.defaultStage?.node.defaultChild;
|
|
123
136
|
if (stage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-gateway.js","sourceRoot":"","sources":["../../lib/http-api-gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,2EAA6D;AAC7D,oGAAsF;AACtF,6DAA+C;AAG/C,2DAA6C;AAG7C,+CAA0C;
|
|
1
|
+
{"version":3,"file":"http-api-gateway.js","sourceRoot":"","sources":["../../lib/http-api-gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as ec2 from "aws-cdk-lib/aws-ec2";
|
|
2
|
+
import * as elbv2 from "aws-cdk-lib/aws-elasticloadbalancingv2";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
export interface NetworkLoadBalancerProps {
|
|
5
|
+
readonly vpc: ec2.IVpc;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Network Load Balancer for ECS Fargate service
|
|
9
|
+
*
|
|
10
|
+
* Provides reliable health checks and routing for ECS tasks.
|
|
11
|
+
* Replaces Cloud Map service discovery which has issues with custom health checks.
|
|
12
|
+
*
|
|
13
|
+
* Architecture:
|
|
14
|
+
* - Internal NLB (not internet-facing)
|
|
15
|
+
* - TCP listener on port 80
|
|
16
|
+
* - Target Group with IP targets for ECS Fargate tasks
|
|
17
|
+
* - HTTP health checks on /health endpoint
|
|
18
|
+
*
|
|
19
|
+
* @since v0.9.0
|
|
20
|
+
*/
|
|
21
|
+
export declare class NetworkLoadBalancer extends Construct {
|
|
22
|
+
readonly loadBalancer: elbv2.NetworkLoadBalancer;
|
|
23
|
+
readonly targetGroup: elbv2.NetworkTargetGroup;
|
|
24
|
+
readonly listener: elbv2.NetworkListener;
|
|
25
|
+
constructor(scope: Construct, id: string, props: NetworkLoadBalancerProps);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=network-load-balancer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-load-balancer.d.ts","sourceRoot":"","sources":["../../lib/network-load-balancer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,wCAAwC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAC9C,SAAgB,YAAY,EAAE,KAAK,CAAC,mBAAmB,CAAC;IACxD,SAAgB,WAAW,EAAE,KAAK,CAAC,kBAAkB,CAAC;IACtD,SAAgB,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC;gBAEpC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB;CA4D5E"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.NetworkLoadBalancer = void 0;
|
|
37
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
38
|
+
const elbv2 = __importStar(require("aws-cdk-lib/aws-elasticloadbalancingv2"));
|
|
39
|
+
const constructs_1 = require("constructs");
|
|
40
|
+
/**
|
|
41
|
+
* Network Load Balancer for ECS Fargate service
|
|
42
|
+
*
|
|
43
|
+
* Provides reliable health checks and routing for ECS tasks.
|
|
44
|
+
* Replaces Cloud Map service discovery which has issues with custom health checks.
|
|
45
|
+
*
|
|
46
|
+
* Architecture:
|
|
47
|
+
* - Internal NLB (not internet-facing)
|
|
48
|
+
* - TCP listener on port 80
|
|
49
|
+
* - Target Group with IP targets for ECS Fargate tasks
|
|
50
|
+
* - HTTP health checks on /health endpoint
|
|
51
|
+
*
|
|
52
|
+
* @since v0.9.0
|
|
53
|
+
*/
|
|
54
|
+
class NetworkLoadBalancer extends constructs_1.Construct {
|
|
55
|
+
constructor(scope, id, props) {
|
|
56
|
+
super(scope, id);
|
|
57
|
+
// Create internal Network Load Balancer
|
|
58
|
+
// Internal = only accessible within VPC (not from internet)
|
|
59
|
+
this.loadBalancer = new elbv2.NetworkLoadBalancer(this, "LoadBalancer", {
|
|
60
|
+
vpc: props.vpc,
|
|
61
|
+
internetFacing: false,
|
|
62
|
+
loadBalancerName: "benchling-webhook-nlb",
|
|
63
|
+
vpcSubnets: {
|
|
64
|
+
subnets: props.vpc.privateSubnets,
|
|
65
|
+
},
|
|
66
|
+
crossZoneEnabled: true, // Distribute traffic evenly across AZs
|
|
67
|
+
});
|
|
68
|
+
// Create Target Group for ECS tasks
|
|
69
|
+
// IP target type is required for Fargate tasks
|
|
70
|
+
this.targetGroup = new elbv2.NetworkTargetGroup(this, "TargetGroup", {
|
|
71
|
+
vpc: props.vpc,
|
|
72
|
+
port: 8080,
|
|
73
|
+
protocol: elbv2.Protocol.TCP,
|
|
74
|
+
targetType: elbv2.TargetType.IP, // Required for Fargate
|
|
75
|
+
targetGroupName: "benchling-webhook-tg",
|
|
76
|
+
deregistrationDelay: cdk.Duration.seconds(30), // Quick deregistration
|
|
77
|
+
// HTTP health checks for application health
|
|
78
|
+
// NLB supports HTTP health checks even with TCP listener
|
|
79
|
+
healthCheck: {
|
|
80
|
+
enabled: true,
|
|
81
|
+
protocol: elbv2.Protocol.HTTP,
|
|
82
|
+
path: "/health",
|
|
83
|
+
interval: cdk.Duration.seconds(30),
|
|
84
|
+
timeout: cdk.Duration.seconds(10),
|
|
85
|
+
healthyThresholdCount: 2, // 2 successful checks = healthy
|
|
86
|
+
unhealthyThresholdCount: 3, // 3 failed checks = unhealthy
|
|
87
|
+
healthyHttpCodes: "200",
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
// Create TCP listener on port 80
|
|
91
|
+
// API Gateway will connect to this via VPC Link
|
|
92
|
+
this.listener = this.loadBalancer.addListener("Listener", {
|
|
93
|
+
port: 80,
|
|
94
|
+
protocol: elbv2.Protocol.TCP,
|
|
95
|
+
defaultTargetGroups: [this.targetGroup],
|
|
96
|
+
});
|
|
97
|
+
// Outputs for debugging
|
|
98
|
+
new cdk.CfnOutput(this, "LoadBalancerDnsName", {
|
|
99
|
+
value: this.loadBalancer.loadBalancerDnsName,
|
|
100
|
+
description: "Network Load Balancer DNS name",
|
|
101
|
+
exportName: "BenchlingWebhookNLBDnsName",
|
|
102
|
+
});
|
|
103
|
+
new cdk.CfnOutput(this, "TargetGroupArn", {
|
|
104
|
+
value: this.targetGroup.targetGroupArn,
|
|
105
|
+
description: "Target Group ARN for ECS tasks",
|
|
106
|
+
exportName: "BenchlingWebhookTargetGroupArn",
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.NetworkLoadBalancer = NetworkLoadBalancer;
|
|
111
|
+
//# sourceMappingURL=network-load-balancer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-load-balancer.js","sourceRoot":"","sources":["../../lib/network-load-balancer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC,8EAAgE;AAChE,2CAAuC;AAMvC;;;;;;;;;;;;;GAaG;AACH,MAAa,mBAAoB,SAAQ,sBAAS;IAK9C,YAAY,KAAgB,EAAE,EAAU,EAAE,KAA+B;QACrE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEjB,wCAAwC;QACxC,4DAA4D;QAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE;YACpE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,uBAAuB;YACzC,UAAU,EAAE;gBACR,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc;aACpC;YACD,gBAAgB,EAAE,IAAI,EAAE,uCAAuC;SAClE,CAAC,CAAC;QAEH,oCAAoC;QACpC,+CAA+C;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE;YACjE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,uBAAuB;YACxD,eAAe,EAAE,sBAAsB;YACvC,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,uBAAuB;YAEtE,4CAA4C;YAC5C,yDAAyD;YACzD,WAAW,EAAE;gBACT,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBAC7B,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,qBAAqB,EAAE,CAAC,EAAG,gCAAgC;gBAC3D,uBAAuB,EAAE,CAAC,EAAE,8BAA8B;gBAC1D,gBAAgB,EAAE,KAAK;aAC1B;SACJ,CAAC,CAAC;QAEH,iCAAiC;QACjC,gDAAgD;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE;YACtD,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;YAC5B,mBAAmB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;SAC1C,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,EAAE;YAC3C,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB;YAC5C,WAAW,EAAE,gCAAgC;YAC7C,UAAU,EAAE,4BAA4B;SAC3C,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE;YACtC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc;YACtC,WAAW,EAAE,gCAAgC;YAC7C,UAAU,EAAE,gCAAgC;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ;AAjED,kDAiEC"}
|
|
@@ -112,7 +112,7 @@ export interface ProfileConfig {
|
|
|
112
112
|
* Configuration for Quilt data catalog integration, including service endpoints
|
|
113
113
|
* and SQS queue for package creation.
|
|
114
114
|
*
|
|
115
|
-
* **Breaking Change (
|
|
115
|
+
* **Breaking Change (v0.9.0)**: `stackArn` is used at deployment time only to resolve services.
|
|
116
116
|
* Services are passed as explicit environment variables to the container.
|
|
117
117
|
* No runtime CloudFormation API calls are made.
|
|
118
118
|
*
|
|
@@ -128,7 +128,7 @@ export interface QuiltConfig {
|
|
|
128
128
|
* The resolved services are then passed as explicit environment variables to the container.
|
|
129
129
|
*
|
|
130
130
|
* **Deployment usage only** - not passed to container runtime.
|
|
131
|
-
* **Breaking Change (
|
|
131
|
+
* **Breaking Change (v0.9.0)**: No longer passed as environment variable or CloudFormation parameter.
|
|
132
132
|
*
|
|
133
133
|
* @example "arn:aws:cloudformation:us-east-1:123456789012:stack/quilt-stack/..."
|
|
134
134
|
*/
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* These values are then passed as explicit environment variables to the container,
|
|
6
6
|
* eliminating the need for runtime CloudFormation API calls.
|
|
7
7
|
*
|
|
8
|
-
* **Breaking Change (
|
|
8
|
+
* **Breaking Change (v0.9.0)**: Replaces runtime config-resolver with deployment-time resolution.
|
|
9
9
|
*
|
|
10
10
|
* @module utils/service-resolver
|
|
11
11
|
* @version 1.0.0
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* These values are then passed as explicit environment variables to the container,
|
|
7
7
|
* eliminating the need for runtime CloudFormation API calls.
|
|
8
8
|
*
|
|
9
|
-
* **Breaking Change (
|
|
9
|
+
* **Breaking Change (v0.9.0)**: Replaces runtime config-resolver with deployment-time resolution.
|
|
10
10
|
*
|
|
11
11
|
* @module utils/service-resolver
|
|
12
12
|
* @version 1.0.0
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quiltdata/benchling-webhook",
|
|
3
|
-
"version": "0.9.0-
|
|
3
|
+
"version": "0.9.0-20251130T062440Z",
|
|
4
4
|
"description": "AWS CDK deployment for Benchling webhook processing using Fargate - Deploy directly with npx",
|
|
5
5
|
"main": "dist/lib/index.js",
|
|
6
6
|
"types": "dist/lib/index.d.ts",
|
|
@@ -18,11 +18,8 @@
|
|
|
18
18
|
"build:clean": "rm -rf cdk.out dist */{*.js,*.d.ts}",
|
|
19
19
|
"build:synth": "npx cdk synth",
|
|
20
20
|
"build:typecheck": "tsc --noEmit",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"build:lambda:clean": "make clean",
|
|
24
|
-
"deploy:dev": "make lambda-bundle && ts-node bin/cli.ts deploy --stage dev --profile dev",
|
|
25
|
-
"deploy:prod": "make lambda-bundle && ts-node bin/cli.ts deploy --stage prod",
|
|
21
|
+
"deploy:dev": "ts-node bin/cli.ts deploy --stage dev --profile dev",
|
|
22
|
+
"deploy:prod": "ts-node bin/cli.ts deploy --stage prod",
|
|
26
23
|
"deploy:notes": "bash scripts/release-notes.sh",
|
|
27
24
|
"destroy": "ts-node bin/cli.ts destroy",
|
|
28
25
|
"destroy:dev": "ts-node bin/cli.ts destroy --stage dev --profile dev",
|
|
@@ -51,7 +48,6 @@
|
|
|
51
48
|
"test:native": "npm run launch -- --mode native --profile dev --test",
|
|
52
49
|
"test:dev": "npm run deploy:dev && make -C docker test-deployed-dev PROFILE=dev",
|
|
53
50
|
"test:prod": "make -C docker test-deployed-prod PROFILE=default",
|
|
54
|
-
"test:lambda-bundle": "bash scripts/test-lambda-bundle.sh",
|
|
55
51
|
"test:python": "make -C docker test-unit",
|
|
56
52
|
"test:ts": "cross-env NODE_ENV=test NODE_OPTIONS='--experimental-vm-modules' jest --maxWorkers=50%",
|
|
57
53
|
"version": "ts-node scripts/version.ts",
|
|
@@ -81,7 +77,6 @@
|
|
|
81
77
|
"devDependencies": {
|
|
82
78
|
"@eslint/js": "^9.22.0",
|
|
83
79
|
"@types/adm-zip": "^0.5.7",
|
|
84
|
-
"@types/aws-lambda": "^8.10.156",
|
|
85
80
|
"@types/jest": "^30.0.0",
|
|
86
81
|
"@types/node": "^24.0.0",
|
|
87
82
|
"@typescript-eslint/eslint-plugin": "^8.26.1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quiltdata/benchling-webhook",
|
|
3
|
-
"version": "0.9.0-
|
|
3
|
+
"version": "0.9.0-20251130T062440Z",
|
|
4
4
|
"description": "AWS CDK deployment for Benchling webhook processing using Fargate - Deploy directly with npx",
|
|
5
5
|
"main": "dist/lib/index.js",
|
|
6
6
|
"types": "dist/lib/index.d.ts",
|
|
@@ -18,11 +18,8 @@
|
|
|
18
18
|
"build:clean": "rm -rf cdk.out dist */{*.js,*.d.ts}",
|
|
19
19
|
"build:synth": "npx cdk synth",
|
|
20
20
|
"build:typecheck": "tsc --noEmit",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"build:lambda:clean": "make clean",
|
|
24
|
-
"deploy:dev": "make lambda-bundle && ts-node bin/cli.ts deploy --stage dev --profile dev",
|
|
25
|
-
"deploy:prod": "make lambda-bundle && ts-node bin/cli.ts deploy --stage prod",
|
|
21
|
+
"deploy:dev": "ts-node bin/cli.ts deploy --stage dev --profile dev",
|
|
22
|
+
"deploy:prod": "ts-node bin/cli.ts deploy --stage prod",
|
|
26
23
|
"deploy:notes": "bash scripts/release-notes.sh",
|
|
27
24
|
"destroy": "ts-node bin/cli.ts destroy",
|
|
28
25
|
"destroy:dev": "ts-node bin/cli.ts destroy --stage dev --profile dev",
|
|
@@ -51,7 +48,6 @@
|
|
|
51
48
|
"test:native": "npm run launch -- --mode native --profile dev --test",
|
|
52
49
|
"test:dev": "npm run deploy:dev && make -C docker test-deployed-dev PROFILE=dev",
|
|
53
50
|
"test:prod": "make -C docker test-deployed-prod PROFILE=default",
|
|
54
|
-
"test:lambda-bundle": "bash scripts/test-lambda-bundle.sh",
|
|
55
51
|
"test:python": "make -C docker test-unit",
|
|
56
52
|
"test:ts": "cross-env NODE_ENV=test NODE_OPTIONS='--experimental-vm-modules' jest --maxWorkers=50%",
|
|
57
53
|
"version": "ts-node scripts/version.ts",
|
|
@@ -81,7 +77,6 @@
|
|
|
81
77
|
"devDependencies": {
|
|
82
78
|
"@eslint/js": "^9.22.0",
|
|
83
79
|
"@types/adm-zip": "^0.5.7",
|
|
84
|
-
"@types/aws-lambda": "^8.10.156",
|
|
85
80
|
"@types/jest": "^30.0.0",
|
|
86
81
|
"@types/node": "^24.0.0",
|
|
87
82
|
"@typescript-eslint/eslint-plugin": "^8.26.1",
|