@quiltdata/benchling-webhook 0.6.3-20251104T170954Z → 0.7.2-20251106T003353Z
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 +166 -5
- package/dist/bin/benchling-webhook.d.ts +2 -16
- package/dist/bin/benchling-webhook.d.ts.map +1 -1
- package/dist/bin/benchling-webhook.js +98 -158
- package/dist/bin/benchling-webhook.js.map +1 -1
- package/dist/bin/cli.js +96 -8
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/{config-profiles.d.ts → commands/config-profiles.d.ts} +10 -9
- package/dist/bin/commands/config-profiles.d.ts.map +1 -0
- package/dist/bin/{config-profiles.js → commands/config-profiles.js} +110 -102
- package/dist/bin/commands/config-profiles.js.map +1 -0
- package/dist/bin/commands/create-secret.d.ts.map +1 -0
- package/dist/bin/commands/create-secret.js.map +1 -0
- package/dist/bin/commands/deploy.d.ts +11 -0
- package/dist/bin/commands/deploy.d.ts.map +1 -1
- package/dist/bin/commands/deploy.js +65 -110
- package/dist/bin/commands/deploy.js.map +1 -1
- package/dist/bin/{get-env.d.ts → commands/get-env.d.ts} +1 -1
- package/dist/bin/commands/get-env.d.ts.map +1 -0
- package/dist/bin/{get-env.js → commands/get-env.js} +2 -2
- package/dist/bin/commands/get-env.js.map +1 -0
- package/dist/bin/commands/health-check.d.ts +47 -0
- package/dist/bin/commands/health-check.d.ts.map +1 -0
- package/dist/bin/commands/health-check.js +357 -0
- package/dist/bin/commands/health-check.js.map +1 -0
- package/dist/bin/commands/infer-quilt-config.d.ts +50 -0
- package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -0
- package/dist/bin/commands/infer-quilt-config.js +356 -0
- package/dist/bin/commands/infer-quilt-config.js.map +1 -0
- package/dist/bin/commands/init.d.ts.map +1 -1
- package/dist/bin/commands/init.js +2 -32
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/manifest.d.ts +11 -0
- package/dist/bin/commands/manifest.d.ts.map +1 -1
- package/dist/bin/commands/manifest.js +22 -8
- package/dist/bin/commands/manifest.js.map +1 -1
- package/dist/bin/commands/publish.d.ts.map +1 -0
- package/dist/bin/{publish.js → commands/publish.js} +2 -2
- package/dist/bin/commands/publish.js.map +1 -0
- package/dist/bin/commands/setup-profile.d.ts +29 -0
- package/dist/bin/commands/setup-profile.d.ts.map +1 -0
- package/dist/bin/commands/setup-profile.js +220 -0
- package/dist/bin/commands/setup-profile.js.map +1 -0
- package/dist/bin/commands/setup-wizard.d.ts +26 -11
- package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
- package/dist/bin/commands/setup-wizard.js +844 -46
- package/dist/bin/commands/setup-wizard.js.map +1 -1
- package/dist/{scripts → bin/commands}/sync-secrets.d.ts +6 -1
- package/dist/bin/commands/sync-secrets.d.ts.map +1 -0
- package/dist/{scripts → bin/commands}/sync-secrets.js +159 -55
- package/dist/bin/commands/sync-secrets.js.map +1 -0
- package/dist/bin/commands/validate.d.ts.map +1 -1
- package/dist/bin/commands/validate.js +2 -12
- package/dist/bin/commands/validate.js.map +1 -1
- package/dist/lib/alb-api-gateway.d.ts +7 -1
- package/dist/lib/alb-api-gateway.d.ts.map +1 -1
- package/dist/lib/alb-api-gateway.js +9 -6
- package/dist/lib/alb-api-gateway.js.map +1 -1
- package/dist/lib/benchling-webhook-stack.d.ts +13 -12
- package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
- package/dist/lib/benchling-webhook-stack.js +43 -30
- package/dist/lib/benchling-webhook-stack.js.map +1 -1
- package/dist/lib/configuration-saver.d.ts +4 -16
- package/dist/lib/configuration-saver.d.ts.map +1 -1
- package/dist/lib/configuration-saver.js +14 -54
- package/dist/lib/configuration-saver.js.map +1 -1
- package/dist/lib/fargate-service.d.ts +11 -21
- package/dist/lib/fargate-service.d.ts.map +1 -1
- package/dist/lib/fargate-service.js +79 -176
- package/dist/lib/fargate-service.js.map +1 -1
- package/dist/lib/types/config.d.ts +591 -224
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/config.js +134 -3
- package/dist/lib/types/config.js.map +1 -1
- package/dist/lib/utils/config.d.ts.map +1 -1
- package/dist/lib/utils/config.js.map +1 -1
- package/dist/lib/xdg-config.d.ts +222 -106
- package/dist/lib/xdg-config.d.ts.map +1 -1
- package/dist/lib/xdg-config.js +448 -387
- package/dist/lib/xdg-config.js.map +1 -1
- package/dist/package.json +16 -13
- package/dist/scripts/check-logs.d.ts +12 -0
- package/dist/scripts/check-logs.d.ts.map +1 -0
- package/dist/{bin → scripts}/check-logs.js +65 -15
- package/dist/scripts/check-logs.js.map +1 -0
- package/dist/scripts/check-webhook-verification.d.ts +3 -0
- package/dist/scripts/check-webhook-verification.d.ts.map +1 -0
- package/dist/{bin/test-invalid-signature.js → scripts/check-webhook-verification.js} +1 -1
- package/dist/scripts/check-webhook-verification.js.map +1 -0
- package/dist/scripts/infer-quilt-config.d.ts +23 -26
- package/dist/scripts/infer-quilt-config.d.ts.map +1 -1
- package/dist/scripts/infer-quilt-config.js +58 -96
- package/dist/scripts/infer-quilt-config.js.map +1 -1
- package/dist/scripts/send-event.d.ts.map +1 -0
- package/dist/scripts/send-event.js.map +1 -0
- package/dist/{bin → scripts}/version.d.ts +3 -1
- package/dist/scripts/version.d.ts.map +1 -0
- package/dist/{bin → scripts}/version.js +95 -9
- package/dist/scripts/version.js.map +1 -0
- package/package.json +16 -13
- package/dist/bin/check-logs.d.ts +0 -7
- package/dist/bin/check-logs.d.ts.map +0 -1
- package/dist/bin/check-logs.js.map +0 -1
- package/dist/bin/config-profiles.d.ts.map +0 -1
- package/dist/bin/config-profiles.js.map +0 -1
- package/dist/bin/create-secret.d.ts.map +0 -1
- package/dist/bin/create-secret.js.map +0 -1
- package/dist/bin/dev-deploy.d.ts +0 -20
- package/dist/bin/dev-deploy.d.ts.map +0 -1
- package/dist/bin/dev-deploy.js +0 -289
- package/dist/bin/dev-deploy.js.map +0 -1
- package/dist/bin/get-env.d.ts.map +0 -1
- package/dist/bin/get-env.js.map +0 -1
- package/dist/bin/publish.d.ts.map +0 -1
- package/dist/bin/publish.js.map +0 -1
- package/dist/bin/release.d.ts +0 -11
- package/dist/bin/release.d.ts.map +0 -1
- package/dist/bin/release.js +0 -141
- package/dist/bin/release.js.map +0 -1
- package/dist/bin/send-event.d.ts.map +0 -1
- package/dist/bin/send-event.js.map +0 -1
- package/dist/bin/test-invalid-signature.d.ts +0 -3
- package/dist/bin/test-invalid-signature.d.ts.map +0 -1
- package/dist/bin/test-invalid-signature.js.map +0 -1
- package/dist/bin/version.d.ts.map +0 -1
- package/dist/bin/version.js.map +0 -1
- package/dist/scripts/config-health-check.d.ts +0 -84
- package/dist/scripts/config-health-check.d.ts.map +0 -1
- package/dist/scripts/config-health-check.js +0 -659
- package/dist/scripts/config-health-check.js.map +0 -1
- package/dist/scripts/install-wizard.d.ts +0 -34
- package/dist/scripts/install-wizard.d.ts.map +0 -1
- package/dist/scripts/install-wizard.js +0 -719
- package/dist/scripts/install-wizard.js.map +0 -1
- package/dist/scripts/sync-secrets.d.ts.map +0 -1
- package/dist/scripts/sync-secrets.js.map +0 -1
- /package/dist/bin/{create-secret.d.ts → commands/create-secret.d.ts} +0 -0
- /package/dist/bin/{create-secret.js → commands/create-secret.js} +0 -0
- /package/dist/bin/{publish.d.ts → commands/publish.d.ts} +0 -0
- /package/dist/{bin → scripts}/send-event.d.ts +0 -0
- /package/dist/{bin → scripts}/send-event.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,gDA4CC;AA1DD,kDAA0B;AAC1B,iEAAgE;AAEhE;;;;;;;;;;GAUG;AACI,KAAK,UAAU,kBAAkB;IACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAE7D,kCAAkC;IAClC,MAAM,IAAA,iCAAgB,EAAC;QACnB,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,KAAK;KACxB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEvD,kCAAkC;IAClC,MAAM,QAAQ,GAAG,CAAC,wDAAa,UAAU,GAAC,CAAC,CAAC,OAAO,CAAC;IACpD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QAC3C;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,IAAI;SAChB;KACJ,CAAC,CAAC;IAEH,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;QACnD,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC,CAAC;AACvG,CAAC"}
|
|
1
|
+
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* AWS Secrets Manager Integration
|
|
4
4
|
*
|
|
5
|
+
* WARNING: This file needs significant refactoring for v0.7.0
|
|
6
|
+
* TODO: Update to use ProfileConfig instead of UserConfig/DerivedConfig
|
|
7
|
+
* TODO: Remove references to BaseConfig
|
|
8
|
+
* TODO: Update to use readProfile/writeProfile instead of readProfileConfig/writeProfileConfig
|
|
9
|
+
*
|
|
5
10
|
* Synchronizes configuration to AWS Secrets Manager with:
|
|
6
11
|
* - Consistent secret naming conventions
|
|
7
12
|
* - AWS profile selection support
|
|
@@ -10,7 +15,7 @@
|
|
|
10
15
|
*
|
|
11
16
|
* @module scripts/sync-secrets
|
|
12
17
|
*/
|
|
13
|
-
import { ProfileName } from "
|
|
18
|
+
import { ProfileName } from "../../lib/types/config";
|
|
14
19
|
/**
|
|
15
20
|
* Secrets sync options
|
|
16
21
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-secrets.d.ts","sourceRoot":"","sources":["../../../bin/commands/sync-secrets.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AAYH,OAAO,EAAiB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGpE;;GAEG;AACH,UAAU,kBAAkB;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD;;GAEG;AACH,UAAU,UAAU;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CACnB;AAgQD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA4G9F;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC7C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBlC;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACjD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnB"}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* AWS Secrets Manager Integration
|
|
5
5
|
*
|
|
6
|
+
* WARNING: This file needs significant refactoring for v0.7.0
|
|
7
|
+
* TODO: Update to use ProfileConfig instead of UserConfig/DerivedConfig
|
|
8
|
+
* TODO: Remove references to BaseConfig
|
|
9
|
+
* TODO: Update to use readProfile/writeProfile instead of readProfileConfig/writeProfileConfig
|
|
10
|
+
*
|
|
6
11
|
* Synchronizes configuration to AWS Secrets Manager with:
|
|
7
12
|
* - Consistent secret naming conventions
|
|
8
13
|
* - AWS profile selection support
|
|
@@ -49,8 +54,8 @@ exports.syncSecretsToAWS = syncSecretsToAWS;
|
|
|
49
54
|
exports.getSecretsFromAWS = getSecretsFromAWS;
|
|
50
55
|
exports.validateSecretsAccess = validateSecretsAccess;
|
|
51
56
|
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
52
|
-
const xdg_config_1 = require("
|
|
53
|
-
const secrets_1 = require("
|
|
57
|
+
const xdg_config_1 = require("../../lib/xdg-config");
|
|
58
|
+
const secrets_1 = require("../../lib/utils/secrets");
|
|
54
59
|
/**
|
|
55
60
|
* Creates or retrieves Secrets Manager client
|
|
56
61
|
*
|
|
@@ -100,7 +105,7 @@ async function createSecret(client, secretConfig) {
|
|
|
100
105
|
Description: secretConfig.description,
|
|
101
106
|
Tags: [
|
|
102
107
|
{ Key: "ManagedBy", Value: "benchling-webhook" },
|
|
103
|
-
{ Key: "Version", Value: "0.
|
|
108
|
+
{ Key: "Version", Value: "0.7.0" },
|
|
104
109
|
],
|
|
105
110
|
});
|
|
106
111
|
const response = await client.send(command);
|
|
@@ -135,28 +140,139 @@ async function getSecret(client, secretName) {
|
|
|
135
140
|
return response.SecretString || "";
|
|
136
141
|
}
|
|
137
142
|
/**
|
|
138
|
-
*
|
|
143
|
+
* Determine if a stored value is actually referencing a secret identifier rather than the secret value.
|
|
144
|
+
*
|
|
145
|
+
* @param value - The candidate value from configuration
|
|
146
|
+
* @param secretName - The generated secret name for the profile
|
|
147
|
+
* @param secretArn - Optional ARN recorded in configuration
|
|
148
|
+
* @returns True if value matches known identifiers, false otherwise
|
|
149
|
+
*/
|
|
150
|
+
function isSecretPlaceholder(value, secretName, secretArn) {
|
|
151
|
+
if (!value) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
const trimmed = value.trim();
|
|
155
|
+
if (trimmed.length === 0) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
if (trimmed === secretName) {
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
if (secretArn && trimmed === secretArn) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Parse secret payload JSON and ensure it is an object.
|
|
168
|
+
*
|
|
169
|
+
* @param secretString - Raw secret JSON string
|
|
170
|
+
* @param identifier - Secret identifier (for error messages)
|
|
171
|
+
* @returns Parsed payload as record
|
|
172
|
+
* @throws Error if JSON is invalid or not an object
|
|
173
|
+
*/
|
|
174
|
+
function parseSecretPayload(secretString, identifier) {
|
|
175
|
+
try {
|
|
176
|
+
const parsed = JSON.parse(secretString);
|
|
177
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
178
|
+
throw new Error(`Secret ${identifier} must be a JSON object`);
|
|
179
|
+
}
|
|
180
|
+
return parsed;
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
throw new Error(`Secret ${identifier} contains invalid JSON: ${error.message}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Extract client secret from secret payload supporting both snake_case and camelCase.
|
|
188
|
+
*
|
|
189
|
+
* @param payload - Parsed secret payload
|
|
190
|
+
* @returns Client secret value if present
|
|
191
|
+
*/
|
|
192
|
+
function extractClientSecret(payload) {
|
|
193
|
+
const candidates = ["client_secret", "clientSecret"];
|
|
194
|
+
for (const key of candidates) {
|
|
195
|
+
const value = payload[key];
|
|
196
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
197
|
+
return value.trim();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Resolve the Benchling client secret value to upload.
|
|
204
|
+
*
|
|
205
|
+
* This ensures we never upload the secret name/ARN itself by attempting to read the
|
|
206
|
+
* existing secret when configuration contains only identifiers.
|
|
207
|
+
*
|
|
208
|
+
* @param client - Secrets Manager client
|
|
209
|
+
* @param config - Profile configuration
|
|
210
|
+
* @param secretName - Generated secret name for the profile
|
|
211
|
+
* @returns Resolved client secret value
|
|
212
|
+
* @throws Error if the client secret cannot be resolved
|
|
213
|
+
*/
|
|
214
|
+
async function resolveClientSecretValue(client, config, secretName) {
|
|
215
|
+
const directValue = config.benchling.clientSecret?.trim();
|
|
216
|
+
if (directValue && !isSecretPlaceholder(directValue, secretName, config.benchling.secretArn)) {
|
|
217
|
+
return directValue;
|
|
218
|
+
}
|
|
219
|
+
const identifiers = [];
|
|
220
|
+
if (config.benchling.secretArn) {
|
|
221
|
+
identifiers.push(config.benchling.secretArn);
|
|
222
|
+
}
|
|
223
|
+
identifiers.push(secretName);
|
|
224
|
+
let lastError;
|
|
225
|
+
for (const identifier of identifiers) {
|
|
226
|
+
if (!identifier) {
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const secretString = await getSecret(client, identifier);
|
|
231
|
+
const payload = parseSecretPayload(secretString, identifier);
|
|
232
|
+
const resolved = extractClientSecret(payload);
|
|
233
|
+
if (resolved) {
|
|
234
|
+
return resolved;
|
|
235
|
+
}
|
|
236
|
+
lastError = new Error(`Secret ${identifier} does not contain a client_secret field`);
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
if (error instanceof client_secrets_manager_1.ResourceNotFoundException) {
|
|
240
|
+
// Try next identifier
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (lastError) {
|
|
247
|
+
throw lastError;
|
|
248
|
+
}
|
|
249
|
+
throw new Error("Benchling OAuth client secret is required but could not be resolved from the profile or existing Secrets Manager entries. " +
|
|
250
|
+
"Provide benchling.clientSecret in your profile configuration or ensure the existing secret contains a client_secret value.");
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Builds secret value JSON from profile configuration
|
|
139
254
|
*
|
|
140
|
-
* @param config -
|
|
255
|
+
* @param config - Profile configuration
|
|
256
|
+
* @param clientSecret - Resolved client secret value
|
|
141
257
|
* @returns Secret value as JSON string
|
|
142
258
|
*/
|
|
143
|
-
function buildSecretValue(config) {
|
|
259
|
+
function buildSecretValue(config, clientSecret) {
|
|
144
260
|
// Use snake_case field names to match Python config_resolver expectations
|
|
145
261
|
const secretData = {
|
|
146
|
-
tenant: config.
|
|
147
|
-
client_id: config.
|
|
148
|
-
client_secret:
|
|
149
|
-
app_definition_id: config.
|
|
150
|
-
user_bucket: config.
|
|
151
|
-
pkg_prefix: config.
|
|
152
|
-
pkg_key: config.
|
|
153
|
-
log_level: config.
|
|
154
|
-
webhook_allow_list: config.webhookAllowList || "",
|
|
155
|
-
enable_webhook_verification: config.
|
|
262
|
+
tenant: config.benchling.tenant,
|
|
263
|
+
client_id: config.benchling.clientId,
|
|
264
|
+
client_secret: clientSecret,
|
|
265
|
+
app_definition_id: config.benchling.appDefinitionId,
|
|
266
|
+
user_bucket: config.packages.bucket,
|
|
267
|
+
pkg_prefix: config.packages.prefix,
|
|
268
|
+
pkg_key: config.packages.metadataKey,
|
|
269
|
+
log_level: config.logging?.level || "INFO",
|
|
270
|
+
webhook_allow_list: config.security?.webhookAllowList || "",
|
|
271
|
+
enable_webhook_verification: config.security?.enableVerification !== false ? "true" : "false",
|
|
156
272
|
};
|
|
157
273
|
// Add optional fields
|
|
158
|
-
if (config.queueArn) {
|
|
159
|
-
Object.assign(secretData, { queue_arn: config.queueArn });
|
|
274
|
+
if (config.quilt.queueArn) {
|
|
275
|
+
Object.assign(secretData, { queue_arn: config.quilt.queueArn });
|
|
160
276
|
}
|
|
161
277
|
return JSON.stringify(secretData, null, 2);
|
|
162
278
|
}
|
|
@@ -172,28 +288,35 @@ async function syncSecretsToAWS(options = {}) {
|
|
|
172
288
|
// Step 1: Load configuration
|
|
173
289
|
console.log(`Loading configuration from profile: ${profile}...`);
|
|
174
290
|
const xdgConfig = new xdg_config_1.XDGConfig();
|
|
175
|
-
let
|
|
291
|
+
let config;
|
|
176
292
|
try {
|
|
177
|
-
|
|
293
|
+
config = xdgConfig.readProfile(profile);
|
|
178
294
|
}
|
|
179
295
|
catch (error) {
|
|
180
296
|
throw new Error(`Failed to load configuration: ${error.message}`);
|
|
181
297
|
}
|
|
182
298
|
// Validate required fields
|
|
183
|
-
if (!
|
|
299
|
+
if (!config.benchling.tenant) {
|
|
184
300
|
throw new Error("Benchling tenant is required");
|
|
185
301
|
}
|
|
186
|
-
if (!
|
|
187
|
-
throw new Error("Benchling OAuth
|
|
302
|
+
if (!config.benchling.clientId) {
|
|
303
|
+
throw new Error("Benchling OAuth client ID is required");
|
|
188
304
|
}
|
|
189
305
|
// Step 2: Initialize Secrets Manager client
|
|
190
306
|
console.log(`Initializing Secrets Manager client (region: ${region})...`);
|
|
191
307
|
const client = await getSecretsManagerClient(region, awsProfile);
|
|
192
308
|
// Step 3: Generate secret name
|
|
193
|
-
const secretName = (0, secrets_1.generateSecretName)(profile,
|
|
309
|
+
const secretName = (0, secrets_1.generateSecretName)(profile, config.benchling.tenant);
|
|
194
310
|
console.log(`Secret name: ${secretName}`);
|
|
195
311
|
// Step 4: Build secret value
|
|
196
|
-
|
|
312
|
+
let clientSecretValue;
|
|
313
|
+
try {
|
|
314
|
+
clientSecretValue = await resolveClientSecretValue(client, config, secretName);
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
throw new Error(`Failed to resolve Benchling client secret: ${error.message}`);
|
|
318
|
+
}
|
|
319
|
+
const secretValue = buildSecretValue(config, clientSecretValue);
|
|
197
320
|
if (dryRun) {
|
|
198
321
|
console.log("\n=== DRY RUN MODE ===");
|
|
199
322
|
console.log(`Would sync secret: ${secretName}`);
|
|
@@ -210,7 +333,7 @@ async function syncSecretsToAWS(options = {}) {
|
|
|
210
333
|
secretArn = await updateSecret(client, {
|
|
211
334
|
name: secretName,
|
|
212
335
|
value: secretValue,
|
|
213
|
-
description: `Benchling Webhook configuration for ${
|
|
336
|
+
description: `Benchling Webhook configuration for ${config.benchling.tenant} (profile: ${profile})`,
|
|
214
337
|
});
|
|
215
338
|
action = "updated";
|
|
216
339
|
console.log(`✓ Secret updated: ${secretArn}`);
|
|
@@ -230,7 +353,7 @@ async function syncSecretsToAWS(options = {}) {
|
|
|
230
353
|
secretArn = await createSecret(client, {
|
|
231
354
|
name: secretName,
|
|
232
355
|
value: secretValue,
|
|
233
|
-
description: `Benchling Webhook configuration for ${
|
|
356
|
+
description: `Benchling Webhook configuration for ${config.benchling.tenant} (profile: ${profile})`,
|
|
234
357
|
});
|
|
235
358
|
action = "created";
|
|
236
359
|
console.log(`✓ Secret created: ${secretArn}`);
|
|
@@ -243,31 +366,12 @@ async function syncSecretsToAWS(options = {}) {
|
|
|
243
366
|
});
|
|
244
367
|
// Step 6: Update XDG configuration with secret ARN
|
|
245
368
|
console.log("Updating XDG configuration with secret ARN...");
|
|
246
|
-
//
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
// Create new derived config if it doesn't exist
|
|
253
|
-
derivedConfig = {
|
|
254
|
-
_metadata: {
|
|
255
|
-
source: "sync-secrets",
|
|
256
|
-
savedAt: new Date().toISOString(),
|
|
257
|
-
version: "0.6.0",
|
|
258
|
-
},
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
// Update secret ARN
|
|
262
|
-
derivedConfig.benchlingSecretArn = secretArn;
|
|
263
|
-
// Update metadata
|
|
264
|
-
derivedConfig._metadata = {
|
|
265
|
-
...derivedConfig._metadata,
|
|
266
|
-
savedAt: new Date().toISOString(),
|
|
267
|
-
source: "sync-secrets",
|
|
268
|
-
};
|
|
269
|
-
// Write updated derived config
|
|
270
|
-
xdgConfig.writeProfileConfig("derived", derivedConfig, profile);
|
|
369
|
+
// Update config with secret ARN
|
|
370
|
+
config.benchling.secretArn = secretArn;
|
|
371
|
+
config._metadata.updatedAt = new Date().toISOString();
|
|
372
|
+
config._metadata.source = "cli";
|
|
373
|
+
// Write updated config
|
|
374
|
+
xdgConfig.writeProfile(profile, config);
|
|
271
375
|
console.log("✓ XDG configuration updated with secret ARN");
|
|
272
376
|
return results;
|
|
273
377
|
}
|
|
@@ -281,14 +385,14 @@ async function getSecretsFromAWS(options) {
|
|
|
281
385
|
const { profile = "default", awsProfile, region = "us-east-1" } = options;
|
|
282
386
|
// Load configuration
|
|
283
387
|
const xdgConfig = new xdg_config_1.XDGConfig();
|
|
284
|
-
const
|
|
285
|
-
if (!
|
|
388
|
+
const config = xdgConfig.readProfile(profile);
|
|
389
|
+
if (!config.benchling.secretArn) {
|
|
286
390
|
throw new Error("No secret ARN found in configuration. Run sync-secrets first.");
|
|
287
391
|
}
|
|
288
392
|
// Initialize Secrets Manager client
|
|
289
393
|
const client = await getSecretsManagerClient(region, awsProfile);
|
|
290
394
|
// Retrieve secret
|
|
291
|
-
const secretValue = await getSecret(client,
|
|
395
|
+
const secretValue = await getSecret(client, config.benchling.secretArn);
|
|
292
396
|
// Parse and return
|
|
293
397
|
return JSON.parse(secretValue);
|
|
294
398
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-secrets.js","sourceRoot":"","sources":["../../../bin/commands/sync-secrets.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiTH,4CA4GC;AAQD,8CAuBC;AAQD,sDAYC;AA9cD,4EAOyC;AACzC,qDAAiD;AAGjD,qDAA6D;AAgC7D;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CAAC,MAAc,EAAE,UAAmB;IACtE,MAAM,YAAY,GAAoE,EAAE,MAAM,EAAE,CAAC;IAEjG,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,OAAO,EAAE,GAAG,wDAAa,+BAA+B,GAAC,CAAC;QAClE,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,6CAAoB,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,MAA4B,EAAE,UAAkB;IACxE,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,8CAAqB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,kDAAyB,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,MAA4B,EAAE,YAA0B;IAChF,MAAM,OAAO,GAAG,IAAI,4CAAmB,CAAC;QACpC,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,YAAY,EAAE,YAAY,CAAC,KAAK;QAChC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,IAAI,EAAE;YACF,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE;YAChD,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;SACrC;KACJ,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,MAA4B,EAAE,YAA0B;IAChF,MAAM,OAAO,GAAG,IAAI,4CAAmB,CAAC;QACpC,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,YAAY,EAAE,YAAY,CAAC,KAAK;QAChC,WAAW,EAAE,YAAY,CAAC,WAAW;KACxC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,SAAS,CAAC,MAA4B,EAAE,UAAkB;IACrE,MAAM,OAAO,GAAG,IAAI,8CAAqB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,KAAyB,EAAE,UAAkB,EAAE,SAAkB;IAC1F,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,YAAoB,EAAE,UAAkB;IAChE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,wBAAwB,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAiC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,2BAA4B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAAgC;IACzD,MAAM,UAAU,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAErD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,wBAAwB,CACnC,MAA4B,EAC5B,MAAqB,EACrB,UAAkB;IAElB,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,WAAW,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3F,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE7B,IAAI,SAA4B,CAAC;IAEjC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QAED,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,SAAS,GAAG,IAAI,KAAK,CAAC,UAAU,UAAU,yCAAyC,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,kDAAyB,EAAE,CAAC;gBAC7C,sBAAsB;gBACtB,SAAS;YACb,CAAC;YAED,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,KAAK,CACX,4HAA4H;QACxH,4HAA4H,CACnI,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAqB,EAAE,YAAoB;IACjE,0EAA0E;IAC1E,MAAM,UAAU,GAAG;QACf,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;QACpC,aAAa,EAAE,YAAY;QAC3B,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe;QACnD,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QACnC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAClC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;QACpC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM;QAC1C,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,IAAI,EAAE;QAC3D,2BAA2B,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;KAChG,CAAC;IAEF,sBAAsB;IACtB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAC,UAA8B,EAAE;IACnE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzG,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,KAAK,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAElC,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACD,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iCAAkC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,gDAAgD,MAAM,MAAM,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEjE,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAA,4BAAkB,EAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;IAE1C,6BAA6B;IAC7B,IAAI,iBAAyB,CAAC;IAC9B,IAAI,CAAC;QACD,iBAAiB,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA+C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,iCAAiC;IACjC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEtD,IAAI,SAAiB,CAAC;IACtB,IAAI,MAAyC,CAAC;IAE9C,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,6BAA6B,UAAU,KAAK,CAAC,CAAC;YAC1D,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;gBACnC,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,uCAAuC,MAAM,CAAC,SAAS,CAAC,MAAM,cAAc,OAAO,GAAG;aACtG,CAAC,CAAC;YACH,MAAM,GAAG,SAAS,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAErD,0BAA0B;YAC1B,MAAM,eAAe,GAAG,IAAI,8CAAqB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5E,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5D,SAAS,GAAG,gBAAgB,CAAC,GAAG,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,KAAK,CAAC,CAAC;QACrD,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YACnC,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,uCAAuC,MAAM,CAAC,SAAS,CAAC,MAAM,cAAc,OAAO,GAAG;SACtG,CAAC,CAAC;QACH,MAAM,GAAG,SAAS,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;QACT,UAAU;QACV,SAAS;QACT,MAAM;QACN,OAAO,EAAE,UAAU,MAAM,eAAe;KAC3C,CAAC,CAAC;IAEH,mDAAmD;IACnD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAE7D,gCAAgC;IAChC,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;IAEhC,uBAAuB;IACvB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAIvC;IACG,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IAE1E,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACrF,CAAC;IAED,oCAAoC;IACpC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEjE,kBAAkB;IAClB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAExE,mBAAmB;IACnB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,qBAAqB,CAAC,OAI3C;IACG,IAAI,CAAC;QACD,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,+BAA+B;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACpB,OAAO,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,GAAG,UAAU,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACxD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5D,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAE/E,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEhD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAEhE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEjD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAEpD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAErD,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,YAAY,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,gCAAgC;AAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../bin/commands/validate.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../bin/commands/validate.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,aAAa,EACrB,MAAM,wBAAwB,CAAC;AAKhC,wBAAsB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoInG"}
|
|
@@ -21,18 +21,8 @@ async function validateCommand(options) {
|
|
|
21
21
|
const spinner = (0, ora_1.default)("Loading configuration...").start();
|
|
22
22
|
let config = (0, config_1.loadConfigSync)(options);
|
|
23
23
|
spinner.succeed(`Configuration loaded from: ${options.envFile || ".env"}`);
|
|
24
|
-
// 2.
|
|
25
|
-
|
|
26
|
-
spinner.start("Inferring additional configuration from catalog...");
|
|
27
|
-
const inferenceResult = await (0, benchling_webhook_1.inferConfiguration)(config.quiltCatalog);
|
|
28
|
-
if (inferenceResult.success) {
|
|
29
|
-
config = (0, config_1.mergeInferredConfig)(config, inferenceResult.inferredVars);
|
|
30
|
-
spinner.succeed("Configuration inferred from catalog");
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
spinner.warn(`Could not infer configuration: ${inferenceResult.error}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
24
|
+
// 2. Inference is deprecated in secrets-only mode (v0.6.0+)
|
|
25
|
+
// Configuration is now stored in AWS Secrets Manager and CloudFormation parameters
|
|
36
26
|
// 3. Validate
|
|
37
27
|
spinner.start("Validating configuration...");
|
|
38
28
|
const validation = (0, config_1.validateConfig)(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../bin/commands/validate.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../bin/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,15 @@ import * as apigateway from "aws-cdk-lib/aws-apigateway";
|
|
|
2
2
|
import * as logs from "aws-cdk-lib/aws-logs";
|
|
3
3
|
import * as elbv2 from "aws-cdk-lib/aws-elasticloadbalancingv2";
|
|
4
4
|
import { Construct } from "constructs";
|
|
5
|
+
import { ProfileConfig } from "./types/config";
|
|
6
|
+
/**
|
|
7
|
+
* Properties for AlbApiGateway construct (v0.7.0+)
|
|
8
|
+
*
|
|
9
|
+
* Uses ProfileConfig to access security settings like webhook allow list.
|
|
10
|
+
*/
|
|
5
11
|
export interface AlbApiGatewayProps {
|
|
6
12
|
readonly loadBalancer: elbv2.ApplicationLoadBalancer;
|
|
7
|
-
readonly
|
|
13
|
+
readonly config: ProfileConfig;
|
|
8
14
|
}
|
|
9
15
|
export declare class AlbApiGateway {
|
|
10
16
|
readonly api: apigateway.RestApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alb-api-gateway.d.ts","sourceRoot":"","sources":["../../lib/alb-api-gateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,wCAAwC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"alb-api-gateway.d.ts","sourceRoot":"","sources":["../../lib/alb-api-gateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,wCAAwC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,uBAAuB,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAClC;AAED,qBAAa,aAAa;IACtB,SAAgB,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;IACxC,SAAgB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;gBAGrC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,kBAAkB;IA0E7B,OAAO,CAAC,oBAAoB;IAwC5B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,mBAAmB;CAqE9B"}
|
|
@@ -40,23 +40,26 @@ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
|
40
40
|
const logs = __importStar(require("aws-cdk-lib/aws-logs"));
|
|
41
41
|
class AlbApiGateway {
|
|
42
42
|
constructor(scope, id, props) {
|
|
43
|
+
const { config } = props;
|
|
43
44
|
this.logGroup = new logs.LogGroup(scope, "ApiGatewayAccessLogs", {
|
|
44
45
|
logGroupName: "/aws/apigateway/benchling-webhook",
|
|
45
46
|
retention: logs.RetentionDays.ONE_WEEK,
|
|
46
47
|
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
47
48
|
});
|
|
48
49
|
this.createCloudWatchRole(scope);
|
|
50
|
+
// Get webhook allow list from config
|
|
51
|
+
const webhookAllowList = config.security?.webhookAllowList || "";
|
|
49
52
|
// Parse IP allowlist for resource policy
|
|
50
53
|
let allowedIps = undefined;
|
|
51
|
-
if (
|
|
52
|
-
if (cdk.Token.isUnresolved(
|
|
54
|
+
if (webhookAllowList) {
|
|
55
|
+
if (cdk.Token.isUnresolved(webhookAllowList)) {
|
|
53
56
|
// For CDK tokens (parameters), we can't evaluate at synth time
|
|
54
57
|
// Split and let CloudFormation handle it
|
|
55
|
-
allowedIps = cdk.Fn.split(",",
|
|
58
|
+
allowedIps = cdk.Fn.split(",", webhookAllowList);
|
|
56
59
|
}
|
|
57
|
-
else if (
|
|
60
|
+
else if (webhookAllowList.trim() !== "") {
|
|
58
61
|
// For concrete values, parse and filter
|
|
59
|
-
const parsed =
|
|
62
|
+
const parsed = webhookAllowList
|
|
60
63
|
.split(",")
|
|
61
64
|
.map(ip => ip.trim())
|
|
62
65
|
.filter(ip => ip.length > 0);
|
|
@@ -67,7 +70,7 @@ class AlbApiGateway {
|
|
|
67
70
|
}
|
|
68
71
|
// Create resource policy for IP filtering at the edge
|
|
69
72
|
// Only create policy if we have IPs and they're not from an empty parameter
|
|
70
|
-
const policyDocument = this.createResourcePolicy(allowedIps,
|
|
73
|
+
const policyDocument = this.createResourcePolicy(allowedIps, webhookAllowList);
|
|
71
74
|
this.api = new apigateway.RestApi(scope, "BenchlingWebhookAPI", {
|
|
72
75
|
restApiName: "BenchlingWebhookAPI",
|
|
73
76
|
policy: policyDocument,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alb-api-gateway.js","sourceRoot":"","sources":["../../lib/alb-api-gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,uEAAyD;AACzD,yDAA2C;AAC3C,2DAA6C;
|
|
1
|
+
{"version":3,"file":"alb-api-gateway.js","sourceRoot":"","sources":["../../lib/alb-api-gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import * as cdk from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
|
+
import { ProfileConfig } from "./types/config";
|
|
4
|
+
/**
|
|
5
|
+
* Stack properties for BenchlingWebhookStack (v0.7.0+)
|
|
6
|
+
*
|
|
7
|
+
* Configuration is provided via ProfileConfig interface, which contains
|
|
8
|
+
* all necessary settings for deployment in a structured format.
|
|
9
|
+
*/
|
|
3
10
|
export interface BenchlingWebhookStackProps extends cdk.StackProps {
|
|
4
11
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Format: arn:aws:cloudformation:{region}:{account}:stack/{name}/{id}
|
|
8
|
-
* REQUIRED.
|
|
12
|
+
* Profile configuration containing all deployment settings
|
|
13
|
+
* This replaces the previous secrets-only mode parameters.
|
|
9
14
|
*/
|
|
10
|
-
readonly
|
|
15
|
+
readonly config: ProfileConfig;
|
|
11
16
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
17
|
+
* Whether to create a new ECR repository
|
|
18
|
+
* If false, uses existing repository specified in config.deployment.ecrRepository
|
|
19
|
+
* @default false
|
|
15
20
|
*/
|
|
16
|
-
readonly benchlingSecret: string;
|
|
17
21
|
readonly createEcrRepository?: boolean;
|
|
18
|
-
readonly ecrRepositoryName?: string;
|
|
19
|
-
readonly logLevel?: string;
|
|
20
|
-
readonly imageTag?: string;
|
|
21
22
|
}
|
|
22
23
|
export declare class BenchlingWebhookStack extends cdk.Stack {
|
|
23
24
|
private readonly bucket;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;;;;GAKG;AACH,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAC9D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CA4JxC"}
|