@quiltdata/benchling-webhook 0.7.7 → 0.7.8-20251115T063729Z
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 +24 -11
- package/dist/bin/cli.js +77 -3
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/commands/config-show.d.ts +14 -0
- package/dist/bin/commands/config-show.d.ts.map +1 -0
- package/dist/bin/commands/config-show.js +24 -0
- package/dist/bin/commands/config-show.js.map +1 -0
- package/dist/bin/commands/deploy.d.ts +14 -0
- package/dist/bin/commands/deploy.d.ts.map +1 -1
- package/dist/bin/commands/deploy.js +1 -0
- package/dist/bin/commands/deploy.js.map +1 -1
- package/dist/bin/commands/infer-quilt-config.d.ts +3 -0
- package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -1
- package/dist/bin/commands/infer-quilt-config.js +74 -8
- 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 +40 -7
- package/dist/bin/commands/install.js.map +1 -1
- package/dist/bin/commands/manifest.d.ts +20 -3
- package/dist/bin/commands/manifest.d.ts.map +1 -1
- package/dist/bin/commands/manifest.js +23 -7
- package/dist/bin/commands/manifest.js.map +1 -1
- package/dist/bin/commands/setup-wizard.d.ts +67 -13
- package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
- package/dist/bin/commands/setup-wizard.js +239 -742
- package/dist/bin/commands/setup-wizard.js.map +1 -1
- package/dist/bin/commands/sync-secrets.d.ts +7 -7
- package/dist/bin/commands/sync-secrets.d.ts.map +1 -1
- package/dist/bin/commands/sync-secrets.js +55 -15
- package/dist/bin/commands/sync-secrets.js.map +1 -1
- package/dist/bin/commands/validate.d.ts +18 -3
- package/dist/bin/commands/validate.d.ts.map +1 -1
- package/dist/bin/commands/validate.js +103 -69
- package/dist/bin/commands/validate.js.map +1 -1
- package/dist/lib/types/config.d.ts +13 -0
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/config.js +1 -0
- package/dist/lib/types/config.js.map +1 -1
- package/dist/lib/utils/config.d.ts +14 -17
- package/dist/lib/utils/config.d.ts.map +1 -1
- package/dist/lib/utils/config.js +6 -88
- package/dist/lib/utils/config.js.map +1 -1
- package/dist/lib/wizard/phase1-catalog-discovery.d.ts +41 -0
- package/dist/lib/wizard/phase1-catalog-discovery.d.ts.map +1 -0
- package/dist/lib/wizard/phase1-catalog-discovery.js +206 -0
- package/dist/lib/wizard/phase1-catalog-discovery.js.map +1 -0
- package/dist/lib/wizard/phase2-stack-query.d.ts +35 -0
- package/dist/lib/wizard/phase2-stack-query.d.ts.map +1 -0
- package/dist/lib/wizard/phase2-stack-query.js +99 -0
- package/dist/lib/wizard/phase2-stack-query.js.map +1 -0
- package/dist/lib/wizard/phase3-parameter-collection.d.ts +24 -0
- package/dist/lib/wizard/phase3-parameter-collection.d.ts.map +1 -0
- package/dist/lib/wizard/phase3-parameter-collection.js +399 -0
- package/dist/lib/wizard/phase3-parameter-collection.js.map +1 -0
- package/dist/lib/wizard/phase4-validation.d.ts +22 -0
- package/dist/lib/wizard/phase4-validation.d.ts.map +1 -0
- package/dist/lib/wizard/phase4-validation.js +294 -0
- package/dist/lib/wizard/phase4-validation.js.map +1 -0
- package/dist/lib/wizard/phase5-mode-decision.d.ts +22 -0
- package/dist/lib/wizard/phase5-mode-decision.d.ts.map +1 -0
- package/dist/lib/wizard/phase5-mode-decision.js +65 -0
- package/dist/lib/wizard/phase5-mode-decision.js.map +1 -0
- package/dist/lib/wizard/phase6-integrated-mode.d.ts +24 -0
- package/dist/lib/wizard/phase6-integrated-mode.d.ts.map +1 -0
- package/dist/lib/wizard/phase6-integrated-mode.js +131 -0
- package/dist/lib/wizard/phase6-integrated-mode.js.map +1 -0
- package/dist/lib/wizard/phase7-standalone-mode.d.ts +25 -0
- package/dist/lib/wizard/phase7-standalone-mode.d.ts.map +1 -0
- package/dist/lib/wizard/phase7-standalone-mode.js +210 -0
- package/dist/lib/wizard/phase7-standalone-mode.js.map +1 -0
- package/dist/lib/wizard/types.d.ts +175 -0
- package/dist/lib/wizard/types.d.ts.map +1 -0
- package/dist/lib/wizard/types.js +11 -0
- package/dist/lib/wizard/types.js.map +1 -0
- package/dist/package.json +3 -4
- package/package.json +3 -4
- package/dist/bin/commands/get-env.d.ts +0 -16
- package/dist/bin/commands/get-env.d.ts.map +0 -1
- package/dist/bin/commands/get-env.js +0 -210
- package/dist/bin/commands/get-env.js.map +0 -1
- package/env.template +0 -79
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
/**
|
|
4
|
-
* Get environment configuration from a Quilt catalog's config.json
|
|
5
|
-
*
|
|
6
|
-
* This script fetches config.json from a Quilt catalog URL and attempts to:
|
|
7
|
-
* 1. Parse the configuration
|
|
8
|
-
* 2. Query AWS CloudFormation to find the stack using resource identifiers
|
|
9
|
-
* 3. Extract stack outputs and parameters
|
|
10
|
-
* 4. Generate environment variables for .env
|
|
11
|
-
*
|
|
12
|
-
* Usage:
|
|
13
|
-
* node bin/get-env.ts https://quilt-catalog.yourcompany.com
|
|
14
|
-
* node bin/get-env.ts https://quilt-catalog.yourcompany.com --write
|
|
15
|
-
*/
|
|
16
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
-
}
|
|
22
|
-
Object.defineProperty(o, k2, desc);
|
|
23
|
-
}) : (function(o, m, k, k2) {
|
|
24
|
-
if (k2 === undefined) k2 = k;
|
|
25
|
-
o[k2] = m[k];
|
|
26
|
-
}));
|
|
27
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
-
}) : function(o, v) {
|
|
30
|
-
o["default"] = v;
|
|
31
|
-
});
|
|
32
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
33
|
-
var ownKeys = function(o) {
|
|
34
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
35
|
-
var ar = [];
|
|
36
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
37
|
-
return ar;
|
|
38
|
-
};
|
|
39
|
-
return ownKeys(o);
|
|
40
|
-
};
|
|
41
|
-
return function (mod) {
|
|
42
|
-
if (mod && mod.__esModule) return mod;
|
|
43
|
-
var result = {};
|
|
44
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
45
|
-
__setModuleDefault(result, mod);
|
|
46
|
-
return result;
|
|
47
|
-
};
|
|
48
|
-
})();
|
|
49
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
50
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
51
|
-
};
|
|
52
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
-
const fs = __importStar(require("fs"));
|
|
54
|
-
const path = __importStar(require("path"));
|
|
55
|
-
// Import utility functions from lib/utils
|
|
56
|
-
const stack_inference_1 = require("../../lib/utils/stack-inference");
|
|
57
|
-
// Parse command line arguments (only when run directly)
|
|
58
|
-
let args;
|
|
59
|
-
let catalogUrl;
|
|
60
|
-
let outputFile;
|
|
61
|
-
let writeFile;
|
|
62
|
-
if (require.main === module) {
|
|
63
|
-
args = process.argv.slice(2);
|
|
64
|
-
catalogUrl = args.find((arg) => !arg.startsWith("--"));
|
|
65
|
-
outputFile = args.find((arg) => arg.startsWith("--output="))?.split("=")[1];
|
|
66
|
-
writeFile = args.includes("--write");
|
|
67
|
-
if (!catalogUrl || args.includes("--help") || args.includes("-h")) {
|
|
68
|
-
printHelp();
|
|
69
|
-
process.exit(catalogUrl ? 0 : 1);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// CLI-specific functions moved to lib/utils/stack-inference.ts
|
|
73
|
-
// Re-export for backward compatibility if needed
|
|
74
|
-
/**
|
|
75
|
-
* Format environment variables for output
|
|
76
|
-
*/
|
|
77
|
-
function formatEnvVars(vars) {
|
|
78
|
-
const lines = [];
|
|
79
|
-
lines.push("# ==============================================================================");
|
|
80
|
-
lines.push("# INFERRED CONFIGURATION");
|
|
81
|
-
lines.push("# ==============================================================================");
|
|
82
|
-
lines.push("# Generated by: bin/get-env.ts");
|
|
83
|
-
lines.push("# Date: " + new Date().toISOString());
|
|
84
|
-
lines.push("#");
|
|
85
|
-
lines.push("# ⚠️ IMPORTANT: Review and verify all values before using!");
|
|
86
|
-
lines.push("# Some values may need manual verification or completion.");
|
|
87
|
-
lines.push("# ==============================================================================");
|
|
88
|
-
lines.push("");
|
|
89
|
-
for (const [key, value] of Object.entries(vars)) {
|
|
90
|
-
if (key.startsWith("#")) {
|
|
91
|
-
lines.push(`${key}: ${value}`);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
lines.push(`${key}=${value}`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
lines.push("");
|
|
98
|
-
lines.push("# ==============================================================================");
|
|
99
|
-
lines.push("# REQUIRED VALUES NOT INFERRED - Must be filled manually");
|
|
100
|
-
lines.push("# ==============================================================================");
|
|
101
|
-
lines.push("PREFIX=benchling-webhook");
|
|
102
|
-
lines.push("BENCHLING_TENANT=your-tenant");
|
|
103
|
-
lines.push("BENCHLING_CLIENT_ID=your-client-id");
|
|
104
|
-
lines.push("BENCHLING_CLIENT_SECRET=your-client-secret");
|
|
105
|
-
lines.push("BENCHLING_APP=benchling-webhook");
|
|
106
|
-
lines.push("BENCHLING_API_KEY=your-api-key");
|
|
107
|
-
lines.push("BENCHLING_APP_DEFINITION_ID=appdef_your_id_here");
|
|
108
|
-
lines.push("ENABLE_WEBHOOK_VERIFICATION=true");
|
|
109
|
-
lines.push("BENCHLING_TEST_ENTRY=etr_123456789");
|
|
110
|
-
lines.push("");
|
|
111
|
-
return lines.join("\n");
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Print help
|
|
115
|
-
*/
|
|
116
|
-
function printHelp() {
|
|
117
|
-
console.log("Usage: node bin/get-env.ts <catalog-url> [options]");
|
|
118
|
-
console.log("");
|
|
119
|
-
console.log("Arguments:");
|
|
120
|
-
console.log(" catalog-url URL of Quilt catalog (e.g., https://quilt-catalog.yourcompany.com)");
|
|
121
|
-
console.log("");
|
|
122
|
-
console.log("Options:");
|
|
123
|
-
console.log(" --output=FILE Write output to FILE instead of stdout");
|
|
124
|
-
console.log(" --write Write to env.inferred by default (without dot - user-visible)");
|
|
125
|
-
console.log(" --help, -h Show this help message");
|
|
126
|
-
console.log("");
|
|
127
|
-
console.log("Examples:");
|
|
128
|
-
console.log(" node bin/get-env.ts https://nightly.quilttest.com");
|
|
129
|
-
console.log(" node bin/get-env.ts https://nightly.quilttest.com --write");
|
|
130
|
-
console.log(" node bin/get-env.ts https://nightly.quilttest.com --output=env.staging");
|
|
131
|
-
console.log("");
|
|
132
|
-
console.log("Description:");
|
|
133
|
-
console.log(" This script fetches config.json from a Quilt catalog and infers");
|
|
134
|
-
console.log(" environment variables needed for benchling-webhook deployment by:");
|
|
135
|
-
console.log(" 1. Parsing the catalog configuration");
|
|
136
|
-
console.log(" 2. Querying AWS CloudFormation to find the associated stack");
|
|
137
|
-
console.log(" 3. Extracting stack outputs and parameters");
|
|
138
|
-
console.log(" 4. Generating environment variable assignments");
|
|
139
|
-
console.log("");
|
|
140
|
-
console.log("Requirements:");
|
|
141
|
-
console.log(" - AWS CLI installed and configured");
|
|
142
|
-
console.log(" - AWS credentials with CloudFormation read permissions");
|
|
143
|
-
console.log(" - Network access to the catalog URL");
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Main execution
|
|
147
|
-
*/
|
|
148
|
-
async function main() {
|
|
149
|
-
if (!catalogUrl) {
|
|
150
|
-
throw new Error("Catalog URL is required");
|
|
151
|
-
}
|
|
152
|
-
try {
|
|
153
|
-
const result = await (0, stack_inference_1.inferStackConfig)(catalogUrl);
|
|
154
|
-
// Format output
|
|
155
|
-
const output = formatEnvVars(result.inferredVars);
|
|
156
|
-
// Print summary
|
|
157
|
-
console.log("=".repeat(80));
|
|
158
|
-
console.log("INFERRED CONFIGURATION");
|
|
159
|
-
console.log("=".repeat(80));
|
|
160
|
-
console.log("");
|
|
161
|
-
console.log(output);
|
|
162
|
-
console.log("");
|
|
163
|
-
// Write to file if requested
|
|
164
|
-
const targetFile = outputFile || (writeFile ? "env.inferred" : null);
|
|
165
|
-
if (targetFile) {
|
|
166
|
-
const fullPath = path.resolve(targetFile);
|
|
167
|
-
// Check if .env already exists and warn before proceeding
|
|
168
|
-
const envPath = path.resolve(".env");
|
|
169
|
-
if (fs.existsSync(envPath)) {
|
|
170
|
-
console.log("⚠️ NOTICE: A .env file already exists!");
|
|
171
|
-
console.log(` Writing to ${targetFile} instead to avoid overwriting your configuration.`);
|
|
172
|
-
console.log("");
|
|
173
|
-
}
|
|
174
|
-
fs.writeFileSync(fullPath, output);
|
|
175
|
-
console.log("=".repeat(80));
|
|
176
|
-
console.log(`✓ Configuration written to: ${fullPath}`);
|
|
177
|
-
console.log("=".repeat(80));
|
|
178
|
-
console.log("");
|
|
179
|
-
console.log("Next steps:");
|
|
180
|
-
console.log(" 1. Review the generated file and verify all values");
|
|
181
|
-
console.log(" 2. Fill in the REQUIRED VALUES section with your Benchling credentials");
|
|
182
|
-
if (fs.existsSync(envPath)) {
|
|
183
|
-
console.log(" 3. Carefully merge with your existing .env file (DO NOT overwrite!)");
|
|
184
|
-
console.log(" Compare: diff .env env.inferred");
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
console.log(" 3. Copy to .env when ready: cp env.inferred .env");
|
|
188
|
-
}
|
|
189
|
-
console.log("");
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
console.log("=".repeat(80));
|
|
193
|
-
console.log("To save this configuration, run:");
|
|
194
|
-
console.log(` node bin/get-env.ts ${catalogUrl} --write`);
|
|
195
|
-
console.log("=".repeat(80));
|
|
196
|
-
console.log("");
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
catch (error) {
|
|
200
|
-
const err = error;
|
|
201
|
-
console.error("Error:", err.message);
|
|
202
|
-
process.exit(1);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
if (require.main === module) {
|
|
206
|
-
main();
|
|
207
|
-
}
|
|
208
|
-
// For backward compatibility, re-export from the new location
|
|
209
|
-
__exportStar(require("../../lib/utils/stack-inference"), exports);
|
|
210
|
-
//# sourceMappingURL=get-env.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-env.js","sourceRoot":"","sources":["../../../bin/commands/get-env.ts"],"names":[],"mappings":"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"}
|
package/env.template
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# ALWAYS REQUIRED PARAMETERS
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
# --- Benchling OAuth Configuration ---
|
|
6
|
-
# Tenant: Use XXX if you login at XXX.benchling.com
|
|
7
|
-
BENCHLING_TENANT=your-tenant
|
|
8
|
-
|
|
9
|
-
# OAuth credentials from your Benchling app
|
|
10
|
-
BENCHLING_CLIENT_ID=your-client-id
|
|
11
|
-
BENCHLING_CLIENT_SECRET=your-client-secret
|
|
12
|
-
|
|
13
|
-
# App definition ID from Benchling app manifest
|
|
14
|
-
BENCHLING_APP_DEFINITION_ID=appdef_your_id_here
|
|
15
|
-
|
|
16
|
-
# S3 bucket for storing Benchling exports (YOUR data bucket)
|
|
17
|
-
BENCHLING_PKG_BUCKET=your-data-bucket # (without s3:// prefix)
|
|
18
|
-
|
|
19
|
-
#
|
|
20
|
-
# POSSIBLY REQUIRED PARAMETERS
|
|
21
|
-
#
|
|
22
|
-
|
|
23
|
-
QUILT_CATALOG=quilt-stack.your-company.com
|
|
24
|
-
# Required UNLESS available from 'quilt3 config'
|
|
25
|
-
|
|
26
|
-
BENCHLING_TEST_ENTRY=etr_123456789
|
|
27
|
-
# Actual entry ID from your tenant, needed to run integration tests
|
|
28
|
-
|
|
29
|
-
#
|
|
30
|
-
# Optional PARAMETERS
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
# --- Package Configuration ---
|
|
34
|
-
# Prefix for Quilt package names (e.g., "benchling/my-experiment")
|
|
35
|
-
BENCHLING_PKG_PREFIX=benchling
|
|
36
|
-
|
|
37
|
-
# Metadata key to link Benchling entries to packages
|
|
38
|
-
BENCHLING_PKG_KEY=experiment_id
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
# --- Application Configuration (Required) ---
|
|
42
|
-
# Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL
|
|
43
|
-
BENCHLING_LOG_LEVEL=INFO
|
|
44
|
-
|
|
45
|
-
# Enable/disable webhook signature verification (true/false)
|
|
46
|
-
BENCHLING_ENABLE_WEBHOOK_VERIFICATION=true
|
|
47
|
-
|
|
48
|
-
# Comma-separated list of allowed source IPs (leave empty to allow all)
|
|
49
|
-
# Example: 34.216.192.90,34.217.183.162
|
|
50
|
-
BENCHLING_WEBHOOK_ALLOW_LIST=
|
|
51
|
-
|
|
52
|
-
# ==============================================================================
|
|
53
|
-
# NOTES
|
|
54
|
-
# ==============================================================================
|
|
55
|
-
#
|
|
56
|
-
# Quick Start:
|
|
57
|
-
# 1. Copy this file to .env: cp env.template .env
|
|
58
|
-
# 2. Fill in BENCHLING_* variables (section 2)
|
|
59
|
-
# 3. Create secret: npm run config
|
|
60
|
-
# 4. Fill in QuiltStackARN (section 1)
|
|
61
|
-
# 5. Deploy: npm run deploy
|
|
62
|
-
#
|
|
63
|
-
# Configuration at Runtime:
|
|
64
|
-
# The deployed stack resolves ALL configuration from just 2 sources:
|
|
65
|
-
# - QuiltStackARN → gets Quilt catalog, database, SQS queue from CloudFormation
|
|
66
|
-
# - BenchlingSecret → gets all Benchling credentials and app config from Secrets Manager
|
|
67
|
-
#
|
|
68
|
-
# No other environment variables are needed for production deployment.
|
|
69
|
-
#
|
|
70
|
-
# Local Development:
|
|
71
|
-
# For testing locally without AWS:
|
|
72
|
-
# - make -C docker run-local (starts Flask with mocked AWS)
|
|
73
|
-
# - make -C docker test-local (runs tests against local server)
|
|
74
|
-
#
|
|
75
|
-
# For More Information:
|
|
76
|
-
# - See docs/PARAMETERS.md for parameter reference
|
|
77
|
-
# - See README.md for complete setup guide
|
|
78
|
-
# - Run: npm run cli -- --help
|
|
79
|
-
#
|