@quiltdata/benchling-webhook 0.5.4-20251101T185415Z ā 0.5.4-20251102T020826Z
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/cdk-dev.js
CHANGED
|
@@ -230,13 +230,18 @@ async function main() {
|
|
|
230
230
|
|
|
231
231
|
await waitForWorkflow(commitSha);
|
|
232
232
|
|
|
233
|
-
// 5. Deploy CDK stack with CI-built image tag
|
|
233
|
+
// 5. Deploy CDK stack with CI-built image tag using secrets-only mode
|
|
234
234
|
console.log('');
|
|
235
|
-
console.log(`Step 5: Deploying CDK stack with CI-built image...`);
|
|
235
|
+
console.log(`Step 5: Deploying CDK stack with CI-built image (secrets-only mode)...`);
|
|
236
236
|
process.chdir(path.join(__dirname, '..'));
|
|
237
237
|
// Use the full version with timestamp (without 'v' prefix)
|
|
238
238
|
const imageTag = devTag.replace(/^v/, '');
|
|
239
|
-
|
|
239
|
+
|
|
240
|
+
// Secrets-only mode parameters
|
|
241
|
+
const quiltStackArn = 'arn:aws:cloudformation:us-east-1:712023778557:stack/quilt-staging/e51b0c10-10c9-11ee-9b41-12fda87498a3';
|
|
242
|
+
const benchlingSecret = 'benchling-webhook-dev';
|
|
243
|
+
|
|
244
|
+
run(`npm run cli -- --quilt-stack-arn ${quiltStackArn} --benchling-secret ${benchlingSecret} --image-tag ${imageTag} --yes`);
|
|
240
245
|
|
|
241
246
|
console.log('');
|
|
242
247
|
console.log('ā
Development deployment complete!');
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env ts-node
|
|
2
|
+
/**
|
|
3
|
+
* Create or update Benchling webhook secret in AWS Secrets Manager
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* npm run config -- --secret-name benchling-webhook-dev --region us-east-1
|
|
7
|
+
* npm run config -- --secret-name benchling-webhook-prod --region us-east-1 --env-file .env.prod
|
|
8
|
+
*
|
|
9
|
+
* Required parameters (from .env file or environment):
|
|
10
|
+
* BENCHLING_TENANT
|
|
11
|
+
* BENCHLING_CLIENT_ID
|
|
12
|
+
* BENCHLING_CLIENT_SECRET
|
|
13
|
+
* BENCHLING_APP_DEFINITION_ID
|
|
14
|
+
* BENCHLING_PKG_PREFIX
|
|
15
|
+
* BENCHLING_PKG_KEY
|
|
16
|
+
* BENCHLING_USER_BUCKET
|
|
17
|
+
* BENCHLING_LOG_LEVEL
|
|
18
|
+
* BENCHLING_ENABLE_WEBHOOK_VERIFICATION
|
|
19
|
+
* BENCHLING_WEBHOOK_ALLOW_LIST
|
|
20
|
+
*/
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=create-secret.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-secret.d.ts","sourceRoot":"","sources":["../../bin/create-secret.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
#!/usr/bin/env ts-node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* Create or update Benchling webhook secret in AWS Secrets Manager
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npm run config -- --secret-name benchling-webhook-dev --region us-east-1
|
|
8
|
+
* npm run config -- --secret-name benchling-webhook-prod --region us-east-1 --env-file .env.prod
|
|
9
|
+
*
|
|
10
|
+
* Required parameters (from .env file or environment):
|
|
11
|
+
* BENCHLING_TENANT
|
|
12
|
+
* BENCHLING_CLIENT_ID
|
|
13
|
+
* BENCHLING_CLIENT_SECRET
|
|
14
|
+
* BENCHLING_APP_DEFINITION_ID
|
|
15
|
+
* BENCHLING_PKG_PREFIX
|
|
16
|
+
* BENCHLING_PKG_KEY
|
|
17
|
+
* BENCHLING_USER_BUCKET
|
|
18
|
+
* BENCHLING_LOG_LEVEL
|
|
19
|
+
* BENCHLING_ENABLE_WEBHOOK_VERIFICATION
|
|
20
|
+
* BENCHLING_WEBHOOK_ALLOW_LIST
|
|
21
|
+
*/
|
|
22
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
25
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
26
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(o, k2, desc);
|
|
29
|
+
}) : (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
o[k2] = m[k];
|
|
32
|
+
}));
|
|
33
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
+
}) : function(o, v) {
|
|
36
|
+
o["default"] = v;
|
|
37
|
+
});
|
|
38
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
39
|
+
var ownKeys = function(o) {
|
|
40
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
41
|
+
var ar = [];
|
|
42
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
43
|
+
return ar;
|
|
44
|
+
};
|
|
45
|
+
return ownKeys(o);
|
|
46
|
+
};
|
|
47
|
+
return function (mod) {
|
|
48
|
+
if (mod && mod.__esModule) return mod;
|
|
49
|
+
var result = {};
|
|
50
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
51
|
+
__setModuleDefault(result, mod);
|
|
52
|
+
return result;
|
|
53
|
+
};
|
|
54
|
+
})();
|
|
55
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
56
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
57
|
+
};
|
|
58
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
+
const commander_1 = require("commander");
|
|
60
|
+
const dotenv_1 = require("dotenv");
|
|
61
|
+
const dotenv_expand_1 = require("dotenv-expand");
|
|
62
|
+
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
63
|
+
const fs = __importStar(require("fs"));
|
|
64
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
65
|
+
const REQUIRED_PARAMS = [
|
|
66
|
+
'BENCHLING_TENANT',
|
|
67
|
+
'BENCHLING_CLIENT_ID',
|
|
68
|
+
'BENCHLING_CLIENT_SECRET',
|
|
69
|
+
'BENCHLING_APP_DEFINITION_ID',
|
|
70
|
+
'BENCHLING_PKG_PREFIX',
|
|
71
|
+
'BENCHLING_PKG_KEY',
|
|
72
|
+
'BENCHLING_USER_BUCKET',
|
|
73
|
+
'BENCHLING_LOG_LEVEL',
|
|
74
|
+
'BENCHLING_ENABLE_WEBHOOK_VERIFICATION',
|
|
75
|
+
'BENCHLING_WEBHOOK_ALLOW_LIST',
|
|
76
|
+
];
|
|
77
|
+
const VALID_LOG_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'];
|
|
78
|
+
function loadEnvFile(envFile) {
|
|
79
|
+
const envPath = envFile || '.env';
|
|
80
|
+
if (!fs.existsSync(envPath)) {
|
|
81
|
+
console.log(chalk_1.default.yellow(`ā¹ļø No .env file found at ${envPath}, using environment variables only`));
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
console.log(chalk_1.default.blue(`š Loading environment from ${envPath}`));
|
|
85
|
+
const myEnv = (0, dotenv_1.config)({ path: envPath });
|
|
86
|
+
(0, dotenv_expand_1.expand)(myEnv);
|
|
87
|
+
}
|
|
88
|
+
function validateParameters(params) {
|
|
89
|
+
// WEBHOOK_ALLOW_LIST can be empty string (no restrictions)
|
|
90
|
+
// All others must be non-empty
|
|
91
|
+
const missing = REQUIRED_PARAMS.filter(param => {
|
|
92
|
+
if (param === 'BENCHLING_WEBHOOK_ALLOW_LIST') {
|
|
93
|
+
return params[param] === undefined; // Only fail if undefined, not empty string
|
|
94
|
+
}
|
|
95
|
+
return !params[param];
|
|
96
|
+
});
|
|
97
|
+
if (missing.length > 0) {
|
|
98
|
+
console.error(chalk_1.default.red(`ā Missing required parameters: ${missing.join(', ')}`));
|
|
99
|
+
console.log(chalk_1.default.yellow('\nExpected parameters (from .env or environment):'));
|
|
100
|
+
REQUIRED_PARAMS.forEach(param => {
|
|
101
|
+
const value = params[param];
|
|
102
|
+
const status = value !== undefined ? 'ā' : 'ā';
|
|
103
|
+
console.log(chalk_1.default.yellow(` ${param}=${status}`));
|
|
104
|
+
});
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
// Validate log level
|
|
108
|
+
const logLevel = params.BENCHLING_LOG_LEVEL.toUpperCase();
|
|
109
|
+
if (!VALID_LOG_LEVELS.includes(logLevel)) {
|
|
110
|
+
console.error(chalk_1.default.red(`ā Invalid log level: ${params.BENCHLING_LOG_LEVEL}`));
|
|
111
|
+
console.log(chalk_1.default.yellow(`Valid levels: ${VALID_LOG_LEVELS.join(', ')}`));
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
114
|
+
// Validate boolean
|
|
115
|
+
const verification = params.BENCHLING_ENABLE_WEBHOOK_VERIFICATION.toLowerCase();
|
|
116
|
+
if (!['true', 'false', '1', '0'].includes(verification)) {
|
|
117
|
+
console.error(chalk_1.default.red(`ā Invalid boolean value for BENCHLING_ENABLE_WEBHOOK_VERIFICATION: ${params.BENCHLING_ENABLE_WEBHOOK_VERIFICATION}`));
|
|
118
|
+
console.log(chalk_1.default.yellow(`Valid values: true, false, 1, 0`));
|
|
119
|
+
process.exit(1);
|
|
120
|
+
}
|
|
121
|
+
// Build secret data (convert SCREAMING_SNAKE_CASE to snake_case)
|
|
122
|
+
return {
|
|
123
|
+
tenant: params.BENCHLING_TENANT,
|
|
124
|
+
client_id: params.BENCHLING_CLIENT_ID,
|
|
125
|
+
client_secret: params.BENCHLING_CLIENT_SECRET,
|
|
126
|
+
app_definition_id: params.BENCHLING_APP_DEFINITION_ID,
|
|
127
|
+
pkg_prefix: params.BENCHLING_PKG_PREFIX,
|
|
128
|
+
pkg_key: params.BENCHLING_PKG_KEY,
|
|
129
|
+
user_bucket: params.BENCHLING_USER_BUCKET,
|
|
130
|
+
log_level: logLevel,
|
|
131
|
+
enable_webhook_verification: verification,
|
|
132
|
+
webhook_allow_list: params.BENCHLING_WEBHOOK_ALLOW_LIST,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
async function secretExists(client, secretName) {
|
|
136
|
+
try {
|
|
137
|
+
await client.send(new client_secrets_manager_1.DescribeSecretCommand({ SecretId: secretName }));
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
if (error instanceof client_secrets_manager_1.ResourceNotFoundException) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
async function createOrUpdateSecret(secretName, region, secretData, dryRun) {
|
|
148
|
+
const client = new client_secrets_manager_1.SecretsManagerClient({ region });
|
|
149
|
+
const secretString = JSON.stringify(secretData, null, 2);
|
|
150
|
+
if (dryRun) {
|
|
151
|
+
console.log(chalk_1.default.blue('\nš DRY RUN MODE - No changes will be made\n'));
|
|
152
|
+
console.log(chalk_1.default.cyan('Secret Name:'), secretName);
|
|
153
|
+
console.log(chalk_1.default.cyan('Region:'), region);
|
|
154
|
+
console.log(chalk_1.default.cyan('Secret Content:'));
|
|
155
|
+
console.log(chalk_1.default.gray(secretString));
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const exists = await secretExists(client, secretName);
|
|
159
|
+
if (exists) {
|
|
160
|
+
console.log(chalk_1.default.blue(`š Updating existing secret: ${secretName}`));
|
|
161
|
+
await client.send(new client_secrets_manager_1.UpdateSecretCommand({
|
|
162
|
+
SecretId: secretName,
|
|
163
|
+
SecretString: secretString,
|
|
164
|
+
}));
|
|
165
|
+
console.log(chalk_1.default.green(`ā
Secret updated successfully`));
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
console.log(chalk_1.default.blue(`š Creating new secret: ${secretName}`));
|
|
169
|
+
const result = await client.send(new client_secrets_manager_1.CreateSecretCommand({
|
|
170
|
+
Name: secretName,
|
|
171
|
+
Description: 'Benchling webhook runtime configuration (10 parameters)',
|
|
172
|
+
SecretString: secretString,
|
|
173
|
+
}));
|
|
174
|
+
console.log(chalk_1.default.green(`ā
Secret created successfully`));
|
|
175
|
+
console.log(chalk_1.default.cyan(`ARN: ${result.ARN}`));
|
|
176
|
+
}
|
|
177
|
+
console.log(chalk_1.default.green(`\n⨠Secret ${exists ? 'updated' : 'created'}: ${secretName}`));
|
|
178
|
+
console.log(chalk_1.default.yellow(`\nTo use this secret in deployment:`));
|
|
179
|
+
console.log(chalk_1.default.gray(` npm run cli -- deploy \\`));
|
|
180
|
+
console.log(chalk_1.default.gray(` --quilt-stack-arn <your-quilt-stack-arn> \\`));
|
|
181
|
+
console.log(chalk_1.default.gray(` --benchling-secret ${secretName}`));
|
|
182
|
+
}
|
|
183
|
+
async function main() {
|
|
184
|
+
const program = new commander_1.Command();
|
|
185
|
+
program
|
|
186
|
+
.name('npm run config')
|
|
187
|
+
.description('Create or update Benchling webhook secret in AWS Secrets Manager')
|
|
188
|
+
.requiredOption('-s, --secret-name <name>', 'Secret name (e.g., benchling-webhook-dev)')
|
|
189
|
+
.option('-r, --region <region>', 'AWS region', 'us-east-1')
|
|
190
|
+
.option('-e, --env-file <path>', '.env file path', '.env')
|
|
191
|
+
.option('-d, --dry-run', 'Show what would be created without making changes', false)
|
|
192
|
+
.parse(process.argv);
|
|
193
|
+
const options = program.opts();
|
|
194
|
+
console.log(chalk_1.default.bold.blue('\nš Benchling Webhook Secret Configuration\n'));
|
|
195
|
+
// Load environment
|
|
196
|
+
loadEnvFile(options.envFile);
|
|
197
|
+
// Gather parameters from environment
|
|
198
|
+
const params = {};
|
|
199
|
+
REQUIRED_PARAMS.forEach(param => {
|
|
200
|
+
const value = process.env[param];
|
|
201
|
+
// Special handling for WEBHOOK_ALLOW_LIST - allow empty string
|
|
202
|
+
if (param === 'BENCHLING_WEBHOOK_ALLOW_LIST' && value === undefined) {
|
|
203
|
+
params[param] = ''; // Default to empty string for allowlist
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
params[param] = value || '';
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
// Validate and build secret data
|
|
210
|
+
const secretData = validateParameters(params);
|
|
211
|
+
console.log(chalk_1.default.green('\nā All parameters validated'));
|
|
212
|
+
console.log(chalk_1.default.blue(`\nParameters to be stored in secret:`));
|
|
213
|
+
console.log(chalk_1.default.gray(` tenant: ${secretData.tenant}`));
|
|
214
|
+
console.log(chalk_1.default.gray(` client_id: ${secretData.client_id.substring(0, 4)}***`));
|
|
215
|
+
console.log(chalk_1.default.gray(` client_secret: ***`));
|
|
216
|
+
console.log(chalk_1.default.gray(` app_definition_id: ${secretData.app_definition_id}`));
|
|
217
|
+
console.log(chalk_1.default.gray(` pkg_prefix: ${secretData.pkg_prefix}`));
|
|
218
|
+
console.log(chalk_1.default.gray(` pkg_key: ${secretData.pkg_key}`));
|
|
219
|
+
console.log(chalk_1.default.gray(` user_bucket: ${secretData.user_bucket}`));
|
|
220
|
+
console.log(chalk_1.default.gray(` log_level: ${secretData.log_level}`));
|
|
221
|
+
console.log(chalk_1.default.gray(` enable_webhook_verification: ${secretData.enable_webhook_verification}`));
|
|
222
|
+
console.log(chalk_1.default.gray(` webhook_allow_list: ${secretData.webhook_allow_list || '(empty)'}`));
|
|
223
|
+
// Create or update secret
|
|
224
|
+
await createOrUpdateSecret(options.secretName, options.region, secretData, options.dryRun);
|
|
225
|
+
}
|
|
226
|
+
main().catch(error => {
|
|
227
|
+
console.error(chalk_1.default.red(`\nā Error: ${error.message}`));
|
|
228
|
+
if (error.code === 'ResourceNotFoundException') {
|
|
229
|
+
console.log(chalk_1.default.yellow('\nMake sure the AWS region is correct and you have necessary permissions.'));
|
|
230
|
+
}
|
|
231
|
+
else if (error.name === 'CredentialsProviderError') {
|
|
232
|
+
console.log(chalk_1.default.yellow('\nAWS credentials not found. Please configure AWS CLI or set environment variables.'));
|
|
233
|
+
}
|
|
234
|
+
process.exit(1);
|
|
235
|
+
});
|
|
236
|
+
//# sourceMappingURL=create-secret.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-secret.js","sourceRoot":"","sources":["../../bin/create-secret.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quiltdata/benchling-webhook",
|
|
3
|
-
"version": "0.5.4-
|
|
3
|
+
"version": "0.5.4-20251102T020826Z",
|
|
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",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"clean": "rm -rf cdk.out */{*.js,*.d.ts}",
|
|
18
|
+
"config": "ts-node bin/create-secret.ts",
|
|
18
19
|
"test": "npm run typecheck && npm run test:ts && npm run test:python",
|
|
19
20
|
"test-ci": "npm run typecheck && npm run test:ts",
|
|
20
21
|
"typecheck": "tsc --noEmit",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quiltdata/benchling-webhook",
|
|
3
|
-
"version": "0.5.4-
|
|
3
|
+
"version": "0.5.4-20251102T020826Z",
|
|
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",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"clean": "rm -rf cdk.out */{*.js,*.d.ts}",
|
|
18
|
+
"config": "ts-node bin/create-secret.ts",
|
|
18
19
|
"test": "npm run typecheck && npm run test:ts && npm run test:python",
|
|
19
20
|
"test-ci": "npm run typecheck && npm run test:ts",
|
|
20
21
|
"typecheck": "tsc --noEmit",
|