@quiltdata/benchling-webhook 0.9.0-20251127T032721Z → 0.9.0-20251129T063536Z
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 +114 -5
- package/dist/bin/benchling-webhook.js +6 -0
- package/dist/bin/benchling-webhook.js.map +1 -1
- package/dist/bin/cli.js +1 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/commands/deploy.d.ts +2 -0
- package/dist/bin/commands/deploy.d.ts.map +1 -1
- package/dist/bin/commands/deploy.js +159 -65
- package/dist/bin/commands/deploy.js.map +1 -1
- package/dist/bin/commands/logs.d.ts.map +1 -1
- package/dist/bin/commands/logs.js +29 -6
- package/dist/bin/commands/logs.js.map +1 -1
- package/dist/bin/commands/status.d.ts +1 -0
- package/dist/bin/commands/status.d.ts.map +1 -1
- package/dist/bin/commands/status.js +55 -5
- package/dist/bin/commands/status.js.map +1 -1
- package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
- package/dist/lib/benchling-webhook-stack.js +10 -7
- package/dist/lib/benchling-webhook-stack.js.map +1 -1
- package/dist/lib/configuration-saver.d.ts +1 -1
- package/dist/lib/configuration-saver.d.ts.map +1 -1
- package/dist/lib/configuration-saver.js +4 -5
- package/dist/lib/configuration-saver.js.map +1 -1
- package/dist/lib/constants.d.ts +5 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +6 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/http-api-gateway.d.ts +3 -0
- package/dist/lib/http-api-gateway.d.ts.map +1 -1
- package/dist/lib/http-api-gateway.js +149 -4
- package/dist/lib/http-api-gateway.js.map +1 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types/config.d.ts +1 -1
- package/dist/lib/wizard/phase2-stack-query.d.ts.map +1 -1
- package/dist/lib/wizard/phase2-stack-query.js +44 -0
- package/dist/lib/wizard/phase2-stack-query.js.map +1 -1
- package/dist/lib/wizard/phase3-parameter-collection.d.ts.map +1 -1
- package/dist/lib/wizard/phase3-parameter-collection.js +62 -0
- package/dist/lib/wizard/phase3-parameter-collection.js.map +1 -1
- package/dist/lib/wizard/phase6-integrated-mode.d.ts.map +1 -1
- package/dist/lib/wizard/phase6-integrated-mode.js +3 -1
- 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 +3 -1
- package/dist/lib/wizard/phase7-standalone-mode.js.map +1 -1
- package/dist/lib/wizard/types.d.ts +24 -0
- package/dist/lib/wizard/types.d.ts.map +1 -1
- package/dist/package.json +8 -3
- package/dist/scripts/discover-vpc.d.ts +69 -0
- package/dist/scripts/discover-vpc.d.ts.map +1 -0
- package/dist/scripts/discover-vpc.js +196 -0
- package/dist/scripts/discover-vpc.js.map +1 -0
- package/package.json +8 -3
- package/dist/lib/rest-api-gateway.d.ts +0 -32
- package/dist/lib/rest-api-gateway.d.ts.map +0 -1
- package/dist/lib/rest-api-gateway.js +0 -257
- package/dist/lib/rest-api-gateway.js.map +0 -1
package/README.md
CHANGED
|
@@ -65,12 +65,70 @@ If the App Canvas is not already part of your standard notebook template, Benchl
|
|
|
65
65
|
|
|
66
66
|

