@quiltdata/benchling-webhook 0.5.4-20251102T020826Z → 0.5.4-20251103T180145Z

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.
Files changed (91) hide show
  1. package/README.md +26 -17
  2. package/dist/bin/benchling-webhook.d.ts +1 -1
  3. package/dist/bin/benchling-webhook.d.ts.map +1 -1
  4. package/dist/bin/benchling-webhook.js +8 -23
  5. package/dist/bin/benchling-webhook.js.map +1 -1
  6. package/dist/bin/cdk-dev.js +51 -0
  7. package/dist/bin/cli.js +8 -22
  8. package/dist/bin/cli.js.map +1 -1
  9. package/dist/bin/commands/deploy.d.ts +4 -2
  10. package/dist/bin/commands/deploy.d.ts.map +1 -1
  11. package/dist/bin/commands/deploy.js +88 -300
  12. package/dist/bin/commands/deploy.js.map +1 -1
  13. package/dist/bin/config-profiles.d.ts +59 -0
  14. package/dist/bin/config-profiles.d.ts.map +1 -0
  15. package/dist/bin/config-profiles.js +272 -0
  16. package/dist/bin/config-profiles.js.map +1 -0
  17. package/dist/bin/create-secret.d.ts +3 -0
  18. package/dist/bin/create-secret.d.ts.map +1 -1
  19. package/dist/bin/create-secret.js +51 -48
  20. package/dist/bin/create-secret.js.map +1 -1
  21. package/dist/lib/benchling-auth-validator.d.ts +65 -0
  22. package/dist/lib/benchling-auth-validator.d.ts.map +1 -0
  23. package/dist/lib/benchling-auth-validator.js +213 -0
  24. package/dist/lib/benchling-auth-validator.js.map +1 -0
  25. package/dist/lib/benchling-webhook-stack.d.ts +5 -23
  26. package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
  27. package/dist/lib/benchling-webhook-stack.js +25 -145
  28. package/dist/lib/benchling-webhook-stack.js.map +1 -1
  29. package/dist/lib/config-logger.d.ts +191 -0
  30. package/dist/lib/config-logger.d.ts.map +1 -0
  31. package/dist/lib/config-logger.js +372 -0
  32. package/dist/lib/config-logger.js.map +1 -0
  33. package/dist/lib/configuration-saver.d.ts +75 -0
  34. package/dist/lib/configuration-saver.d.ts.map +1 -0
  35. package/dist/lib/configuration-saver.js +145 -0
  36. package/dist/lib/configuration-saver.js.map +1 -0
  37. package/dist/lib/configuration-validator.d.ts +63 -0
  38. package/dist/lib/configuration-validator.d.ts.map +1 -0
  39. package/dist/lib/configuration-validator.js +136 -0
  40. package/dist/lib/configuration-validator.js.map +1 -0
  41. package/dist/lib/configuration-wizard.d.ts +52 -0
  42. package/dist/lib/configuration-wizard.d.ts.map +1 -0
  43. package/dist/lib/configuration-wizard.js +193 -0
  44. package/dist/lib/configuration-wizard.js.map +1 -0
  45. package/dist/lib/quilt-config-resolver.d.ts +53 -0
  46. package/dist/lib/quilt-config-resolver.d.ts.map +1 -0
  47. package/dist/lib/quilt-config-resolver.js +100 -0
  48. package/dist/lib/quilt-config-resolver.js.map +1 -0
  49. package/dist/lib/s3-bucket-validator.d.ts +76 -0
  50. package/dist/lib/s3-bucket-validator.d.ts.map +1 -0
  51. package/dist/lib/s3-bucket-validator.js +237 -0
  52. package/dist/lib/s3-bucket-validator.js.map +1 -0
  53. package/dist/lib/types/config.d.ts +398 -0
  54. package/dist/lib/types/config.d.ts.map +1 -0
  55. package/dist/lib/types/config.js +11 -0
  56. package/dist/lib/types/config.js.map +1 -0
  57. package/dist/lib/utils/config-loader.js.map +1 -1
  58. package/dist/lib/utils/config-resolver.d.ts +26 -26
  59. package/dist/lib/utils/config-resolver.d.ts.map +1 -1
  60. package/dist/lib/utils/config-resolver.js +29 -29
  61. package/dist/lib/utils/config-resolver.js.map +1 -1
  62. package/dist/lib/utils/config.d.ts +2 -0
  63. package/dist/lib/utils/config.d.ts.map +1 -1
  64. package/dist/lib/utils/config.js.map +1 -1
  65. package/dist/lib/xdg-cli-wrapper.d.ts +113 -0
  66. package/dist/lib/xdg-cli-wrapper.d.ts.map +1 -0
  67. package/dist/lib/xdg-cli-wrapper.js +288 -0
  68. package/dist/lib/xdg-cli-wrapper.js.map +1 -0
  69. package/dist/lib/xdg-config.d.ts +187 -0
  70. package/dist/lib/xdg-config.d.ts.map +1 -0
  71. package/dist/lib/xdg-config.js +562 -0
  72. package/dist/lib/xdg-config.js.map +1 -0
  73. package/dist/package.json +38 -26
  74. package/dist/scripts/config-health-check.d.ts +78 -0
  75. package/dist/scripts/config-health-check.d.ts.map +1 -0
  76. package/dist/scripts/config-health-check.js +559 -0
  77. package/dist/scripts/config-health-check.js.map +1 -0
  78. package/dist/scripts/infer-quilt-config.d.ts +50 -0
  79. package/dist/scripts/infer-quilt-config.d.ts.map +1 -0
  80. package/dist/scripts/infer-quilt-config.js +353 -0
  81. package/dist/scripts/infer-quilt-config.js.map +1 -0
  82. package/dist/scripts/install-wizard.d.ts +34 -0
  83. package/dist/scripts/install-wizard.d.ts.map +1 -0
  84. package/dist/scripts/install-wizard.js +719 -0
  85. package/dist/scripts/install-wizard.js.map +1 -0
  86. package/dist/scripts/sync-secrets.d.ts +63 -0
  87. package/dist/scripts/sync-secrets.d.ts.map +1 -0
  88. package/dist/scripts/sync-secrets.js +424 -0
  89. package/dist/scripts/sync-secrets.js.map +1 -0
  90. package/env.template +60 -47
  91. package/package.json +38 -26
