@quiltdata/benchling-webhook 0.5.4-20251031T221548Z → 0.5.4-20251101T184734Z

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.
@@ -1,13 +1,27 @@
1
1
  import * as cdk from "aws-cdk-lib";
2
2
  import { Construct } from "constructs";
3
3
  export interface BenchlingWebhookStackProps extends cdk.StackProps {
4
- readonly bucketName: string;
5
- readonly environment: string;
6
- readonly prefix: string;
7
- readonly queueArn: string;
8
- readonly benchlingClientId: string;
9
- readonly benchlingClientSecret: string;
10
- readonly benchlingTenant: string;
4
+ /**
5
+ * ARN of the Quilt CloudFormation stack.
6
+ * When provided with benchlingSecret, enables secrets-only mode where all configuration
7
+ * is resolved from AWS (CloudFormation outputs + Secrets Manager).
8
+ * Format: arn:aws:cloudformation:{region}:{account}:stack/{name}/{id}
9
+ */
10
+ readonly quiltStackArn?: string;
11
+ /**
12
+ * Name or ARN of the AWS Secrets Manager secret containing Benchling credentials.
13
+ * When provided with quiltStackArn, enables secrets-only mode.
14
+ * Secret must contain: client_id, client_secret, tenant, app_definition_id (optional)
15
+ */
16
+ readonly benchlingSecret?: string;
17
+ readonly bucketName?: string;
18
+ readonly environment?: string;
19
+ readonly prefix?: string;
20
+ readonly queueArn?: string;
21
+ readonly benchlingClientId?: string;
22
+ readonly benchlingClientSecret?: string;
23
+ readonly benchlingTenant?: string;
24
+ readonly benchlingAppDefinitionId?: string;
11
25
  /**
12
26
  * Consolidated Benchling secrets as JSON string.
13
27
  * When provided, this takes precedence over individual secret parameters.
@@ -16,7 +30,7 @@ export interface BenchlingWebhookStackProps extends cdk.StackProps {
16
30
  */
17
31
  readonly benchlingSecrets?: string;
18
32
  readonly quiltCatalog?: string;
19
- readonly quiltDatabase: string;
33
+ readonly quiltDatabase?: string;
20
34
  readonly webhookAllowList?: string;
21
35
  readonly createEcrRepository?: boolean;
22
36
  readonly ecrRepositoryName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAMvC,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CA4NxC"}
1
+ {"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAMvC,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAGlC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAGnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CAgRxC"}
@@ -48,13 +48,39 @@ const package_json_1 = __importDefault(require("../package.json"));
48
48
  class BenchlingWebhookStack extends cdk.Stack {
49
49
  constructor(scope, id, props) {
50
50
  super(scope, id, props);
51
- if (props.prefix.includes("/")) {
52
- throw new Error("Prefix should not contain a '/' character.");
51
+ // Determine which mode we're operating in
52
+ const useSecretsOnlyMode = !!(props.quiltStackArn && props.benchlingSecret);
53
+ // Validation
54
+ if (useSecretsOnlyMode) {
55
+ // Secrets-only mode: only quiltStackArn and benchlingSecret are required
56
+ console.log("✓ Using secrets-only mode (v0.6.0+)");
57
+ }
58
+ else {
59
+ // Legacy mode: validate required legacy props
60
+ if (!props.bucketName || !props.prefix || !props.queueArn || !props.quiltDatabase) {
61
+ throw new Error("Legacy mode requires: bucketName, prefix, queueArn, quiltDatabase.\n" +
62
+ "Or use secrets-only mode with: quiltStackArn, benchlingSecret");
63
+ }
64
+ if (props.prefix.includes("/")) {
65
+ throw new Error("Prefix should not contain a '/' character.");
66
+ }
67
+ console.log("⚠️ Using legacy mode (DEPRECATED - consider migrating to secrets-only mode)");
53
68
  }
54
69
  // Create CloudFormation parameters for runtime-configurable values
55
70
  // Note: Use actual values from props during initial deployment to avoid empty string issues
56
71
  // Parameters can be updated later via CloudFormation stack updates
57
- // Security and configuration parameters
72
+ // ===== Secrets-Only Mode Parameters (NEW) =====
73
+ const quiltStackArnParam = new cdk.CfnParameter(this, "QuiltStackARN", {
74
+ type: "String",
75
+ description: "[v0.6.0+] ARN of Quilt CloudFormation stack (enables secrets-only mode with BenchlingSecret)",
76
+ default: props.quiltStackArn || "",
77
+ });
78
+ const benchlingSecretParam = new cdk.CfnParameter(this, "BenchlingSecret", {
79
+ type: "String",
80
+ description: "[v0.6.0+] Name/ARN of Secrets Manager secret with Benchling credentials (enables secrets-only mode with QuiltStackARN)",
81
+ default: props.benchlingSecret || "",
82
+ });
83
+ // ===== Legacy Mode Parameters (DEPRECATED) =====
58
84
  const webhookAllowListParam = new cdk.CfnParameter(this, "WebhookAllowList", {
59
85
  type: "String",
60
86
  description: "Comma-separated list of IP addresses allowed to send webhooks (leave empty to allow all IPs)",
@@ -68,13 +94,13 @@ class BenchlingWebhookStack extends cdk.Stack {
68
94
  // Infrastructure parameters - these can be updated without redeploying
69
95
  const bucketNameParam = new cdk.CfnParameter(this, "BucketName", {
70
96
  type: "String",
71
- description: "S3 bucket name for storing packages",
72
- default: props.bucketName,
97
+ description: "[LEGACY] S3 bucket name for storing packages (not used in secrets-only mode)",
98
+ default: props.bucketName || "",
73
99
  });
74
100
  const prefixParam = new cdk.CfnParameter(this, "PackagePrefix", {
75
101
  type: "String",
76
- description: "Prefix for package names (no slashes)",
77
- default: props.prefix,
102
+ description: "[LEGACY] Prefix for package names (not used in secrets-only mode)",
103
+ default: props.prefix || "benchling",
78
104
  });
79
105
  const pkgKeyParam = new cdk.CfnParameter(this, "PackageKey", {
80
106
  type: "String",
@@ -83,13 +109,13 @@ class BenchlingWebhookStack extends cdk.Stack {
83
109
  });
84
110
  const queueArnParam = new cdk.CfnParameter(this, "QueueArn", {
85
111
  type: "String",
86
- description: "SQS queue ARN for package notifications",
87
- default: props.queueArn,
112
+ description: "[LEGACY] SQS queue ARN for package notifications (not used in secrets-only mode)",
113
+ default: props.queueArn || "",
88
114
  });
89
115
  const quiltDatabaseParam = new cdk.CfnParameter(this, "QuiltDatabase", {
90
116
  type: "String",
91
- description: "Quilt database name (Glue Data Catalog database)",
92
- default: props.quiltDatabase,
117
+ description: "[LEGACY] Quilt database name (not used in secrets-only mode)",
118
+ default: props.quiltDatabase || "",
93
119
  });
94
120
  // DEPRECATED: Benchling tenant parameter (kept for backward compatibility)
95
121
  const benchlingTenantParam = new cdk.CfnParameter(this, "BenchlingTenant", {
@@ -154,7 +180,15 @@ class BenchlingWebhookStack extends cdk.Stack {
154
180
  const benchlingClientIdValue = benchlingClientIdParam.valueAsString;
155
181
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
156
182
  const benchlingClientSecretValue = benchlingClientSecretParam.valueAsString;
157
- this.bucket = s3.Bucket.fromBucketName(this, "BWBucket", bucketNameValue);
183
+ // New secrets-only mode parameter values
184
+ const quiltStackArnValue = quiltStackArnParam.valueAsString;
185
+ const benchlingSecretValue = benchlingSecretParam.valueAsString;
186
+ // In secrets-only mode, bucket name will be resolved at runtime from CloudFormation outputs
187
+ // For CDK purposes, we still need a bucket reference for IAM permissions
188
+ // Use a placeholder that will be overridden at runtime
189
+ this.bucket = useSecretsOnlyMode
190
+ ? s3.Bucket.fromBucketName(this, "BWBucket", "placeholder-bucket-resolved-at-runtime")
191
+ : s3.Bucket.fromBucketName(this, "BWBucket", bucketNameValue);
158
192
  // Get the default VPC or create a new one
159
193
  const vpc = ec2.Vpc.fromLookup(this, "DefaultVPC", {
160
194
  isDefault: true,
@@ -181,29 +215,40 @@ class BenchlingWebhookStack extends cdk.Stack {
181
215
  // (e.g., "0.5.3-20251031T000139Z"), otherwise use package.json version
182
216
  const isDevVersion = imageTagValue.match(/^\d+\.\d+\.\d+-\d{8}T\d{6}Z$/);
183
217
  const stackVersion = isDevVersion ? imageTagValue : package_json_1.default.version;
184
- this.fargateService = new fargate_service_1.FargateService(this, "FargateService", {
218
+ // Build Fargate Service props based on mode
219
+ const fargateProps = {
185
220
  vpc,
186
221
  bucket: this.bucket,
187
- queueArn: queueArnValue,
188
222
  region: this.region,
189
223
  account: this.account,
190
- prefix: prefixValue,
191
- pkgKey: pkgKeyValue,
192
- benchlingClientId: props.benchlingClientId,
193
- benchlingClientSecret: props.benchlingClientSecret,
194
- benchlingTenant: benchlingTenantValue,
195
- // Use props.benchlingSecrets (original value) to determine mode
196
- // The CloudFormation parameter value (benchlingSecretsValue) is a token that can't be evaluated at synth time
197
- benchlingSecrets: props.benchlingSecrets,
198
- quiltCatalog: quiltCatalogValue,
199
- quiltDatabase: quiltDatabaseValue,
200
- webhookAllowList: webhookAllowListValue,
201
224
  ecrRepository: ecrRepo,
202
225
  imageTag: imageTagValue,
203
226
  stackVersion: stackVersion,
204
227
  logLevel: logLevelValue,
205
228
  enableWebhookVerification: enableWebhookVerificationValue,
206
- });
229
+ };
230
+ if (useSecretsOnlyMode) {
231
+ // Secrets-only mode: Pass only the 2 required parameters
232
+ fargateProps.quiltStackArn = quiltStackArnValue;
233
+ fargateProps.benchlingSecret = benchlingSecretValue;
234
+ }
235
+ else {
236
+ // Legacy mode: Pass all individual parameters
237
+ fargateProps.queueArn = queueArnValue;
238
+ fargateProps.prefix = prefixValue;
239
+ fargateProps.pkgKey = pkgKeyValue;
240
+ fargateProps.benchlingClientId = props.benchlingClientId;
241
+ fargateProps.benchlingClientSecret = props.benchlingClientSecret;
242
+ fargateProps.benchlingTenant = benchlingTenantValue;
243
+ fargateProps.benchlingAppDefinitionId = props.benchlingAppDefinitionId;
244
+ // Use props.benchlingSecrets (original value) to determine mode
245
+ // The CloudFormation parameter value (benchlingSecretsValue) is a token that can't be evaluated at synth time
246
+ fargateProps.benchlingSecrets = props.benchlingSecrets;
247
+ fargateProps.quiltCatalog = quiltCatalogValue;
248
+ fargateProps.quiltDatabase = quiltDatabaseValue;
249
+ fargateProps.webhookAllowList = webhookAllowListValue;
250
+ }
251
+ this.fargateService = new fargate_service_1.FargateService(this, "FargateService", fargateProps);
207
252
  // Create API Gateway that routes to the ALB
208
253
  this.api = new alb_api_gateway_1.AlbApiGateway(this, "ApiGateway", {
209
254
  loadBalancer: this.fargateService.loadBalancer,
@@ -1 +1 @@
1
- {"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"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"}
@@ -8,28 +8,31 @@ import { Construct } from "constructs";
8
8
  export interface FargateServiceProps {
9
9
  readonly vpc: ec2.IVpc;
10
10
  readonly bucket: s3.IBucket;
11
- readonly queueArn: string;
12
11
  readonly region: string;
13
12
  readonly account: string;
14
- readonly prefix: string;
15
- readonly pkgKey: string;
16
- readonly benchlingClientId: string;
17
- readonly benchlingClientSecret: string;
18
- readonly benchlingTenant: string;
13
+ readonly ecrRepository: ecr.IRepository;
14
+ readonly imageTag?: string;
15
+ readonly stackVersion?: string;
16
+ readonly logLevel?: string;
17
+ readonly enableWebhookVerification?: string;
18
+ readonly quiltStackArn?: string;
19
+ readonly benchlingSecret?: string;
20
+ readonly queueArn?: string;
21
+ readonly prefix?: string;
22
+ readonly pkgKey?: string;
23
+ readonly benchlingClientId?: string;
24
+ readonly benchlingClientSecret?: string;
25
+ readonly benchlingTenant?: string;
26
+ readonly benchlingAppDefinitionId?: string;
19
27
  /**
20
28
  * Consolidated Benchling secrets as JSON string.
21
29
  * When provided and non-empty, the container will receive BENCHLING_SECRETS environment variable.
22
30
  * Otherwise, individual environment variables (BENCHLING_TENANT) and secrets (BENCHLING_CLIENT_ID, BENCHLING_CLIENT_SECRET) are used.
23
31
  */
24
32
  readonly benchlingSecrets?: string;
25
- readonly quiltCatalog: string;
26
- readonly quiltDatabase: string;
27
- readonly webhookAllowList: string;
28
- readonly ecrRepository: ecr.IRepository;
29
- readonly imageTag?: string;
30
- readonly stackVersion?: string;
31
- readonly logLevel?: string;
32
- readonly enableWebhookVerification?: string;
33
+ readonly quiltCatalog?: string;
34
+ readonly quiltDatabase?: string;
35
+ readonly webhookAllowList?: string;
33
36
  }
34
37
  export declare class FargateService extends Construct {
35
38
  readonly service: ecs.FargateService;
@@ -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,KAAK,MAAM,wCAAwC,CAAC;AAEhE,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CAC/C;AAED,qBAAa,cAAe,SAAQ,SAAS;IACzC,SAAgB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;IAC5C,SAAgB,YAAY,EAAE,KAAK,CAAC,uBAAuB,CAAC;IAC5D,SAAgB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrC,SAAgB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;gBAE7B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CAyVvE"}
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;AAE7C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAG5C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAGlC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,qBAAa,cAAe,SAAQ,SAAS;IACzC,SAAgB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;IAC5C,SAAgB,YAAY,EAAE,KAAK,CAAC,uBAAuB,CAAC;IAC5D,SAAgB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrC,SAAgB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;gBAE7B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CA0bvE"}
@@ -74,22 +74,98 @@ class FargateService extends constructs_1.Construct {
74
74
  ],
75
75
  });
76
76
  // Note: ECR pull permissions will be automatically granted by fromEcrRepository()
77
+ // Determine which mode we're using
78
+ const useSecretsOnlyMode = !!(props.quiltStackArn && props.benchlingSecret);
77
79
  // Create IAM Task Role (for the container to access AWS services)
78
80
  const taskRole = new iam.Role(this, "TaskRole", {
79
81
  assumedBy: new iam.ServicePrincipal("ecs-tasks.amazonaws.com"),
80
82
  });
81
- // Grant S3 bucket access to task role
82
- props.bucket.grantReadWrite(taskRole);
83
- // Grant SQS access to task role using the actual ARN
84
- taskRole.addToPolicy(new iam.PolicyStatement({
85
- actions: [
86
- "sqs:SendMessage",
87
- "sqs:GetQueueUrl",
88
- "sqs:GetQueueAttributes",
89
- ],
90
- resources: [props.queueArn],
91
- }));
92
- // Grant Athena access to task role for package querying
83
+ // In secrets-only mode, grant permissions for CloudFormation and Secrets Manager
84
+ if (useSecretsOnlyMode) {
85
+ // Grant CloudFormation read access (to query stack outputs)
86
+ taskRole.addToPolicy(new iam.PolicyStatement({
87
+ actions: [
88
+ "cloudformation:DescribeStacks",
89
+ "cloudformation:DescribeStackResources",
90
+ ],
91
+ resources: [props.quiltStackArn],
92
+ }));
93
+ // Grant Secrets Manager read access (to fetch Benchling credentials)
94
+ // Allow both name and ARN formats
95
+ taskRole.addToPolicy(new iam.PolicyStatement({
96
+ actions: [
97
+ "secretsmanager:GetSecretValue",
98
+ "secretsmanager:DescribeSecret",
99
+ ],
100
+ resources: [
101
+ // Support both secret name and ARN
102
+ `arn:aws:secretsmanager:${props.region}:${props.account}:secret:${props.benchlingSecret}*`,
103
+ ],
104
+ }));
105
+ // Grant wildcard S3 access (bucket name will be resolved at runtime)
106
+ taskRole.addToPolicy(new iam.PolicyStatement({
107
+ actions: [
108
+ "s3:GetObject",
109
+ "s3:PutObject",
110
+ "s3:ListBucket",
111
+ ],
112
+ resources: [
113
+ "arn:aws:s3:::*",
114
+ ],
115
+ }));
116
+ // Grant wildcard SQS access (queue ARN will be resolved at runtime)
117
+ taskRole.addToPolicy(new iam.PolicyStatement({
118
+ actions: [
119
+ "sqs:SendMessage",
120
+ "sqs:GetQueueUrl",
121
+ "sqs:GetQueueAttributes",
122
+ ],
123
+ resources: [
124
+ `arn:aws:sqs:${props.region}:${props.account}:*`,
125
+ ],
126
+ }));
127
+ // Grant wildcard Glue access (database name will be resolved at runtime)
128
+ taskRole.addToPolicy(new iam.PolicyStatement({
129
+ actions: [
130
+ "glue:GetDatabase",
131
+ "glue:GetTable",
132
+ "glue:GetPartitions",
133
+ ],
134
+ resources: [
135
+ `arn:aws:glue:${props.region}:${props.account}:catalog`,
136
+ `arn:aws:glue:${props.region}:${props.account}:database/*`,
137
+ `arn:aws:glue:${props.region}:${props.account}:table/*`,
138
+ ],
139
+ }));
140
+ }
141
+ else {
142
+ // Legacy mode: Grant specific resource access
143
+ // Grant S3 bucket access to task role
144
+ props.bucket.grantReadWrite(taskRole);
145
+ // Grant SQS access to task role using the actual ARN
146
+ taskRole.addToPolicy(new iam.PolicyStatement({
147
+ actions: [
148
+ "sqs:SendMessage",
149
+ "sqs:GetQueueUrl",
150
+ "sqs:GetQueueAttributes",
151
+ ],
152
+ resources: [props.queueArn],
153
+ }));
154
+ // Grant Glue Data Catalog access (required for Athena queries)
155
+ taskRole.addToPolicy(new iam.PolicyStatement({
156
+ actions: [
157
+ "glue:GetDatabase",
158
+ "glue:GetTable",
159
+ "glue:GetPartitions",
160
+ ],
161
+ resources: [
162
+ `arn:aws:glue:${props.region}:${props.account}:catalog`,
163
+ `arn:aws:glue:${props.region}:${props.account}:database/${props.quiltDatabase}`,
164
+ `arn:aws:glue:${props.region}:${props.account}:table/${props.quiltDatabase}/*`,
165
+ ],
166
+ }));
167
+ }
168
+ // Grant Athena access to task role for package querying (both modes)
93
169
  taskRole.addToPolicy(new iam.PolicyStatement({
94
170
  actions: [
95
171
  "athena:StartQueryExecution",
@@ -102,21 +178,7 @@ class FargateService extends constructs_1.Construct {
102
178
  `arn:aws:athena:${props.region}:${props.account}:workgroup/primary`,
103
179
  ],
104
180
  }));
105
- // Grant Glue Data Catalog access (required for Athena queries)
106
- taskRole.addToPolicy(new iam.PolicyStatement({
107
- actions: [
108
- "glue:GetDatabase",
109
- "glue:GetTable",
110
- "glue:GetPartitions",
111
- ],
112
- resources: [
113
- `arn:aws:glue:${props.region}:${props.account}:catalog`,
114
- `arn:aws:glue:${props.region}:${props.account}:database/${props.quiltDatabase}`,
115
- `arn:aws:glue:${props.region}:${props.account}:table/${props.quiltDatabase}/*`,
116
- ],
117
- }));
118
- // Grant S3 access for Athena query results
119
- // Athena needs to write query results to an S3 bucket
181
+ // Grant S3 access for Athena query results (both modes)
120
182
  const athenaResultsBucketArn = `arn:aws:s3:::aws-athena-query-results-${props.account}-${props.region}`;
121
183
  taskRole.addToPolicy(new iam.PolicyStatement({
122
184
  actions: [
@@ -130,35 +192,46 @@ class FargateService extends constructs_1.Construct {
130
192
  `${athenaResultsBucketArn}/*`,
131
193
  ],
132
194
  }));
133
- // Determine which parameter mode to use
195
+ // Determine which parameter mode to use for legacy Benchling secrets
134
196
  // Check if the benchlingSecrets prop is provided and non-empty
135
- const useNewParam = props.benchlingSecrets !== undefined &&
197
+ const useNewParam = !useSecretsOnlyMode && props.benchlingSecrets !== undefined &&
136
198
  props.benchlingSecrets !== null &&
137
199
  props.benchlingSecrets.trim() !== "";
138
- // Create Secrets Manager secret with proper parameter handling
139
- let secretValue;
140
- if (useNewParam) {
141
- // New approach: Use consolidated secrets JSON
142
- secretValue = props.benchlingSecrets;
143
- }
144
- else {
145
- // Old approach: Build JSON from individual parameters
146
- secretValue = JSON.stringify({
147
- client_id: props.benchlingClientId,
148
- client_secret: props.benchlingClientSecret,
149
- tenant: props.benchlingTenant,
200
+ // In legacy mode, create Secrets Manager secret for Benchling credentials
201
+ let benchlingSecret = undefined;
202
+ if (!useSecretsOnlyMode) {
203
+ // Legacy mode: Create or reference Secrets Manager secret
204
+ let secretValue;
205
+ if (useNewParam) {
206
+ // New approach: Use consolidated secrets JSON
207
+ secretValue = props.benchlingSecrets;
208
+ }
209
+ else {
210
+ // Old approach: Build JSON from individual parameters
211
+ const secretData = {
212
+ client_id: props.benchlingClientId,
213
+ client_secret: props.benchlingClientSecret,
214
+ tenant: props.benchlingTenant,
215
+ };
216
+ // Include app_definition_id if provided
217
+ if (props.benchlingAppDefinitionId) {
218
+ secretData.app_definition_id = props.benchlingAppDefinitionId;
219
+ }
220
+ secretValue = JSON.stringify(secretData);
221
+ }
222
+ // Create Secrets Manager secret for Benchling credentials
223
+ // Note: We still use unsafePlainText() because CloudFormation parameters are strings.
224
+ // The actual secret values are protected by noEcho in the parameters.
225
+ benchlingSecret = new secretsmanager.Secret(this, "BenchlingCredentials", {
226
+ secretName: "benchling-webhook/credentials",
227
+ description: "Benchling API credentials for webhook processor",
228
+ secretStringValue: cdk.SecretValue.unsafePlainText(secretValue),
150
229
  });
230
+ // Grant read access to secrets
231
+ benchlingSecret.grantRead(taskRole);
151
232
  }
152
- // Create or reference Secrets Manager secret for Benchling credentials
153
- // Note: We still use unsafePlainText() because CloudFormation parameters are strings.
154
- // The actual secret values are protected by noEcho in the parameters.
155
- const benchlingSecret = new secretsmanager.Secret(this, "BenchlingCredentials", {
156
- secretName: "benchling-webhook/credentials",
157
- description: "Benchling API credentials for webhook processor",
158
- secretStringValue: cdk.SecretValue.unsafePlainText(secretValue),
159
- });
160
- // Grant read access to secrets
161
- benchlingSecret.grantRead(taskRole);
233
+ // In secrets-only mode, no CDK-created secret is needed
234
+ // The container will read the secret directly using the benchlingSecret parameter
162
235
  // Create Fargate Task Definition
163
236
  const taskDefinition = new ecs.FargateTaskDefinition(this, "TaskDefinition", {
164
237
  memoryLimitMiB: 2048,
@@ -167,16 +240,8 @@ class FargateService extends constructs_1.Construct {
167
240
  taskRole: taskRole,
168
241
  family: "benchling-webhook-task",
169
242
  });
170
- // Build environment variables based on parameter mode
171
- // Note: BENCHLING_TENANT is set conditionally below based on parameter mode
243
+ // Build environment variables based on mode
172
244
  const environmentVars = {
173
- QUILT_USER_BUCKET: props.bucket.bucketName,
174
- QUEUE_ARN: props.queueArn,
175
- PKG_PREFIX: props.prefix,
176
- PKG_KEY: props.pkgKey,
177
- QUILT_CATALOG: props.quiltCatalog,
178
- QUILT_DATABASE: props.quiltDatabase,
179
- WEBHOOK_ALLOW_LIST: props.webhookAllowList,
180
245
  AWS_REGION: props.region,
181
246
  AWS_DEFAULT_REGION: props.region,
182
247
  FLASK_ENV: "production",
@@ -184,20 +249,34 @@ class FargateService extends constructs_1.Construct {
184
249
  ENABLE_WEBHOOK_VERIFICATION: props.enableWebhookVerification || "true",
185
250
  BENCHLING_WEBHOOK_VERSION: props.stackVersion || props.imageTag || "latest",
186
251
  };
187
- // Add Benchling configuration based on parameter mode
188
- if (useNewParam) {
189
- // New mode: Single consolidated secrets parameter
190
- // Sets: BENCHLING_SECRETS: props.benchlingSecrets
191
- environmentVars.BENCHLING_SECRETS = props.benchlingSecrets;
252
+ if (useSecretsOnlyMode) {
253
+ // Secrets-only mode: Only pass 2 environment variables
254
+ // Container will query CloudFormation and Secrets Manager for everything else
255
+ environmentVars.QuiltStackARN = props.quiltStackArn;
256
+ environmentVars.BenchlingSecret = props.benchlingSecret;
192
257
  }
193
258
  else {
194
- // Old mode: Individual tenant parameter
195
- // Sets: BENCHLING_TENANT: props.benchlingTenant
196
- environmentVars.BENCHLING_TENANT = props.benchlingTenant;
259
+ // Legacy mode: Pass all configuration as environment variables
260
+ environmentVars.QUILT_USER_BUCKET = props.bucket.bucketName;
261
+ environmentVars.QUEUE_ARN = props.queueArn;
262
+ environmentVars.PKG_PREFIX = props.prefix;
263
+ environmentVars.PKG_KEY = props.pkgKey;
264
+ environmentVars.QUILT_CATALOG = props.quiltCatalog;
265
+ environmentVars.QUILT_DATABASE = props.quiltDatabase;
266
+ environmentVars.WEBHOOK_ALLOW_LIST = props.webhookAllowList;
267
+ // Add Benchling configuration based on parameter mode
268
+ if (useNewParam) {
269
+ // New mode: Single consolidated secrets parameter
270
+ environmentVars.BENCHLING_SECRETS = props.benchlingSecrets;
271
+ }
272
+ else {
273
+ // Old mode: Individual tenant parameter
274
+ environmentVars.BENCHLING_TENANT = props.benchlingTenant;
275
+ }
197
276
  }
198
- // Build secrets configuration (only for old mode)
277
+ // Build secrets configuration (only for legacy mode with individual secrets)
199
278
  let secretsConfig = undefined;
200
- if (!useNewParam) {
279
+ if (!useSecretsOnlyMode && !useNewParam && benchlingSecret) {
201
280
  // Old mode: Individual secrets from Secrets Manager
202
281
  secretsConfig = {
203
282
  BENCHLING_CLIENT_ID: ecs.Secret.fromSecretsManager(benchlingSecret, "client_id"),
@@ -205,6 +284,7 @@ class FargateService extends constructs_1.Construct {
205
284
  BENCHLING_APP_DEFINITION_ID: ecs.Secret.fromSecretsManager(benchlingSecret, "app_definition_id"),
206
285
  };
207
286
  }
287
+ // In secrets-only mode, no ECS secrets are needed (container reads from Secrets Manager directly)
208
288
  // Add container with configured environment
209
289
  const container = taskDefinition.addContainer("BenchlingWebhookContainer", {
210
290
  image: ecs.ContainerImage.fromEcrRepository(props.ecrRepository, props.imageTag || "latest"),
@@ -1 +1 @@
1
- {"version":3,"file":"fargate-service.js","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fargate-service.js","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":"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"}