|
|
67
67
|
|
|
68
|
-
## Architecture (
|
|
68
|
+
## Architecture (v1.0.0)
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
AWS CDK application with defense-in-depth security:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Benchling Webhook
|
|
74
|
+
|
|
|
75
|
+
| HTTPS POST
|
|
76
|
+
v
|
|
77
|
+
API Gateway (HTTP API v2)
|
|
78
|
+
|
|
|
79
|
+
| Extract headers + body
|
|
80
|
+
v
|
|
81
|
+
Lambda Authorizer ←─────────────┐
|
|
82
|
+
| │
|
|
83
|
+
| Verify HMAC signature │ Defense-in-Depth:
|
|
84
|
+
| - Valid → Allow │ Both Lambda and
|
|
85
|
+
| - Invalid → 403 │ FastAPI verify
|
|
86
|
+
v │ HMAC signatures
|
|
87
|
+
VPC Link │
|
|
88
|
+
| │
|
|
89
|
+
v │
|
|
90
|
+
Cloud Map (benchling.local) │
|
|
91
|
+
| │
|
|
92
|
+
v │
|
|
93
|
+
ECS Fargate (FastAPI) ─────────┘
|
|
94
|
+
|
|
|
95
|
+
| Re-verify HMAC
|
|
96
|
+
| Process webhook
|
|
97
|
+
v
|
|
98
|
+
S3 + SQS → Quilt Package
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Components
|
|
102
|
+
|
|
103
|
+
- **API Gateway (HTTP API v2)** - HTTPS webhook routing with Lambda Authorizer integration
|
|
104
|
+
- **Lambda Authorizer** - HMAC signature verification (first line of defense, logs to CloudWatch)
|
|
105
|
+
- **VPC Link + Cloud Map** - Private service discovery to ECS tasks
|
|
106
|
+
- **ECS Fargate** - FastAPI application (auto-scales 2-10 tasks, second line of defense)
|
|
107
|
+
- **S3** - Payload and package storage
|
|
108
|
+
- **SQS** - Quilt package creation queue
|
|
109
|
+
- **Secrets Manager** - Benchling OAuth credentials
|
|
110
|
+
- **CloudWatch** - Logging and monitoring for all components
|
|
111
|
+
|
|
112
|
+
### Security Features
|
|
113
|
+
|
|
114
|
+
**Defense-in-Depth HMAC Verification:**
|
|
115
|
+
|
|
116
|
+
1. **Lambda Authorizer Layer** - Verifies webhook signatures before request reaches ECS, rejecting invalid requests with 403 Forbidden
|
|
117
|
+
2. **Application Layer** - FastAPI re-verifies signatures for defense-in-depth protection
|
|
118
|
+
|
|
119
|
+
**Why HTTP API v2?**
|
|
120
|
+
|
|
121
|
+
- REST API Lambda Authorizers cannot access request body (HMAC verification impossible)
|
|
122
|
+
- HTTP API v2 Lambda Authorizers can access body via `event['body']` field
|
|
123
|
+
- Benchling HMAC signatures are computed over entire request body
|
|
124
|
+
- HTTP API v2 is the only architecture that supports proper webhook signature verification
|
|
125
|
+
|
|
126
|
+
**Additional Security:**
|
|
127
|
+
|
|
128
|
+
- Private network (ECS in private subnets, no public IPs)
|
|
129
|
+
- TLS 1.2+ encryption on all API Gateway endpoints
|
|
130
|
+
- CloudWatch audit trail for all authorization events
|
|
131
|
+
- Least-privilege IAM roles
|
|
74
132
|
|
|
75
133
|
## Installation
|
|
76
134
|
|
|
@@ -115,6 +173,8 @@ The wizard will guide you through:
|
|
|
115
173
|
|
|
116
174
|
Add the webhook URL (displayed after setup) to your [Benchling app settings](https://docs.benchling.com/docs/getting-started-benchling-apps#installing-your-app).
|
|
117
175
|
|
|
176
|
+
**Important**: The endpoint URL format is `https://{api-id}.execute-api.{region}.amazonaws.com/webhook` (no stage prefix in path).
|
|
177
|
+
|
|
118
178
|
### 4. Test Integration
|
|
119
179
|
|
|
120
180
|
In Benchling:
|
|
@@ -126,6 +186,25 @@ In Benchling:
|
|
|
126
186
|
A Quilt package will be automatically created and linked to your notebook entry.
|
|
127
187
|
If you run into problems, contact [Quilt Support](support@quilt.bio)
|
|
128
188
|
|
|
189
|
+
## Monitoring
|
|
190
|
+
|
|
191
|
+
### CloudWatch Logs
|
|
192
|
+
|
|
193
|
+
- `/aws/apigateway/benchling-webhook-http` - API Gateway access logs
|
|
194
|
+
- `/aws/lambda/BenchlingWebhookAuthorizer` - Lambda Authorizer logs (HMAC verification)
|
|
195
|
+
- `/ecs/benchling-webhook` - ECS container logs (application logs)
|
|
196
|
+
|
|
197
|
+
### View Logs
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Via AWS CLI
|
|
201
|
+
aws logs tail /aws/lambda/BenchlingWebhookAuthorizer --follow
|
|
202
|
+
aws logs tail /ecs/benchling-webhook --follow
|
|
203
|
+
|
|
204
|
+
# Via NPX (all logs combined)
|
|
205
|
+
npx @quiltdata/benchling-webhook@latest logs --profile default
|
|
206
|
+
```
|
|
207
|
+
|
|
129
208
|
## Additional Commands
|
|
130
209
|
|
|
131
210
|
```bash
|
|
@@ -135,8 +214,38 @@ npx @quiltdata/benchling-webhook@latest deploy [--profile <name>]
|
|
|
135
214
|
# Check CloudFormation stack status
|
|
136
215
|
npx @quiltdata/benchling-webhook@latest status [--profile <name>]
|
|
137
216
|
|
|
217
|
+
# View CloudWatch logs
|
|
218
|
+
npx @quiltdata/benchling-webhook@latest logs [--profile <name>]
|
|
219
|
+
|
|
138
220
|
# Show all available commands
|
|
139
221
|
npx @quiltdata/benchling-webhook@latest --help
|
|
222
|
+
|
|
223
|
+
# Validate Lambda authorizer bundle locally (offline-friendly)
|
|
224
|
+
npm run test:lambda-bundle
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Upgrading from v0.8.x or v0.9.0
|
|
228
|
+
|
|
229
|
+
Version 1.0.0 introduces HTTP API v2 with Lambda Authorizer for proper HMAC signature verification. **This is a breaking change that requires stack recreation.**
|
|
230
|
+
|
|
231
|
+
See [MIGRATION.md](./MIGRATION.md) for detailed upgrade instructions.
|
|
232
|
+
|
|
233
|
+
**Quick migration:**
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# 1. Backup configuration
|
|
237
|
+
cp ~/.config/benchling-webhook/{profile}/config.json ~/backup-config.json
|
|
238
|
+
|
|
239
|
+
# 2. Destroy old stack
|
|
240
|
+
npx cdk destroy --profile {profile} --context stage={stage}
|
|
241
|
+
|
|
242
|
+
# 3. Deploy new stack
|
|
243
|
+
npm run deploy:{stage} -- --profile {profile} --yes
|
|
244
|
+
|
|
245
|
+
# 4. Update webhook URL in Benchling app settings
|
|
246
|
+
|
|
247
|
+
# 5. Test
|
|
248
|
+
npm run test:{stage} -- --profile {profile}
|
|
140
249
|
```
|
|
141
250
|
|
|
142
251
|
## License
|
|
@@ -175,6 +175,12 @@ if (require.main === module) {
|
|
|
175
175
|
account: process.env.CDK_DEFAULT_ACCOUNT,
|
|
176
176
|
ecrRepository: process.env.ECR_REPOSITORY_NAME || "quiltdata/benchling",
|
|
177
177
|
imageTag: process.env.IMAGE_TAG || "latest",
|
|
178
|
+
// Include VPC configuration if specified
|
|
179
|
+
...(process.env.VPC_ID && {
|
|
180
|
+
vpc: {
|
|
181
|
+
vpcId: process.env.VPC_ID,
|
|
182
|
+
},
|
|
183
|
+
}),
|
|
178
184
|
},
|
|
179
185
|
logging: {
|
|
180
186
|
level: process.env.LOG_LEVEL || "INFO",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchling-webhook.js","sourceRoot":"","sources":["../../bin/benchling-webhook.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"benchling-webhook.js","sourceRoot":"","sources":["../../bin/benchling-webhook.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/cli.js
CHANGED
|
@@ -95,6 +95,7 @@ program
|
|
|
95
95
|
.option("--region <region>", "AWS region to deploy to")
|
|
96
96
|
.option("--image-tag <tag>", "Docker image tag to deploy (default: latest)")
|
|
97
97
|
.option("--yes", "Skip confirmation prompts")
|
|
98
|
+
.option("--force", "Force deployment despite legacy architecture warning (DANGEROUS - use with caution)")
|
|
98
99
|
.addHelpText("after", `
|
|
99
100
|
|
|
100
101
|
Examples:
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export declare function deployCommand(options: {
|
|
|
19
19
|
imageTag?: string;
|
|
20
20
|
region?: string;
|
|
21
21
|
envFile?: string;
|
|
22
|
+
force?: boolean;
|
|
22
23
|
}): Promise<void>;
|
|
23
24
|
/**
|
|
24
25
|
* Deploy the Benchling webhook stack
|
|
@@ -32,5 +33,6 @@ export declare function deploy(stackArn: string, benchlingSecret: string, config
|
|
|
32
33
|
imageTag: string;
|
|
33
34
|
region?: string;
|
|
34
35
|
envFile?: string;
|
|
36
|
+
force?: boolean;
|
|
35
37
|
}): Promise<void>;
|
|
36
38
|
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -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;AA6LvD;;;;;;;;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"}
|
|
@@ -61,12 +61,12 @@ function suggestSetup(profileName, message) {
|
|
|
61
61
|
console.log();
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
*
|
|
65
|
-
* Returns true if v0.8.x stack detected, false otherwise
|
|
64
|
+
* Check if the existing stack is in a problematic state (rollback, failed, etc.)
|
|
66
65
|
*
|
|
67
|
-
*
|
|
66
|
+
* Note: v0.8.8+ all use the same architecture (REST API + ALB + VPC Link), so there's
|
|
67
|
+
* no "legacy architecture" to detect. CloudFormation handles in-place updates seamlessly.
|
|
68
68
|
*/
|
|
69
|
-
async function
|
|
69
|
+
async function checkStackStatus(region) {
|
|
70
70
|
try {
|
|
71
71
|
const cloudformation = new client_cloudformation_1.CloudFormationClient({ region });
|
|
72
72
|
const stackName = "BenchlingWebhookStack";
|
|
@@ -74,51 +74,106 @@ async function detectLegacyStack(region) {
|
|
|
74
74
|
const describeCommand = new client_cloudformation_1.DescribeStacksCommand({ StackName: stackName });
|
|
75
75
|
const describeResponse = await cloudformation.send(describeCommand);
|
|
76
76
|
if (!describeResponse.Stacks || describeResponse.Stacks.length === 0) {
|
|
77
|
-
return
|
|
77
|
+
return {
|
|
78
|
+
stackExists: false,
|
|
79
|
+
statusCategory: "none",
|
|
80
|
+
};
|
|
78
81
|
}
|
|
79
82
|
const stack = describeResponse.Stacks[0];
|
|
80
83
|
const stackStatus = stack.StackStatus || "";
|
|
81
|
-
|
|
82
|
-
// These states indicate a previous deployment attempt failed
|
|
83
|
-
const blockingStates = [
|
|
84
|
-
"UPDATE_ROLLBACK_COMPLETE",
|
|
84
|
+
const inProgressStates = [
|
|
85
85
|
"UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS",
|
|
86
86
|
"UPDATE_ROLLBACK_IN_PROGRESS",
|
|
87
|
-
"UPDATE_ROLLBACK_FAILED",
|
|
88
|
-
"ROLLBACK_COMPLETE",
|
|
89
87
|
"ROLLBACK_IN_PROGRESS",
|
|
90
|
-
"ROLLBACK_FAILED",
|
|
91
88
|
];
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
89
|
+
const failedStates = ["ROLLBACK_FAILED", "UPDATE_ROLLBACK_FAILED"];
|
|
90
|
+
const rolledBackStates = ["UPDATE_ROLLBACK_COMPLETE", "ROLLBACK_COMPLETE"];
|
|
91
|
+
const statusCategory = inProgressStates.includes(stackStatus)
|
|
92
|
+
? "in_progress"
|
|
93
|
+
: failedStates.includes(stackStatus)
|
|
94
|
+
? "failed"
|
|
95
|
+
: rolledBackStates.includes(stackStatus)
|
|
96
|
+
? "rolled_back"
|
|
97
|
+
: "none";
|
|
98
|
+
return {
|
|
99
|
+
stackExists: true,
|
|
100
|
+
stackStatus,
|
|
101
|
+
statusCategory,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (_error) {
|
|
105
|
+
// Stack doesn't exist or error checking
|
|
106
|
+
return {
|
|
107
|
+
stackExists: false,
|
|
108
|
+
statusCategory: "none",
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Detect if existing stack uses legacy REST API Gateway (v0.8.x)
|
|
114
|
+
* Returns true if REST API detected, indicating need for stack recreation
|
|
115
|
+
*/
|
|
116
|
+
async function detectLegacyRestApi(stackName, region) {
|
|
117
|
+
const client = new client_cloudformation_1.CloudFormationClient({ region });
|
|
118
|
+
try {
|
|
119
|
+
const response = await client.send(new client_cloudformation_1.DescribeStackResourcesCommand({ StackName: stackName }));
|
|
120
|
+
const hasRestApi = response.StackResources?.some((resource) => resource.ResourceType === "AWS::ApiGateway::RestApi");
|
|
121
|
+
return hasRestApi || false;
|
|
116
122
|
}
|
|
117
123
|
catch (_error) {
|
|
118
|
-
// Stack doesn't exist
|
|
124
|
+
// Stack doesn't exist - first deployment
|
|
119
125
|
return false;
|
|
120
126
|
}
|
|
121
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Prompt user about legacy stack migration
|
|
130
|
+
* Returns true if user wants to abort deployment
|
|
131
|
+
* Returns false if user wants to proceed anyway
|
|
132
|
+
*/
|
|
133
|
+
async function promptLegacyMigration(profileName, stage, yes) {
|
|
134
|
+
const migrationMessage = `${chalk_1.default.red.bold("⚠️ BREAKING CHANGE DETECTED")}\n\n` +
|
|
135
|
+
`Your existing stack uses ${chalk_1.default.yellow("v0.8.x architecture (REST API Gateway)")}.\n` +
|
|
136
|
+
`v1.0.0 uses ${chalk_1.default.green("HTTP API v2")} (required for Lambda Authorizer body access).\n\n` +
|
|
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" +
|
|
139
|
+
`${chalk_1.default.bold("Stack resources that will be REPLACED:")}\n` +
|
|
140
|
+
" - API Gateway REST API → HTTP API v2\n" +
|
|
141
|
+
" - Network Load Balancer → (removed, direct VPC Link)\n" +
|
|
142
|
+
" - Endpoint URL format → (stage removed from path)\n\n" +
|
|
143
|
+
`${chalk_1.default.bold("You must destroy the existing stack before deploying v1.0.0:")}\n\n` +
|
|
144
|
+
` ${chalk_1.default.cyan(`npx cdk destroy --profile ${profileName} --context stage=${stage}`)}\n\n` +
|
|
145
|
+
`${chalk_1.default.bold("After destruction, redeploy with:")}\n\n` +
|
|
146
|
+
` ${chalk_1.default.cyan(`npm run deploy:${stage} -- --profile ${profileName} --yes`)}\n\n` +
|
|
147
|
+
`${chalk_1.default.bold("Update your Benchling webhook URL after deployment.")}`;
|
|
148
|
+
console.log();
|
|
149
|
+
console.log((0, boxen_1.default)(migrationMessage, {
|
|
150
|
+
padding: 1,
|
|
151
|
+
borderColor: "red",
|
|
152
|
+
borderStyle: "round",
|
|
153
|
+
}));
|
|
154
|
+
console.log();
|
|
155
|
+
if (yes) {
|
|
156
|
+
console.log(chalk_1.default.yellow("⚠️ --yes flag detected, but migration requires manual intervention."));
|
|
157
|
+
console.log(chalk_1.default.yellow(" Deployment aborted. Run destroy command to proceed with v1.0.0 upgrade."));
|
|
158
|
+
return true; // Abort deployment
|
|
159
|
+
}
|
|
160
|
+
const { shouldProceed } = await (0, enquirer_1.prompt)({
|
|
161
|
+
type: "confirm",
|
|
162
|
+
name: "shouldProceed",
|
|
163
|
+
message: "Continue with deployment anyway? (Stack will likely fail to update)",
|
|
164
|
+
initial: false,
|
|
165
|
+
});
|
|
166
|
+
if (shouldProceed) {
|
|
167
|
+
console.log();
|
|
168
|
+
console.log(chalk_1.default.yellow("⚠️ Proceeding despite legacy architecture warning."));
|
|
169
|
+
console.log(chalk_1.default.yellow(" Deployment may fail due to incompatible resource types."));
|
|
170
|
+
console.log();
|
|
171
|
+
return false; // Don't abort, let user try
|
|
172
|
+
}
|
|
173
|
+
console.log();
|
|
174
|
+
console.log(chalk_1.default.yellow("Deployment aborted. Run destroy command to proceed with v1.0.0 upgrade."));
|
|
175
|
+
return true; // Abort deployment
|
|
176
|
+
}
|
|
122
177
|
/**
|
|
123
178
|
* Get the most recent dev version tag (without 'v' prefix)
|
|
124
179
|
* Returns null if no dev tags found
|
|
@@ -352,37 +407,74 @@ async function deploy(stackArn, benchlingSecret, config, options) {
|
|
|
352
407
|
spinner.succeed(`CDK is bootstrapped (${bootstrapStatus.status})`);
|
|
353
408
|
}
|
|
354
409
|
}
|
|
355
|
-
// Check for
|
|
356
|
-
spinner.start("Checking
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
" • v0.8.x → v0.9.0 migration (REST API + ALB → HTTP API + VPC Link)\n" +
|
|
365
|
-
" • Failed deployment in rollback state (UPDATE_ROLLBACK_COMPLETE)\n" +
|
|
366
|
-
" • Incomplete stack that needs cleanup\n\n" +
|
|
367
|
-
`${chalk_1.default.red.bold("⚠ CloudFormation cannot update stacks in these states.")}\n\n` +
|
|
368
|
-
`${chalk_1.default.yellow("To proceed, you must first destroy the existing stack.")}`, { padding: 1, borderColor: "red", borderStyle: "double" }));
|
|
369
|
-
console.log();
|
|
370
|
-
console.log(chalk_1.default.bold("Required steps:"));
|
|
371
|
-
console.log();
|
|
372
|
-
console.log(` ${chalk_1.default.cyan("1. Destroy the existing v0.8.x stack:")}`);
|
|
373
|
-
console.log(chalk_1.default.dim(` npx @quiltdata/benchling-webhook destroy --profile ${options.profileName} --stage ${options.stage}`));
|
|
374
|
-
console.log();
|
|
375
|
-
console.log(` ${chalk_1.default.cyan("2. Deploy v0.9.0:")}`);
|
|
376
|
-
console.log(chalk_1.default.dim(` npx @quiltdata/benchling-webhook deploy --profile ${options.profileName} --stage ${options.stage}`));
|
|
410
|
+
// Check for rollback or failed state
|
|
411
|
+
spinner.start("Checking stack status...");
|
|
412
|
+
const stackCheck = await checkStackStatus(deployRegion);
|
|
413
|
+
const needsAttention = ["in_progress", "failed", "rolled_back"].includes(stackCheck.statusCategory);
|
|
414
|
+
if (needsAttention) {
|
|
415
|
+
const isActiveRollback = stackCheck.statusCategory === "in_progress";
|
|
416
|
+
const borderColor = isActiveRollback ? "red" : "yellow";
|
|
417
|
+
const title = isActiveRollback ? "Stack is rolling back" : "Stack in problematic state";
|
|
418
|
+
spinner[isActiveRollback ? "fail" : "warn"]("Stack state may block update");
|
|
377
419
|
console.log();
|
|
378
|
-
console.log(
|
|
420
|
+
console.log((0, boxen_1.default)(`${chalk_1.default.red.bold(title)}\n\n` +
|
|
421
|
+
`${chalk_1.default.bold("Stack status:")} ${stackCheck.stackStatus}\n\n` +
|
|
422
|
+
`${chalk_1.default.bold("Options:")}\n` +
|
|
423
|
+
(isActiveRollback
|
|
424
|
+
? " 1) Wait/abort (recommended while rollback is in progress)\n 2) Destroy and redeploy if stuck\n 3) Proceed anyway (likely to fail)\n"
|
|
425
|
+
: " 1) Proceed with deploy\n 2) Destroy and redeploy clean\n 3) Abort\n"), { padding: 1, borderColor, borderStyle: "round" }));
|
|
379
426
|
console.log();
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
427
|
+
const { proceedChoice } = await (0, enquirer_1.prompt)([
|
|
428
|
+
{
|
|
429
|
+
type: "select",
|
|
430
|
+
name: "proceedChoice",
|
|
431
|
+
message: "How would you like to proceed?",
|
|
432
|
+
choices: isActiveRollback
|
|
433
|
+
? [
|
|
434
|
+
{ name: "abort", message: "Abort / wait for rollback to finish (recommended)" },
|
|
435
|
+
{ name: "destroy", message: "Destroy existing stack then redeploy clean" },
|
|
436
|
+
{ name: "proceed", message: "Proceed anyway (likely to fail while rollback active)" },
|
|
437
|
+
]
|
|
438
|
+
: [
|
|
439
|
+
{ name: "proceed", message: "Proceed with deployment" },
|
|
440
|
+
{ name: "destroy", message: "Destroy existing stack then redeploy clean" },
|
|
441
|
+
{ name: "abort", message: "Abort now" },
|
|
442
|
+
],
|
|
443
|
+
initial: isActiveRollback ? 0 : 0,
|
|
444
|
+
},
|
|
445
|
+
]);
|
|
446
|
+
if (proceedChoice === "destroy") {
|
|
447
|
+
console.log();
|
|
448
|
+
console.log(chalk_1.default.bold("Run destroy then redeploy:"));
|
|
449
|
+
console.log(chalk_1.default.cyan(` npx @quiltdata/benchling-webhook destroy --profile ${options.profileName} --stage ${options.stage}`));
|
|
450
|
+
console.log(chalk_1.default.cyan(` npx @quiltdata/benchling-webhook deploy --profile ${options.profileName} --stage ${options.stage}`));
|
|
451
|
+
console.log();
|
|
452
|
+
process.exit(1);
|
|
453
|
+
}
|
|
454
|
+
if (proceedChoice === "abort") {
|
|
455
|
+
console.log(chalk_1.default.yellow("Aborting by user choice."));
|
|
456
|
+
process.exit(1);
|
|
457
|
+
}
|
|
458
|
+
spinner.warn("Proceeding despite stack state; deployment may fail.");
|
|
459
|
+
}
|
|
460
|
+
else {
|
|
461
|
+
spinner.succeed("Stack status OK - ready for deployment");
|
|
462
|
+
}
|
|
463
|
+
// Check for legacy REST API architecture (v0.8.x)
|
|
464
|
+
if (stackCheck.stackExists && !options.force) {
|
|
465
|
+
spinner.start("Checking for legacy architecture...");
|
|
466
|
+
const hasLegacyRestApi = await detectLegacyRestApi("BenchlingWebhookStack", deployRegion);
|
|
467
|
+
if (hasLegacyRestApi) {
|
|
468
|
+
spinner.fail("Legacy REST API Gateway detected (v0.8.x)");
|
|
469
|
+
const shouldAbort = await promptLegacyMigration(options.profileName, options.stage, options.yes || false);
|
|
470
|
+
if (shouldAbort) {
|
|
471
|
+
process.exit(1);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
spinner.succeed("No legacy architecture detected");
|
|
476
|
+
}
|
|
384
477
|
}
|
|
385
|
-
spinner.succeed("Stack status OK - ready for deployment");
|
|
386
478
|
// Load Quilt configuration from config.quilt.*
|
|
387
479
|
spinner.start("Loading Quilt configuration...");
|
|
388
480
|
// Validate required fields
|
|
@@ -533,6 +625,8 @@ async function deploy(stackArn, benchlingSecret, config, options) {
|
|
|
533
625
|
CDK_DEFAULT_REGION: deployRegion,
|
|
534
626
|
QUILT_STACK_ARN: stackArn,
|
|
535
627
|
BENCHLING_SECRET: benchlingSecret,
|
|
628
|
+
// Pass VPC configuration if specified in profile
|
|
629
|
+
...(config.deployment.vpc?.vpcId && { VPC_ID: config.deployment.vpc.vpcId }),
|
|
536
630
|
},
|
|
537
631
|
});
|
|
538
632
|
console.log();
|