@quiltdata/benchling-webhook 0.7.9 → 0.8.0-20251117T215047Z
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 +1 -0
- package/dist/bin/benchling-webhook.js +4 -2
- package/dist/bin/benchling-webhook.js.map +1 -1
- package/dist/bin/cli.js +15 -7
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/commands/deploy.d.ts.map +1 -1
- package/dist/bin/commands/deploy.js +64 -8
- package/dist/bin/commands/deploy.js.map +1 -1
- package/dist/bin/commands/health-check.d.ts.map +1 -1
- package/dist/bin/commands/health-check.js +2 -35
- package/dist/bin/commands/health-check.js.map +1 -1
- package/dist/bin/commands/infer-quilt-config.d.ts +6 -0
- package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -1
- package/dist/bin/commands/infer-quilt-config.js +127 -49
- package/dist/bin/commands/infer-quilt-config.js.map +1 -1
- package/dist/bin/commands/install.d.ts.map +1 -1
- package/dist/bin/commands/install.js +13 -17
- package/dist/bin/commands/install.js.map +1 -1
- package/dist/bin/commands/logs.d.ts.map +1 -1
- package/dist/bin/commands/logs.js +4 -128
- package/dist/bin/commands/logs.js.map +1 -1
- package/dist/bin/commands/manifest.d.ts.map +1 -1
- package/dist/bin/commands/manifest.js +2 -3
- package/dist/bin/commands/manifest.js.map +1 -1
- package/dist/bin/commands/setup-wizard.d.ts +2 -0
- package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
- package/dist/bin/commands/setup-wizard.js +5 -5
- package/dist/bin/commands/setup-wizard.js.map +1 -1
- package/dist/bin/commands/status.d.ts +49 -0
- package/dist/bin/commands/status.d.ts.map +1 -1
- package/dist/bin/commands/status.js +666 -41
- package/dist/bin/commands/status.js.map +1 -1
- package/dist/bin/commands/sync-secrets.d.ts.map +1 -1
- package/dist/bin/commands/sync-secrets.js +3 -36
- package/dist/bin/commands/sync-secrets.js.map +1 -1
- package/dist/bin/commands/validate.js +1 -1
- package/dist/bin/commands/validate.js.map +1 -1
- package/dist/bin/xdg-launch.d.ts +74 -0
- package/dist/bin/xdg-launch.d.ts.map +1 -0
- package/dist/bin/xdg-launch.js +588 -0
- package/dist/bin/xdg-launch.js.map +1 -0
- package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
- package/dist/lib/benchling-webhook-stack.js +59 -7
- package/dist/lib/benchling-webhook-stack.js.map +1 -1
- package/dist/lib/fargate-service.d.ts +24 -4
- package/dist/lib/fargate-service.d.ts.map +1 -1
- package/dist/lib/fargate-service.js +75 -27
- package/dist/lib/fargate-service.js.map +1 -1
- package/dist/lib/types/config.d.ts +99 -5
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/config.js +4 -1
- package/dist/lib/types/config.js.map +1 -1
- package/dist/lib/utils/service-resolver.d.ts +155 -0
- package/dist/lib/utils/service-resolver.d.ts.map +1 -0
- package/dist/lib/utils/service-resolver.js +195 -0
- package/dist/lib/utils/service-resolver.js.map +1 -0
- package/dist/lib/utils/stack-inference.d.ts +58 -0
- package/dist/lib/utils/stack-inference.d.ts.map +1 -1
- package/dist/lib/utils/stack-inference.js +76 -2
- package/dist/lib/utils/stack-inference.js.map +1 -1
- package/dist/lib/utils/stack-parameter-update.js +2 -2
- package/dist/lib/utils/stack-parameter-update.js.map +1 -1
- package/dist/lib/wizard/phase2-stack-query.d.ts.map +1 -1
- package/dist/lib/wizard/phase2-stack-query.js +46 -9
- package/dist/lib/wizard/phase2-stack-query.js.map +1 -1
- package/dist/lib/wizard/phase3-parameter-collection.js +5 -5
- package/dist/lib/wizard/phase3-parameter-collection.js.map +1 -1
- package/dist/lib/wizard/phase4-validation.d.ts.map +1 -1
- package/dist/lib/wizard/phase4-validation.js +4 -5
- package/dist/lib/wizard/phase4-validation.js.map +1 -1
- package/dist/lib/wizard/phase5-mode-decision.js +1 -1
- package/dist/lib/wizard/phase5-mode-decision.js.map +1 -1
- package/dist/lib/wizard/phase6-integrated-mode.d.ts.map +1 -1
- package/dist/lib/wizard/phase6-integrated-mode.js +19 -0
- package/dist/lib/wizard/phase6-integrated-mode.js.map +1 -1
- package/dist/lib/wizard/phase7-standalone-mode.d.ts.map +1 -1
- package/dist/lib/wizard/phase7-standalone-mode.js +24 -10
- package/dist/lib/wizard/phase7-standalone-mode.js.map +1 -1
- package/dist/lib/wizard/types.d.ts +14 -0
- package/dist/lib/wizard/types.d.ts.map +1 -1
- package/dist/package.json +20 -9
- package/package.json +20 -9
- package/dist/lib/utils/config-loader.d.ts +0 -48
- package/dist/lib/utils/config-loader.d.ts.map +0 -1
- package/dist/lib/utils/config-loader.js +0 -110
- package/dist/lib/utils/config-loader.js.map +0 -1
- package/dist/lib/utils/config-resolver.d.ts +0 -138
- package/dist/lib/utils/config-resolver.d.ts.map +0 -1
- package/dist/lib/utils/config-resolver.js +0 -279
- package/dist/lib/utils/config-resolver.js.map +0 -1
|
@@ -49,18 +49,55 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
49
49
|
super(scope, id, props);
|
|
50
50
|
const { config } = props;
|
|
51
51
|
// Validate required configuration fields
|
|
52
|
-
if (
|
|
52
|
+
// Skip validation if SKIP_CONFIG_VALIDATION is set (for destroy operations)
|
|
53
|
+
const skipValidation = process.env.SKIP_CONFIG_VALIDATION === "true";
|
|
54
|
+
if (!skipValidation && !config.benchling.secretArn) {
|
|
53
55
|
throw new Error("Configuration validation failed. Required fields:\n" +
|
|
54
|
-
" - config.quilt.stackArn: CloudFormation stack ARN\n" +
|
|
55
56
|
" - config.benchling.secretArn: Secrets Manager secret ARN\n\n" +
|
|
56
57
|
"Run 'npm run setup' to configure your deployment.");
|
|
57
58
|
}
|
|
59
|
+
console.log(`Deploying with profile configuration (v${config._metadata.version})`);
|
|
60
|
+
console.log(` Benchling Tenant: ${config.benchling.tenant}`);
|
|
61
|
+
console.log(` Region: ${config.deployment.region}`);
|
|
58
62
|
// Create CloudFormation parameters for runtime-configurable values
|
|
59
63
|
// These parameters can be updated via CloudFormation stack updates
|
|
60
|
-
|
|
64
|
+
// Explicit service parameters (v1.0.0+)
|
|
65
|
+
// These replace runtime resolution from QuiltStackARN
|
|
66
|
+
const packagerQueueUrlParam = new cdk.CfnParameter(this, "PackagerQueueUrl", {
|
|
61
67
|
type: "String",
|
|
62
|
-
description: "
|
|
63
|
-
default:
|
|
68
|
+
description: "SQS queue URL for Quilt package creation jobs",
|
|
69
|
+
default: "", // Will be resolved at deployment time
|
|
70
|
+
});
|
|
71
|
+
const athenaUserDatabaseParam = new cdk.CfnParameter(this, "AthenaUserDatabase", {
|
|
72
|
+
type: "String",
|
|
73
|
+
description: "Athena/Glue database name for Quilt catalog metadata",
|
|
74
|
+
default: "", // Will be resolved at deployment time
|
|
75
|
+
});
|
|
76
|
+
const quiltWebHostParam = new cdk.CfnParameter(this, "QuiltWebHost", {
|
|
77
|
+
type: "String",
|
|
78
|
+
description: "Quilt catalog domain (without protocol or trailing slash)",
|
|
79
|
+
default: "", // Will be resolved at deployment time
|
|
80
|
+
});
|
|
81
|
+
const icebergDatabaseParam = new cdk.CfnParameter(this, "IcebergDatabase", {
|
|
82
|
+
type: "String",
|
|
83
|
+
description: "Iceberg database name (optional, leave empty if not used)",
|
|
84
|
+
default: "",
|
|
85
|
+
});
|
|
86
|
+
// NEW: Optional Athena resources (from Quilt stack discovery)
|
|
87
|
+
const icebergWorkgroupParam = new cdk.CfnParameter(this, "IcebergWorkgroup", {
|
|
88
|
+
type: "String",
|
|
89
|
+
description: "Iceberg workgroup name (optional, from Quilt stack discovery)",
|
|
90
|
+
default: "",
|
|
91
|
+
});
|
|
92
|
+
const athenaUserWorkgroupParam = new cdk.CfnParameter(this, "AthenaUserWorkgroup", {
|
|
93
|
+
type: "String",
|
|
94
|
+
description: "Athena workgroup for user queries (optional, from Quilt stack discovery)",
|
|
95
|
+
default: "",
|
|
96
|
+
});
|
|
97
|
+
const athenaResultsBucketParam = new cdk.CfnParameter(this, "AthenaResultsBucket", {
|
|
98
|
+
type: "String",
|
|
99
|
+
description: "S3 bucket for Athena query results (optional, from Quilt stack discovery)",
|
|
100
|
+
default: "",
|
|
64
101
|
});
|
|
65
102
|
const benchlingSecretParam = new cdk.CfnParameter(this, "BenchlingSecretARN", {
|
|
66
103
|
type: "String",
|
|
@@ -90,7 +127,13 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
90
127
|
});
|
|
91
128
|
// Use parameter values (which have config as defaults)
|
|
92
129
|
// This allows runtime updates via CloudFormation
|
|
93
|
-
const
|
|
130
|
+
const packagerQueueUrlValue = packagerQueueUrlParam.valueAsString;
|
|
131
|
+
const athenaUserDatabaseValue = athenaUserDatabaseParam.valueAsString;
|
|
132
|
+
const quiltWebHostValue = quiltWebHostParam.valueAsString;
|
|
133
|
+
const icebergDatabaseValue = icebergDatabaseParam.valueAsString;
|
|
134
|
+
const icebergWorkgroupValue = icebergWorkgroupParam.valueAsString;
|
|
135
|
+
const athenaUserWorkgroupValue = athenaUserWorkgroupParam.valueAsString;
|
|
136
|
+
const athenaResultsBucketValue = athenaResultsBucketParam.valueAsString;
|
|
94
137
|
const benchlingSecretValue = benchlingSecretParam.valueAsString;
|
|
95
138
|
const logLevelValue = logLevelParam.valueAsString;
|
|
96
139
|
const imageTagValue = imageTagParam.valueAsString;
|
|
@@ -124,7 +167,16 @@ class BenchlingWebhookStack extends cdk.Stack {
|
|
|
124
167
|
imageTag: imageTagValue,
|
|
125
168
|
stackVersion: stackVersion,
|
|
126
169
|
// Runtime-configurable parameters
|
|
127
|
-
|
|
170
|
+
// New explicit service parameters (v1.0.0+)
|
|
171
|
+
packagerQueueUrl: packagerQueueUrlValue,
|
|
172
|
+
athenaUserDatabase: athenaUserDatabaseValue,
|
|
173
|
+
quiltWebHost: quiltWebHostValue,
|
|
174
|
+
icebergDatabase: icebergDatabaseValue,
|
|
175
|
+
// NEW: Optional Athena resources (from Quilt stack discovery)
|
|
176
|
+
icebergWorkgroup: icebergWorkgroupValue,
|
|
177
|
+
athenaUserWorkgroup: athenaUserWorkgroupValue,
|
|
178
|
+
athenaResultsBucket: athenaResultsBucketValue,
|
|
179
|
+
// Legacy parameters
|
|
128
180
|
benchlingSecret: benchlingSecretValue,
|
|
129
181
|
packageBucket: packageBucketValue,
|
|
130
182
|
quiltDatabase: quiltDatabaseValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,uDAAyC;AACzC,yDAA2C;AAC3C,yDAA2C;AAE3C,uDAAmD;AACnD,uDAAkD;AAElD,mEAA0C;AAgB1C,MAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAMhD,YACI,KAAgB,EAChB,EAAU,EACV,KAAiC;QAEjC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAExB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEzB,yCAAyC;QACzC,
|
|
1
|
+
{"version":3,"file":"benchling-webhook-stack.js","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,14 @@ import * as s3 from "aws-cdk-lib/aws-s3";
|
|
|
7
7
|
import { Construct } from "constructs";
|
|
8
8
|
import { ProfileConfig } from "./types/config";
|
|
9
9
|
/**
|
|
10
|
-
* Properties for FargateService construct (
|
|
10
|
+
* Properties for FargateService construct (v1.0.0+)
|
|
11
11
|
*
|
|
12
12
|
* Uses ProfileConfig for structured configuration access.
|
|
13
|
-
* Runtime-configurable parameters
|
|
14
|
-
*
|
|
13
|
+
* Runtime-configurable parameters can be overridden via CloudFormation parameters.
|
|
14
|
+
*
|
|
15
|
+
* **Breaking Change (v1.0.0)**: Removed stackArn in favor of explicit service environment variables.
|
|
16
|
+
* The explicit service parameters (packagerQueueUrl, athenaUserDatabase, quiltWebHost, icebergDatabase)
|
|
17
|
+
* are resolved at deployment time and passed directly to the container, eliminating runtime CloudFormation calls.
|
|
15
18
|
*/
|
|
16
19
|
export interface FargateServiceProps {
|
|
17
20
|
readonly vpc: ec2.IVpc;
|
|
@@ -20,7 +23,13 @@ export interface FargateServiceProps {
|
|
|
20
23
|
readonly ecrRepository: ecr.IRepository;
|
|
21
24
|
readonly imageTag?: string;
|
|
22
25
|
readonly stackVersion?: string;
|
|
23
|
-
readonly
|
|
26
|
+
readonly packagerQueueUrl: string;
|
|
27
|
+
readonly athenaUserDatabase: string;
|
|
28
|
+
readonly quiltWebHost: string;
|
|
29
|
+
readonly icebergDatabase: string;
|
|
30
|
+
readonly icebergWorkgroup?: string;
|
|
31
|
+
readonly athenaUserWorkgroup?: string;
|
|
32
|
+
readonly athenaResultsBucket?: string;
|
|
24
33
|
readonly benchlingSecret: string;
|
|
25
34
|
readonly packageBucket: string;
|
|
26
35
|
readonly quiltDatabase: string;
|
|
@@ -31,6 +40,17 @@ export declare class FargateService extends Construct {
|
|
|
31
40
|
readonly loadBalancer: elbv2.ApplicationLoadBalancer;
|
|
32
41
|
readonly cluster: ecs.Cluster;
|
|
33
42
|
readonly logGroup: logs.ILogGroup;
|
|
43
|
+
/**
|
|
44
|
+
* Extract secret name from Secrets Manager ARN
|
|
45
|
+
*
|
|
46
|
+
* AWS Secrets Manager automatically appends a 6-character random suffix to secret names
|
|
47
|
+
* in ARNs (e.g., "my-secret-Ab12Cd"). This function extracts the base secret name by
|
|
48
|
+
* removing the suffix.
|
|
49
|
+
*
|
|
50
|
+
* @param arn - Secrets Manager ARN
|
|
51
|
+
* @returns Secret name without the random suffix
|
|
52
|
+
*/
|
|
53
|
+
private extractSecretName;
|
|
34
54
|
constructor(scope: Construct, id: string, props: FargateServiceProps);
|
|
35
55
|
}
|
|
36
56
|
//# sourceMappingURL=fargate-service.d.ts.map
|
|
@@ -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;AAC7C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C
|
|
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,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,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,EAAE,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC;IACxC,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,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,YAAY,EAAE,KAAK,CAAC,uBAAuB,CAAC;IAC5D,SAAgB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrC,SAAgB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;IAEzC;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;gBAoBb,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CA0WvE"}
|
|
@@ -43,6 +43,32 @@ const logs = __importStar(require("aws-cdk-lib/aws-logs"));
|
|
|
43
43
|
const s3 = __importStar(require("aws-cdk-lib/aws-s3"));
|
|
44
44
|
const constructs_1 = require("constructs");
|
|
45
45
|
class FargateService extends constructs_1.Construct {
|
|
46
|
+
/**
|
|
47
|
+
* Extract secret name from Secrets Manager ARN
|
|
48
|
+
*
|
|
49
|
+
* AWS Secrets Manager automatically appends a 6-character random suffix to secret names
|
|
50
|
+
* in ARNs (e.g., "my-secret-Ab12Cd"). This function extracts the base secret name by
|
|
51
|
+
* removing the suffix.
|
|
52
|
+
*
|
|
53
|
+
* @param arn - Secrets Manager ARN
|
|
54
|
+
* @returns Secret name without the random suffix
|
|
55
|
+
*/
|
|
56
|
+
extractSecretName(arn) {
|
|
57
|
+
if (!arn) {
|
|
58
|
+
return "";
|
|
59
|
+
}
|
|
60
|
+
// ARN format: arn:aws:secretsmanager:region:account:secret:name-XXXXXX
|
|
61
|
+
// where XXXXXX is a 6-character random suffix added by AWS
|
|
62
|
+
const match = arn.match(/secret:([^:]+)/);
|
|
63
|
+
if (!match) {
|
|
64
|
+
return arn;
|
|
65
|
+
}
|
|
66
|
+
const fullName = match[1];
|
|
67
|
+
// Remove the AWS-generated 6-character suffix (format: -XXXXXX)
|
|
68
|
+
// The suffix is always a hyphen followed by 6 alphanumeric characters
|
|
69
|
+
const withoutSuffix = fullName.replace(/-[A-Za-z0-9]{6}$/, "");
|
|
70
|
+
return withoutSuffix;
|
|
71
|
+
}
|
|
46
72
|
constructor(scope, id, props) {
|
|
47
73
|
super(scope, id);
|
|
48
74
|
const { config } = props;
|
|
@@ -79,14 +105,6 @@ class FargateService extends constructs_1.Construct {
|
|
|
79
105
|
const taskRole = new iam.Role(this, "TaskRole", {
|
|
80
106
|
assumedBy: new iam.ServicePrincipal("ecs-tasks.amazonaws.com"),
|
|
81
107
|
});
|
|
82
|
-
// Grant CloudFormation read access (to query stack outputs)
|
|
83
|
-
taskRole.addToPolicy(new iam.PolicyStatement({
|
|
84
|
-
actions: [
|
|
85
|
-
"cloudformation:DescribeStacks",
|
|
86
|
-
"cloudformation:DescribeStackResources",
|
|
87
|
-
],
|
|
88
|
-
resources: [props.stackArn],
|
|
89
|
-
}));
|
|
90
108
|
// Grant Secrets Manager read access (to fetch Benchling credentials)
|
|
91
109
|
// Use both config.benchling.secretArn and runtime parameter
|
|
92
110
|
const secretArn = config.benchling.secretArn || props.benchlingSecret;
|
|
@@ -152,6 +170,18 @@ class FargateService extends constructs_1.Construct {
|
|
|
152
170
|
],
|
|
153
171
|
}));
|
|
154
172
|
// Grant Athena access to task role for package querying
|
|
173
|
+
// Support both discovered workgroup (from Quilt stack) and fallback to primary
|
|
174
|
+
const athenaWorkgroups = props.athenaUserWorkgroup
|
|
175
|
+
? [
|
|
176
|
+
// Discovered workgroup from Quilt stack
|
|
177
|
+
`arn:aws:athena:${config.deployment.region}:${config.deployment.account || cdk.Aws.ACCOUNT_ID}:workgroup/${props.athenaUserWorkgroup}`,
|
|
178
|
+
// Fallback to primary workgroup
|
|
179
|
+
`arn:aws:athena:${config.deployment.region}:${config.deployment.account || cdk.Aws.ACCOUNT_ID}:workgroup/primary`,
|
|
180
|
+
]
|
|
181
|
+
: [
|
|
182
|
+
// Only primary workgroup if no discovered workgroup
|
|
183
|
+
`arn:aws:athena:${config.deployment.region}:${config.deployment.account || cdk.Aws.ACCOUNT_ID}:workgroup/primary`,
|
|
184
|
+
];
|
|
155
185
|
taskRole.addToPolicy(new iam.PolicyStatement({
|
|
156
186
|
actions: [
|
|
157
187
|
"athena:StartQueryExecution",
|
|
@@ -160,23 +190,35 @@ class FargateService extends constructs_1.Construct {
|
|
|
160
190
|
"athena:StopQueryExecution",
|
|
161
191
|
"athena:GetWorkGroup",
|
|
162
192
|
],
|
|
163
|
-
resources:
|
|
164
|
-
`arn:aws:athena:${config.deployment.region}:${config.deployment.account || cdk.Aws.ACCOUNT_ID}:workgroup/primary`,
|
|
165
|
-
],
|
|
193
|
+
resources: athenaWorkgroups,
|
|
166
194
|
}));
|
|
167
195
|
// Grant S3 access for Athena query results
|
|
168
|
-
|
|
196
|
+
// Support both discovered results bucket (from Quilt stack) and fallback to default
|
|
197
|
+
const athenaResultsBuckets = props.athenaResultsBucket
|
|
198
|
+
? [
|
|
199
|
+
// Discovered results bucket from Quilt stack
|
|
200
|
+
`arn:aws:s3:::${props.athenaResultsBucket}`,
|
|
201
|
+
`arn:aws:s3:::${props.athenaResultsBucket}/*`,
|
|
202
|
+
// Fallback to default bucket
|
|
203
|
+
`arn:aws:s3:::aws-athena-query-results-${account}-${region}`,
|
|
204
|
+
`arn:aws:s3:::aws-athena-query-results-${account}-${region}/*`,
|
|
205
|
+
]
|
|
206
|
+
: [
|
|
207
|
+
// Only default bucket if no discovered bucket
|
|
208
|
+
`arn:aws:s3:::aws-athena-query-results-${account}-${region}`,
|
|
209
|
+
`arn:aws:s3:::aws-athena-query-results-${account}-${region}/*`,
|
|
210
|
+
];
|
|
169
211
|
taskRole.addToPolicy(new iam.PolicyStatement({
|
|
170
212
|
actions: [
|
|
171
213
|
"s3:GetBucketLocation",
|
|
172
214
|
"s3:GetObject",
|
|
173
215
|
"s3:ListBucket",
|
|
216
|
+
"s3:ListBucketVersions",
|
|
174
217
|
"s3:PutObject",
|
|
218
|
+
"s3:PutBucketPublicAccessBlock",
|
|
219
|
+
"s3:CreateBucket",
|
|
175
220
|
],
|
|
176
|
-
resources:
|
|
177
|
-
athenaResultsBucketArn,
|
|
178
|
-
`${athenaResultsBucketArn}/*`,
|
|
179
|
-
],
|
|
221
|
+
resources: athenaResultsBuckets,
|
|
180
222
|
}));
|
|
181
223
|
// Create Fargate Task Definition
|
|
182
224
|
const taskDefinition = new ecs.FargateTaskDefinition(this, "TaskDefinition", {
|
|
@@ -187,22 +229,28 @@ class FargateService extends constructs_1.Construct {
|
|
|
187
229
|
family: "benchling-webhook-task",
|
|
188
230
|
});
|
|
189
231
|
// Build environment variables using new config structure
|
|
190
|
-
//
|
|
232
|
+
// v1.0.0+: Explicit service parameters eliminate runtime CloudFormation calls
|
|
233
|
+
// CRITICAL: These must match bin/xdg-launch.ts:buildEnvVars() exactly (lines 182-229)
|
|
234
|
+
// Package configuration comes from AWS Secrets Manager, NOT environment variables
|
|
191
235
|
const environmentVars = {
|
|
236
|
+
// AWS Configuration
|
|
192
237
|
AWS_REGION: region,
|
|
193
238
|
AWS_DEFAULT_REGION: region,
|
|
239
|
+
// Quilt Services (v0.8.0+ service-specific - NO MORE STACK ARN!)
|
|
240
|
+
QUILT_WEB_HOST: props.quiltWebHost,
|
|
241
|
+
ATHENA_USER_DATABASE: props.athenaUserDatabase,
|
|
242
|
+
ATHENA_USER_WORKGROUP: props.athenaUserWorkgroup || "primary",
|
|
243
|
+
ATHENA_RESULTS_BUCKET: props.athenaResultsBucket || "",
|
|
244
|
+
ICEBERG_DATABASE: props.icebergDatabase || "",
|
|
245
|
+
ICEBERG_WORKGROUP: props.icebergWorkgroup || "",
|
|
246
|
+
PACKAGER_SQS_URL: props.packagerQueueUrl,
|
|
247
|
+
// Benchling Configuration (credentials from Secrets Manager, NOT environment)
|
|
248
|
+
BenchlingSecret: this.extractSecretName(props.benchlingSecret),
|
|
249
|
+
// Security Configuration (verification can be disabled for dev/test)
|
|
250
|
+
ENABLE_WEBHOOK_VERIFICATION: String(config.security?.enableVerification !== false),
|
|
251
|
+
// Application Configuration
|
|
194
252
|
FLASK_ENV: "production",
|
|
195
253
|
LOG_LEVEL: props.logLevel || config.logging?.level || "INFO",
|
|
196
|
-
ENABLE_WEBHOOK_VERIFICATION: config.security?.enableVerification !== false ? "true" : "false",
|
|
197
|
-
BENCHLING_WEBHOOK_VERSION: props.stackVersion || props.imageTag || "latest",
|
|
198
|
-
// Runtime-configurable parameters (from CloudFormation)
|
|
199
|
-
QuiltStackARN: props.stackArn,
|
|
200
|
-
BenchlingSecret: props.benchlingSecret,
|
|
201
|
-
// Static config values (for reference)
|
|
202
|
-
BENCHLING_TENANT: config.benchling.tenant,
|
|
203
|
-
BENCHLING_PKG_BUCKET: config.packages.bucket,
|
|
204
|
-
BENCHLING_PKG_PREFIX: config.packages.prefix,
|
|
205
|
-
BENCHLING_PKG_KEY: config.packages.metadataKey,
|
|
206
254
|
};
|
|
207
255
|
// Add container with configured environment
|
|
208
256
|
const container = taskDefinition.addContainer("BenchlingWebhookContainer", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fargate-service.js","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,yDAA2C;AAE3C,yDAA2C;AAC3C,8EAAgE;AAChE,yDAA2C;AAC3C,2DAA6C;AAC7C,uDAAyC;AACzC,2CAAuC;
|
|
1
|
+
{"version":3,"file":"fargate-service.js","sourceRoot":"","sources":["../../lib/fargate-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,6 @@ export type ProfileName = string;
|
|
|
27
27
|
* ```json
|
|
28
28
|
* {
|
|
29
29
|
* "quilt": {
|
|
30
|
-
* "stackArn": "arn:aws:cloudformation:...",
|
|
31
30
|
* "catalog": "https://quilt.example.com",
|
|
32
31
|
* "bucket": "my-quilt-bucket",
|
|
33
32
|
* "database": "quilt_catalog",
|
|
@@ -110,31 +109,58 @@ export interface ProfileConfig {
|
|
|
110
109
|
/**
|
|
111
110
|
* Quilt Catalog Configuration
|
|
112
111
|
*
|
|
113
|
-
* Configuration for Quilt data catalog integration, including
|
|
112
|
+
* Configuration for Quilt data catalog integration, including service endpoints
|
|
114
113
|
* and SQS queue for package creation.
|
|
114
|
+
*
|
|
115
|
+
* **Breaking Change (v1.0.0)**: `stackArn` is used at deployment time only to resolve services.
|
|
116
|
+
* Services are passed as explicit environment variables to the container.
|
|
117
|
+
* No runtime CloudFormation API calls are made.
|
|
118
|
+
*
|
|
119
|
+
* **Usage**:
|
|
120
|
+
* - **Deployment time**: `stackArn` used to resolve service endpoints from stack outputs
|
|
121
|
+
* - **Runtime**: Explicit environment variables are used (no CloudFormation API calls)
|
|
115
122
|
*/
|
|
116
123
|
export interface QuiltConfig {
|
|
117
124
|
/**
|
|
118
|
-
* Quilt CloudFormation stack ARN
|
|
125
|
+
* Quilt CloudFormation stack ARN (optional)
|
|
126
|
+
*
|
|
127
|
+
* Used at deployment time to resolve service endpoints from stack outputs.
|
|
128
|
+
* The resolved services are then passed as explicit environment variables to the container.
|
|
129
|
+
*
|
|
130
|
+
* **Deployment usage only** - not passed to container runtime.
|
|
131
|
+
* **Breaking Change (v1.0.0)**: No longer passed as environment variable or CloudFormation parameter.
|
|
119
132
|
*
|
|
120
133
|
* @example "arn:aws:cloudformation:us-east-1:123456789012:stack/quilt-stack/..."
|
|
121
134
|
*/
|
|
122
|
-
stackArn
|
|
135
|
+
stackArn?: string;
|
|
123
136
|
/**
|
|
124
137
|
* Quilt catalog domain (without protocol)
|
|
125
138
|
*
|
|
139
|
+
* Resolved from stack outputs at deployment time:
|
|
140
|
+
* - Priority 1: `Catalog` output
|
|
141
|
+
* - Priority 2: `CatalogDomain` output
|
|
142
|
+
* - Priority 3: Extract from `ApiGatewayEndpoint` output
|
|
143
|
+
*
|
|
144
|
+
* Passed to container as `QUILT_WEB_HOST` environment variable.
|
|
145
|
+
*
|
|
126
146
|
* @example "quilt.example.com"
|
|
127
147
|
*/
|
|
128
148
|
catalog: string;
|
|
129
149
|
/**
|
|
130
150
|
* Athena/Glue database name for catalog metadata
|
|
131
151
|
*
|
|
152
|
+
* Resolved from stack output `UserAthenaDatabaseName` at deployment time.
|
|
153
|
+
* Passed to container as `ATHENA_USER_DATABASE` environment variable.
|
|
154
|
+
*
|
|
132
155
|
* @example "quilt_catalog"
|
|
133
156
|
*/
|
|
134
157
|
database: string;
|
|
135
158
|
/**
|
|
136
159
|
* SQS queue URL for package creation jobs
|
|
137
160
|
*
|
|
161
|
+
* Resolved from stack output `PackagerQueueUrl` at deployment time.
|
|
162
|
+
* Passed to container as `PACKAGER_SQS_URL` environment variable.
|
|
163
|
+
*
|
|
138
164
|
* @example "https://sqs.us-east-1.amazonaws.com/123456789012/quilt-package-queue"
|
|
139
165
|
*/
|
|
140
166
|
queueUrl: string;
|
|
@@ -144,6 +170,62 @@ export interface QuiltConfig {
|
|
|
144
170
|
* @example "us-east-1"
|
|
145
171
|
*/
|
|
146
172
|
region: string;
|
|
173
|
+
/**
|
|
174
|
+
* Iceberg database name (optional)
|
|
175
|
+
*
|
|
176
|
+
* If available, use Iceberg database instead of Athena for package* tables.
|
|
177
|
+
* Resolved from stack output `IcebergDatabase` at deployment time if present.
|
|
178
|
+
*
|
|
179
|
+
* Passed to container as `ICEBERG_DATABASE` environment variable.
|
|
180
|
+
*
|
|
181
|
+
* @example "quilt_iceberg"
|
|
182
|
+
*/
|
|
183
|
+
icebergDatabase?: string;
|
|
184
|
+
/**
|
|
185
|
+
* Athena workgroup for user queries (non-managed role)
|
|
186
|
+
*
|
|
187
|
+
* Resolved from UserAthenaNonManagedRoleWorkgroup stack resource
|
|
188
|
+
* This is a RESOURCE (not an output) - requires DescribeStackResources API
|
|
189
|
+
*
|
|
190
|
+
* @example "quilt-user-workgroup-prod"
|
|
191
|
+
*/
|
|
192
|
+
athenaUserWorkgroup?: string;
|
|
193
|
+
/**
|
|
194
|
+
* IAM policy for Athena user workgroup (non-managed role)
|
|
195
|
+
*
|
|
196
|
+
* Resolved from UserAthenaNonManagedRolePolicy stack resource
|
|
197
|
+
* This is a RESOURCE (not an output) - requires DescribeStackResources API
|
|
198
|
+
*
|
|
199
|
+
* @example "quilt-prod-UserAthenaNonManagedRolePolicy-ABC123"
|
|
200
|
+
*/
|
|
201
|
+
athenaUserPolicy?: string;
|
|
202
|
+
/**
|
|
203
|
+
* Athena workgroup for Iceberg queries
|
|
204
|
+
*
|
|
205
|
+
* Resolved from IcebergWorkGroup stack resource
|
|
206
|
+
* This is a RESOURCE (not an output) - requires DescribeStackResources API
|
|
207
|
+
*
|
|
208
|
+
* @example "quilt-iceberg-workgroup-prod"
|
|
209
|
+
*/
|
|
210
|
+
icebergWorkgroup?: string;
|
|
211
|
+
/**
|
|
212
|
+
* User Athena results bucket (S3 bucket for query results)
|
|
213
|
+
*
|
|
214
|
+
* Resolved from UserAthenaResultsBucket stack resource
|
|
215
|
+
* This is a RESOURCE (not an output) - requires DescribeStackResources API
|
|
216
|
+
*
|
|
217
|
+
* @example "my-stack-userathenar-abc123"
|
|
218
|
+
*/
|
|
219
|
+
athenaResultsBucket?: string;
|
|
220
|
+
/**
|
|
221
|
+
* User Athena results bucket policy ARN
|
|
222
|
+
*
|
|
223
|
+
* Resolved from UserAthenaResultsBucketPolicy stack resource
|
|
224
|
+
* This is a RESOURCE (not an output) - requires DescribeStackResources API
|
|
225
|
+
*
|
|
226
|
+
* @example "arn:aws:s3:::my-stack-userathenar-abc123"
|
|
227
|
+
*/
|
|
228
|
+
athenaResultsBucketPolicy?: string;
|
|
147
229
|
}
|
|
148
230
|
/**
|
|
149
231
|
* Benchling Configuration
|
|
@@ -491,7 +573,7 @@ export declare const ProfileConfigSchema: {
|
|
|
491
573
|
readonly properties: {
|
|
492
574
|
readonly quilt: {
|
|
493
575
|
readonly type: "object";
|
|
494
|
-
readonly required: readonly ["
|
|
576
|
+
readonly required: readonly ["catalog", "database", "queueUrl", "region"];
|
|
495
577
|
readonly properties: {
|
|
496
578
|
readonly stackArn: {
|
|
497
579
|
readonly type: "string";
|
|
@@ -513,6 +595,18 @@ export declare const ProfileConfigSchema: {
|
|
|
513
595
|
readonly type: "string";
|
|
514
596
|
readonly pattern: "^[a-z]{2}-[a-z]+-[0-9]$";
|
|
515
597
|
};
|
|
598
|
+
readonly icebergDatabase: {
|
|
599
|
+
readonly type: "string";
|
|
600
|
+
readonly minLength: 1;
|
|
601
|
+
};
|
|
602
|
+
readonly athenaUserWorkgroup: {
|
|
603
|
+
readonly type: "string";
|
|
604
|
+
readonly minLength: 1;
|
|
605
|
+
};
|
|
606
|
+
readonly icebergWorkgroup: {
|
|
607
|
+
readonly type: "string";
|
|
608
|
+
readonly minLength: 1;
|
|
609
|
+
};
|
|
516
610
|
};
|
|
517
611
|
};
|
|
518
612
|
readonly benchling: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../lib/types/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../lib/types/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types/config.js
CHANGED
|
@@ -24,13 +24,16 @@ exports.ProfileConfigSchema = {
|
|
|
24
24
|
properties: {
|
|
25
25
|
quilt: {
|
|
26
26
|
type: "object",
|
|
27
|
-
required: ["
|
|
27
|
+
required: ["catalog", "database", "queueUrl", "region"],
|
|
28
28
|
properties: {
|
|
29
29
|
stackArn: { type: "string", pattern: "^arn:aws:cloudformation:" },
|
|
30
30
|
catalog: { type: "string", minLength: 1 },
|
|
31
31
|
database: { type: "string", minLength: 1 },
|
|
32
32
|
queueUrl: { type: "string", pattern: "^https://sqs\\.[a-z0-9-]+\\.amazonaws\\.com/\\d{12}/.+" },
|
|
33
33
|
region: { type: "string", pattern: "^[a-z]{2}-[a-z]+-[0-9]$" },
|
|
34
|
+
icebergDatabase: { type: "string", minLength: 1 },
|
|
35
|
+
athenaUserWorkgroup: { type: "string", minLength: 1 },
|
|
36
|
+
icebergWorkgroup: { type: "string", minLength: 1 },
|
|
34
37
|
},
|
|
35
38
|
},
|
|
36
39
|
benchling: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../lib/types/config.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../lib/types/config.ts"],"names":[],"mappings":"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"}
|