@quiltdata/benchling-webhook 0.5.4-20251101T184734Z → 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.
@@ -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
- run(`npm run cli -- --image-tag ${imageTag} --yes`);
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-20251101T184734Z",
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-20251101T184734Z",
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",