@@ -9,8 +9,8 @@ const chalk_1 = __importDefault(require("chalk"));
9
9
  const ora_1 = __importDefault(require("ora"));
10
10
  const boxen_1 = __importDefault(require("boxen"));
11
11
  const enquirer_1 = require("enquirer");
12
+ const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
12
13
  const config_1 = require("../../lib/utils/config");
13
- const secrets_1 = require("../../lib/utils/secrets");
14
14
  const config_resolver_1 = require("../../lib/utils/config-resolver");
15
15
  const benchling_webhook_1 = require("../benchling-webhook");
16
16
  async function deployCommand(options) {
@@ -20,317 +20,70 @@ async function deployCommand(options) {
20
20
  borderStyle: "round",
21
21
  }));
22
22
  console.log();
23
- // Detect deployment mode
23
+ // Get required parameters
24
24
  const quiltStackArn = options.quiltStackArn || process.env.QUILT_STACK_ARN;
25
- const benchlingSecret = options.benchlingSecret || process.env.BENCHLING_SECRET;
26
- const useSecretsOnlyMode = !!(quiltStackArn && benchlingSecret);
27
- if (useSecretsOnlyMode) {
28
- // ===== SECRETS-ONLY MODE (v0.6.0+) =====
29
- return await deploySecretsOnlyMode(quiltStackArn, benchlingSecret, options);
30
- }
31
- // ===== LEGACY MODE =====
32
- // 1. Load configuration
33
- const spinner = (0, ora_1.default)("Loading configuration...").start();
34
- let config = (0, config_1.loadConfigSync)(options);
35
- // 2. Attempt inference if catalog is available
36
- if (config.quiltCatalog) {
37
- spinner.text = "Inferring configuration from catalog...";
38
- const inferenceResult = await (0, benchling_webhook_1.inferConfiguration)(config.quiltCatalog);
39
- if (inferenceResult.success) {
40
- config = (0, config_1.mergeInferredConfig)(config, inferenceResult.inferredVars);
41
- spinner.succeed("Configuration loaded and inferred");
42
- }
43
- else {
44
- spinner.warn(`Configuration loaded (inference failed: ${inferenceResult.error})`);
45
- }
46
- }
47
- else {
48
- spinner.succeed("Configuration loaded");
49
- }
50
- // 2a. Validate benchling-secrets if provided (Episode 7)
51
- if (config.benchlingSecrets) {
52
- spinner.text = "Validating Benchling secrets...";
53
- try {
54
- const secretsConfig = (0, secrets_1.parseAndValidateSecrets)(config.benchlingSecrets);
55
- // Episode 10: Display secret source and format
56
- if (secretsConfig.format === "arn") {
57
- spinner.info(`Using Benchling secrets from ARN: ${(0, config_1.maskArn)(secretsConfig.arn)}`);
58
- }
59
- else {
60
- spinner.info("Using Benchling secrets from JSON configuration");
61
- }
62
- // Episode 8: Check for deprecated parameter usage
63
- const hasOldParams = !!(config.benchlingTenant ||
64
- config.benchlingClientId ||
65
- config.benchlingClientSecret);
66
- if (hasOldParams) {
67
- spinner.warn("Both --benchling-secrets and individual secret parameters provided");
68
- console.log(chalk_1.default.yellow("\n ⚠ DEPRECATION WARNING:"));
69
- console.log(chalk_1.default.yellow(" Individual secret parameters (--tenant, --client-id, --client-secret) are deprecated."));
70
- console.log(chalk_1.default.yellow(" The --benchling-secrets parameter will take precedence.\n"));
71
- console.log(chalk_1.default.dim(" Migration guide: https://github.com/quiltdata/benchling-webhook#secrets-configuration\n"));
72
- // Clear old parameters to avoid confusion
73
- config.benchlingTenant = undefined;
74
- config.benchlingClientId = undefined;
75
- config.benchlingClientSecret = undefined;
76
- config.benchlingAppDefinitionId = undefined;
77
- }
78
- spinner.start("Validating configuration...");
79
- }
80
- catch (error) {
81
- spinner.fail("Secret validation failed");
82
- console.log();
83
- if (error instanceof secrets_1.SecretsValidationError) {
84
- console.error(chalk_1.default.red.bold("❌ Benchling Secrets Error\n"));
85
- console.error(error.formatForCLI());
86
- console.log(chalk_1.default.yellow("Secrets format:"));
87
- console.log(" ARN: arn:aws:secretsmanager:region:account:secret:name");
88
- console.log(" JSON: {\"client_id\":\"...\",\"client_secret\":\"...\",\"tenant\":\"...\"}");
89
- console.log(" File: @secrets.json\n");
90
- }
91
- else {
92
- console.error(chalk_1.default.red(error.message));
93
- }
94
- process.exit(1);
95
- }
96
- }
97
- else {
98
- spinner.start("Validating configuration...");
99
- }
100
- // 3. Validate configuration
101
- const validation = (0, config_1.validateConfig)(config);
102
- if (!validation.valid) {
103
- spinner.fail("Configuration validation failed");
25
+ // Use default secret name if not provided
26
+ const benchlingSecret = options.benchlingSecret || process.env.BENCHLING_SECRET || "@quiltdata/benchling-webhook";
27
+ // Validate required parameter
28
+ if (!quiltStackArn) {
29
+ console.error(chalk_1.default.red.bold("❌ Missing Required Parameter\n"));
30
+ console.error(chalk_1.default.red(" --quilt-stack-arn is required"));
31
+ console.log();
32
+ console.log(chalk_1.default.yellow("Usage:"));
33
+ console.log(chalk_1.default.cyan(" npx @quiltdata/benchling-webhook deploy --quilt-stack-arn <arn>"));
104
34
  console.log();
105
- console.error(chalk_1.default.red.bold("❌ Configuration Error\n"));
106
- console.error((0, config_1.formatValidationErrors)(validation));
107
- console.log(chalk_1.default.yellow("To fix this, you can:"));
108
- console.log(" 1. Run interactive setup: " + chalk_1.default.cyan("npx @quiltdata/benchling-webhook init"));
109
- console.log(" 2. Create/edit .env file with required values");
110
- console.log(" 3. Pass values as CLI options");
35
+ console.log(chalk_1.default.yellow("Example:"));
36
+ console.log(chalk_1.default.cyan(" npx @quiltdata/benchling-webhook deploy \\"));
37
+ console.log(chalk_1.default.cyan(" --quilt-stack-arn \"arn:aws:cloudformation:us-east-1:123456789012:stack/QuiltStack/abc123\""));
111
38
  console.log();
112
- console.log("For help: " + chalk_1.default.cyan("npx @quiltdata/benchling-webhook --help"));
113
39
  process.exit(1);
114
40
  }
115
- spinner.succeed("Configuration validated");
116
- if (validation.warnings.length > 0) {
117
- console.log();
118
- for (const warning of validation.warnings) {
119
- console.log(chalk_1.default.yellow(` ⚠ ${warning}`));
120
- }
41
+ // Deploy
42
+ return await deploy(quiltStackArn, benchlingSecret, options);
43
+ }
44
+ /**
45
+ * Check if a secret exists in AWS Secrets Manager
46
+ */
47
+ async function checkSecretExists(secretName, region) {
48
+ try {
49
+ const client = new client_secrets_manager_1.SecretsManagerClient({ region });
50
+ await client.send(new client_secrets_manager_1.DescribeSecretCommand({ SecretId: secretName }));
51
+ return true;
121
52
  }
122
- // 4. Check CDK bootstrap
123
- if (options.bootstrapCheck !== false) {
124
- spinner.start("Checking CDK bootstrap status...");
125
- const bootstrapStatus = await (0, benchling_webhook_1.checkCdkBootstrap)(config.cdkAccount, config.cdkRegion);
126
- if (!bootstrapStatus.bootstrapped) {
127
- spinner.fail("CDK is not bootstrapped");
128
- console.log();
129
- console.error(chalk_1.default.red.bold("❌ CDK Bootstrap Error\n"));
130
- console.error(bootstrapStatus.message);
131
- console.log();
132
- console.log("To bootstrap CDK, run:");
133
- console.log(chalk_1.default.cyan(` ${bootstrapStatus.command}`));
134
- console.log();
135
- console.log(chalk_1.default.dim("What is CDK bootstrap?"));
136
- console.log(chalk_1.default.dim(" It creates necessary AWS resources (S3 bucket, IAM roles) that CDK"));
137
- console.log(chalk_1.default.dim(" needs to deploy CloudFormation stacks. This is a one-time setup per"));
138
- console.log(chalk_1.default.dim(" AWS account/region combination."));
139
- console.log();
140
- process.exit(1);
141
- }
142
- if (bootstrapStatus.warning) {
143
- spinner.warn(`CDK bootstrap: ${bootstrapStatus.warning}`);
144
- }
145
- else {
146
- spinner.succeed(`CDK is bootstrapped (${bootstrapStatus.status})`);
53
+ catch (error) {
54
+ if (error && typeof error === "object" && "name" in error && error.name === "ResourceNotFoundException") {
55
+ return false;
147
56
  }
57
+ // For other errors (e.g., permission issues), throw them
58
+ throw error;
148
59
  }
149
- // 5. Display deployment plan
60
+ }
61
+ /**
62
+ * Run npm run config to create the secret
63
+ */
64
+ function runConfigCommand(secretName, region, envFile = ".env") {
150
65
  console.log();
151
- console.log(chalk_1.default.bold("Deployment Plan"));
152
- console.log(chalk_1.default.gray("─".repeat(80)));
153
- console.log(` ${chalk_1.default.bold("Stack:")} BenchlingWebhookStack`);
154
- console.log(` ${chalk_1.default.bold("Account:")} ${config.cdkAccount}`);
155
- console.log(` ${chalk_1.default.bold("Region:")} ${config.cdkRegion}`);
66
+ console.log(chalk_1.default.yellow("📝 Secret not found. Running configuration setup..."));
156
67
  console.log();
157
- console.log(chalk_1.default.bold(" Stack Parameters:"));
158
- console.log(` ${chalk_1.default.bold("Quilt Catalog:")} ${config.quiltCatalog}`);
159
- console.log(` ${chalk_1.default.bold("Quilt Database:")} ${config.quiltDatabase}`);
160
- console.log(` ${chalk_1.default.bold("Quilt User Bucket:")} ${config.quiltUserBucket}`);
161
- // Episode 9: Display Benchling configuration based on new or old parameters
162
- if (config.benchlingSecrets) {
163
- try {
164
- const secretsConfig = (0, secrets_1.parseAndValidateSecrets)(config.benchlingSecrets);
165
- if (secretsConfig.format === "arn") {
166
- console.log(` ${chalk_1.default.bold("Benchling Secrets:")} ARN (${(0, config_1.maskArn)(secretsConfig.arn)})`);
167
- }
168
- else {
169
- // Display from parsed JSON
170
- console.log(` ${chalk_1.default.bold("Benchling Tenant:")} ${secretsConfig.data.tenant}`);
171
- console.log(` ${chalk_1.default.bold("Benchling Client ID:")} ${secretsConfig.data.client_id}`);
172
- console.log(` ${chalk_1.default.bold("Benchling Client Secret:")} ***${secretsConfig.data.client_secret.slice(-4)}`);
173
- if (secretsConfig.data.app_definition_id) {
174
- console.log(` ${chalk_1.default.bold("Benchling App ID:")} ${secretsConfig.data.app_definition_id}`);
175
- }
176
- }
177
- }
178
- catch {
179
- // Validation already passed, so this shouldn't happen, but fall back to old display
180
- console.log(` ${chalk_1.default.bold("Benchling Secrets:")} (configured)`);
181
- }
182
- }
183
- else {
184
- // Fallback to individual parameters (deprecated path)
185
- console.log(` ${chalk_1.default.bold("Benchling Tenant:")} ${config.benchlingTenant}`);
186
- console.log(` ${chalk_1.default.bold("Benchling Client ID:")} ${config.benchlingClientId}`);
187
- console.log(` ${chalk_1.default.bold("Benchling Client Secret:")} ${config.benchlingClientSecret ? "***" + config.benchlingClientSecret.slice(-4) : "(not set)"}`);
188
- if (config.benchlingAppDefinitionId) {
189
- console.log(` ${chalk_1.default.bold("Benchling App ID:")} ${config.benchlingAppDefinitionId}`);
190
- }
191
- }
192
- console.log(` ${chalk_1.default.bold("Queue ARN:")} ${config.queueArn}`);
193
- console.log(` ${chalk_1.default.bold("Package Prefix:")} ${config.pkgPrefix || "benchling"}`);
194
- console.log(` ${chalk_1.default.bold("Package Key:")} ${config.pkgKey || "experiment_id"}`);
195
- console.log(` ${chalk_1.default.bold("Log Level:")} ${config.logLevel || "INFO"}`);
196
- if (config.webhookAllowList) {
197
- console.log(` ${chalk_1.default.bold("Webhook Allow List:")} ${config.webhookAllowList}`);
198
- }
199
- console.log(` ${chalk_1.default.bold("Webhook Verification:")} ${config.enableWebhookVerification ?? "true"}`);
200
- console.log(` ${chalk_1.default.bold("Create ECR Repository:")} ${config.createEcrRepository || "false"}`);
201
- console.log(` ${chalk_1.default.bold("ECR Repository Name:")} ${config.ecrRepositoryName || "quiltdata/benchling"}`);
202
- console.log(` ${chalk_1.default.bold("Docker Image Tag:")} ${config.imageTag || "latest"}`);
203
- console.log(chalk_1.default.gray("─".repeat(80)));
204
- console.log();
205
- // 6. Confirm (unless --yes)
206
- if (!options.yes) {
207
- const response = await (0, enquirer_1.prompt)({
208
- type: "confirm",
209
- name: "proceed",
210
- message: "Proceed with deployment?",
211
- initial: true,
212
- });
213
- if (!response.proceed) {
214
- console.log(chalk_1.default.yellow("Deployment cancelled"));
215
- process.exit(0);
216
- }
68
+ const result = (0, child_process_1.spawnSync)("npm", ["run", "config", "--", "--secret-name", secretName, "--region", region, "--env-file", envFile], {
69
+ stdio: "inherit",
70
+ shell: true,
71
+ });
72
+ if (result.status !== 0) {
217
73
  console.log();
218
- }
219
- // 7. Create stack (synthesis)
220
- spinner.start("Synthesizing CDK stack...");
221
- try {
222
- const result = (0, benchling_webhook_1.createStack)(config);
223
- spinner.succeed("Stack synthesized");
224
- // 8. Deploy using CDK CLI
225
- spinner.start("Deploying to AWS (this may take a few minutes)...");
226
- spinner.stop(); // Stop spinner for CDK output
227
- console.log(); // New line for CDK output
228
- // Execute CDK deploy directly - the app.synth() will be called by CDK
229
- // We need to synthesize to cdk.out and then deploy
230
- result.app.synth();
231
- // Build CloudFormation parameters to pass explicitly
232
- const parameters = [
233
- `ImageTag=${config.imageTag || "latest"}`,
234
- `BucketName=${config.quiltUserBucket}`,
235
- `PackagePrefix=${config.pkgPrefix || "benchling"}`,
236
- `PackageKey=${config.pkgKey || "experiment_id"}`,
237
- `QueueArn=${config.queueArn}`,
238
- `QuiltDatabase=${config.quiltDatabase}`,
239
- `LogLevel=${config.logLevel || "INFO"}`,
240
- `EnableWebhookVerification=${config.enableWebhookVerification ?? "true"}`,
241
- `QuiltCatalog=${config.quiltCatalog || "open.quiltdata.com"}`,
242
- `WebhookAllowList=${config.webhookAllowList || ""}`,
243
- ];
244
- // Add Benchling secrets parameter based on configuration
245
- if (config.benchlingSecrets) {
246
- // New parameter: consolidated secrets
247
- parameters.push(`BenchlingSecrets=${config.benchlingSecrets}`);
248
- }
249
- else {
250
- // Old parameters: individual values (deprecated but supported)
251
- parameters.push(`BenchlingTenant=${config.benchlingTenant || ""}`);
252
- parameters.push(`BenchlingClientId=${config.benchlingClientId || ""}`);
253
- parameters.push(`BenchlingClientSecret=${config.benchlingClientSecret || ""}`);
254
- }
255
- const parametersArg = parameters.map(p => `--parameters ${p}`).join(" ");
256
- const cdkCommand = `npx cdk deploy --require-approval ${options.requireApproval || "never"} ${parametersArg}`;
257
- (0, child_process_1.execSync)(cdkCommand, {
258
- stdio: "inherit",
259
- env: {
260
- ...process.env,
261
- CDK_DEFAULT_ACCOUNT: config.cdkAccount,
262
- CDK_DEFAULT_REGION: config.cdkRegion,
263
- },
264
- });
265
- spinner.succeed("Stack deployed successfully");
266
- // 9. Get stack outputs
267
- spinner.start("Retrieving stack outputs...");
268
- let webhookUrl = "";
269
- try {
270
- // eslint-disable-next-line @typescript-eslint/no-require-imports
271
- const { CloudFormationClient, DescribeStacksCommand } = require("@aws-sdk/client-cloudformation");
272
- const cloudformation = new CloudFormationClient({
273
- region: config.cdkRegion,
274
- });
275
- const command = new DescribeStacksCommand({
276
- StackName: "BenchlingWebhookStack",
277
- });
278
- const response = await cloudformation.send(command);
279
- if (response.Stacks && response.Stacks.length > 0) {
280
- const stack = response.Stacks[0];
281
- const output = stack.Outputs?.find((o) => o.OutputKey === "WebhookEndpoint");
282
- webhookUrl = output?.OutputValue || "";
283
- }
284
- spinner.succeed("Stack outputs retrieved");
285
- }
286
- catch {
287
- spinner.warn("Could not retrieve stack outputs");
288
- }
289
- // 10. Test the webhook endpoint
290
- if (webhookUrl) {
291
- console.log();
292
- spinner.start("Testing webhook endpoint...");
293
- try {
294
- const testCmd = `curl -s -w "\\n%{http_code}" "${webhookUrl}/health"`;
295
- const testResult = (0, child_process_1.execSync)(testCmd, { encoding: "utf-8", timeout: 10000 });
296
- const lines = testResult.trim().split("\n");
297
- const statusCode = lines[lines.length - 1];
298
- if (statusCode === "200") {
299
- spinner.succeed("Webhook health check passed");
300
- }
301
- else {
302
- spinner.warn(`Webhook returned HTTP ${statusCode}`);
303
- }
304
- }
305
- catch {
306
- spinner.warn("Could not test webhook endpoint");
307
- }
308
- }
309
- // 11. Success message
74
+ console.log(chalk_1.default.red("❌ Failed to create secret. Please run:"));
75
+ console.log(chalk_1.default.cyan(` npm run config -- --secret-name ${secretName} --region ${region}`));
310
76
  console.log();
311
- console.log((0, boxen_1.default)(`${chalk_1.default.green.bold("✓ Deployment completed successfully!")}\n\n` +
312
- `Stack: ${chalk_1.default.cyan(result.stackName)}\n` +
313
- `Region: ${chalk_1.default.cyan(config.cdkRegion)}\n` +
314
- (webhookUrl ? `Webhook URL: ${chalk_1.default.cyan(webhookUrl)}\n\n` : "\n") +
315
- `${chalk_1.default.bold("Next steps:")}\n` +
316
- " 1. Set the webhook URL in your Benchling app settings:\n" +
317
- ` ${chalk_1.default.cyan(webhookUrl || "<WEBHOOK_URL>")}\n\n` +
318
- " 2. Test the integration by creating a Quilt package in Benchling\n\n" +
319
- `${chalk_1.default.dim("For more info: https://github.com/quiltdata/benchling-webhook#readme")}`, { padding: 1, borderColor: "green", borderStyle: "round" }));
320
- }
321
- catch (error) {
322
- spinner.fail("Deployment failed");
323
- console.error();
324
- console.error(chalk_1.default.red(error.message));
325
- process.exit(1);
77
+ return false;
326
78
  }
79
+ console.log();
80
+ return true;
327
81
  }
328
82
  /**
329
- * Deploy using secrets-only mode (v0.6.0+)
330
- * Only requires QuiltStackARN and BenchlingSecret
83
+ * Deploy the Benchling webhook stack
331
84
  */
332
- async function deploySecretsOnlyMode(quiltStackArn, benchlingSecret, options) {
333
- const spinner = (0, ora_1.default)("Validating secrets-only mode parameters...").start();
85
+ async function deploy(quiltStackArn, benchlingSecret, options) {
86
+ const spinner = (0, ora_1.default)("Validating parameters...").start();
334
87
  // Parse stack ARN to extract region/account
335
88
  let parsed;
336
89
  try {
@@ -357,6 +110,43 @@ async function deploySecretsOnlyMode(quiltStackArn, benchlingSecret, options) {
357
110
  // Use region from stack ARN, but allow override from CLI
358
111
  const deployRegion = options.region || parsed.region;
359
112
  const deployAccount = parsed.account;
113
+ // Check if secret exists, create if needed
114
+ spinner.start("Checking if Benchling secret exists...");
115
+ try {
116
+ const secretExists = await checkSecretExists(benchlingSecret, deployRegion);
117
+ if (!secretExists) {
118
+ spinner.info(`Secret '${benchlingSecret}' not found`);
119
+ // Ask user if they want to create it
120
+ const response = await (0, enquirer_1.prompt)({
121
+ type: "confirm",
122
+ name: "createSecret",
123
+ message: `Would you like to create the secret '${benchlingSecret}' now using your .env file?`,
124
+ initial: true,
125
+ });
126
+ if (response.createSecret) {
127
+ const created = runConfigCommand(benchlingSecret, deployRegion, options.envFile || ".env");
128
+ if (!created) {
129
+ process.exit(1);
130
+ }
131
+ spinner.succeed(`Secret '${benchlingSecret}' created successfully`);
132
+ }
133
+ else {
134
+ spinner.fail("Secret is required for deployment");
135
+ console.log();
136
+ console.log(chalk_1.default.yellow("To create the secret manually, run:"));
137
+ console.log(chalk_1.default.cyan(` npm run config -- --secret-name ${benchlingSecret} --region ${deployRegion}`));
138
+ console.log();
139
+ process.exit(1);
140
+ }
141
+ }
142
+ else {
143
+ spinner.succeed(`Secret '${benchlingSecret}' exists`);
144
+ }
145
+ }
146
+ catch (error) {
147
+ spinner.warn("Could not verify secret existence (will attempt deployment anyway)");
148
+ console.log(chalk_1.default.dim(` ${error.message}`));
149
+ }
360
150
  // Check CDK bootstrap
361
151
  if (options.bootstrapCheck !== false) {
362
152
  spinner.start("Checking CDK bootstrap status...");
@@ -388,7 +178,6 @@ async function deploySecretsOnlyMode(quiltStackArn, benchlingSecret, options) {
388
178
  console.log();
389
179
  console.log(chalk_1.default.bold("Deployment Plan"));
390
180
  console.log(chalk_1.default.gray("─".repeat(80)));
391
- console.log(` ${chalk_1.default.bold("Mode:")} ${chalk_1.default.green("Secrets-Only (v0.6.0+)")}`);
392
181
  console.log(` ${chalk_1.default.bold("Stack:")} BenchlingWebhookStack`);
393
182
  console.log(` ${chalk_1.default.bold("Account:")} ${deployAccount}`);
394
183
  console.log(` ${chalk_1.default.bold("Region:")} ${deployRegion}`);
@@ -415,12 +204,12 @@ async function deploySecretsOnlyMode(quiltStackArn, benchlingSecret, options) {
415
204
  }
416
205
  console.log();
417
206
  }
418
- // Deploy using CDK CLI with secrets-only parameters
207
+ // Deploy using CDK CLI
419
208
  spinner.start("Deploying to AWS (this may take a few minutes)...");
420
209
  spinner.stop();
421
210
  console.log();
422
211
  try {
423
- // Build CloudFormation parameters for secrets-only mode
212
+ // Build CloudFormation parameters
424
213
  const parameters = [
425
214
  `QuiltStackARN=${quiltStackArn}`,
426
215
  `BenchlingSecret=${benchlingSecret}`,
@@ -486,7 +275,6 @@ async function deploySecretsOnlyMode(quiltStackArn, benchlingSecret, options) {
486
275
  console.log((0, boxen_1.default)(`${chalk_1.default.green.bold("✓ Deployment completed successfully!")}\n\n` +
487
276
  `Stack: ${chalk_1.default.cyan("BenchlingWebhookStack")}\n` +
488
277
  `Region: ${chalk_1.default.cyan(deployRegion)}\n` +
489
- `Mode: ${chalk_1.default.cyan("Secrets-Only (v0.6.0+)")}\n` +
490
278
  (webhookUrl ? `Webhook URL: ${chalk_1.default.cyan(webhookUrl)}\n\n` : "\n") +
491
279
  `${chalk_1.default.bold("Next steps:")}\n` +
492
280
  " 1. Set the webhook URL in your Benchling app settings:\n" +
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../bin/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../bin/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Configuration Profile Management CLI
4
+ *
5
+ * Provides commands for creating, listing, and managing configuration profiles.
6
+ * Supports AWS profile integration and profile validation.
7
+ *
8
+ * Usage:
9
+ * npx ts-node bin/config-profiles.ts list
10
+ * npx ts-node bin/config-profiles.ts create <profile-name>
11
+ * npx ts-node bin/config-profiles.ts show <profile-name>
12
+ * npx ts-node bin/config-profiles.ts validate <profile-name>
13
+ *
14
+ * @module bin/config-profiles
15
+ */
16
+ import { ProfileName } from "../lib/types/config";
17
+ /**
18
+ * Profile Manager
19
+ *
20
+ * Manages configuration profiles with validation and AWS integration.
21
+ */
22
+ declare class ProfileManager {
23
+ private xdgConfig;
24
+ constructor();
25
+ /**
26
+ * Lists all available profiles
27
+ */
28
+ listProfiles(): void;
29
+ /**
30
+ * Creates a new profile
31
+ *
32
+ * @param profileName - Name of the profile to create
33
+ * @param options - Creation options
34
+ */
35
+ createProfile(profileName: ProfileName, options?: {
36
+ awsProfile?: string;
37
+ description?: string;
38
+ }): void;
39
+ /**
40
+ * Shows detailed information about a profile
41
+ *
42
+ * @param profileName - Name of the profile to show
43
+ */
44
+ showProfile(profileName: ProfileName): void;
45
+ /**
46
+ * Validates a profile configuration
47
+ *
48
+ * @param profileName - Name of the profile to validate
49
+ */
50
+ validateProfile(profileName: ProfileName): void;
51
+ /**
52
+ * Prints configuration object in a readable format
53
+ *
54
+ * @param config - Configuration object to print
55
+ */
56
+ private printConfig;
57
+ }
58
+ export { ProfileManager };
59
+ //# sourceMappingURL=config-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-profiles.d.ts","sourceRoot":"","sources":["../../bin/config-profiles.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,WAAW,EAA+C,MAAM,qBAAqB,CAAC;AAG/F;;;;GAIG;AACH,cAAM,cAAc;IAChB,OAAO,CAAC,SAAS,CAAY;;IAM7B;;OAEG;IACI,YAAY,IAAI,IAAI;IAmC3B;;;;;OAKG;IACI,aAAa,CAChB,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAC5D,IAAI;IAkCP;;;;OAIG;IACI,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAwClD;;;;OAIG;IACI,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAoEtD;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAmBtB;AA6DD,OAAO,EAAE,cAAc,EAAE,CAAC"}