@quiltdata/benchling-webhook 0.7.10 → 0.8.0-20251118T003132Z
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 +1 -0
- package/dist/bin/benchling-webhook.d.ts.map +1 -1
- package/dist/bin/benchling-webhook.js +14 -0
- package/dist/bin/benchling-webhook.js.map +1 -1
- package/dist/bin/cli.js +8 -5
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/commands/config-profiles.d.ts.map +1 -1
- package/dist/bin/commands/config-profiles.js +7 -0
- package/dist/bin/commands/config-profiles.js.map +1 -1
- package/dist/bin/commands/deploy.d.ts.map +1 -1
- package/dist/bin/commands/deploy.js +90 -8
- package/dist/bin/commands/deploy.js.map +1 -1
- package/dist/bin/commands/health-check.d.ts.map +1 -1
- package/dist/bin/commands/health-check.js +2 -35
- package/dist/bin/commands/health-check.js.map +1 -1
- package/dist/bin/commands/infer-quilt-config.d.ts +6 -0
- package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -1
- package/dist/bin/commands/infer-quilt-config.js +50 -2
- 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 +10 -2
- package/dist/bin/commands/install.js.map +1 -1
- package/dist/bin/commands/manifest.d.ts.map +1 -1
- package/dist/bin/commands/manifest.js +2 -3
- package/dist/bin/commands/manifest.js.map +1 -1
- package/dist/bin/commands/setup-profile.d.ts.map +1 -1
- package/dist/bin/commands/setup-profile.js +5 -0
- package/dist/bin/commands/setup-profile.js.map +1 -1
- package/dist/bin/commands/setup-wizard.d.ts +2 -0
- package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
- package/dist/bin/commands/setup-wizard.js +3 -1
- package/dist/bin/commands/setup-wizard.js.map +1 -1
- package/dist/bin/commands/status.d.ts +2 -0
- package/dist/bin/commands/status.d.ts.map +1 -1
- package/dist/bin/commands/status.js +44 -13
- package/dist/bin/commands/status.js.map +1 -1
- package/dist/bin/commands/sync-secrets.d.ts.map +1 -1
- package/dist/bin/commands/sync-secrets.js +2 -35
- package/dist/bin/commands/sync-secrets.js.map +1 -1
- package/dist/bin/commands/validate.js +1 -1
- package/dist/bin/commands/validate.js.map +1 -1
- package/dist/bin/xdg-launch.d.ts +74 -0
- package/dist/bin/xdg-launch.d.ts.map +1 -0
- package/dist/bin/xdg-launch.js +588 -0
- package/dist/bin/xdg-launch.js.map +1 -0
- package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
- package/dist/lib/benchling-webhook-stack.js +57 -7
- package/dist/lib/benchling-webhook-stack.js.map +1 -1
- package/dist/lib/fargate-service.d.ts +24 -4
- package/dist/lib/fargate-service.d.ts.map +1 -1
- package/dist/lib/fargate-service.js +75 -27
- package/dist/lib/fargate-service.js.map +1 -1
- package/dist/lib/types/config.d.ts +261 -6
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/config.js +20 -2
- package/dist/lib/types/config.js.map +1 -1
- package/dist/lib/utils/service-resolver.d.ts +155 -0
- package/dist/lib/utils/service-resolver.d.ts.map +1 -0
- package/dist/lib/utils/service-resolver.js +195 -0
- package/dist/lib/utils/service-resolver.js.map +1 -0
- package/dist/lib/utils/stack-inference.d.ts +58 -0
- package/dist/lib/utils/stack-inference.d.ts.map +1 -1
- package/dist/lib/utils/stack-inference.js +76 -2
- package/dist/lib/utils/stack-inference.js.map +1 -1
- package/dist/lib/wizard/phase2-stack-query.d.ts +4 -2
- package/dist/lib/wizard/phase2-stack-query.d.ts.map +1 -1
- package/dist/lib/wizard/phase2-stack-query.js +93 -10
- package/dist/lib/wizard/phase2-stack-query.js.map +1 -1
- package/dist/lib/wizard/phase4-validation.d.ts.map +1 -1
- package/dist/lib/wizard/phase4-validation.js +3 -4
- package/dist/lib/wizard/phase4-validation.js.map +1 -1
- package/dist/lib/wizard/phase6-integrated-mode.d.ts.map +1 -1
- package/dist/lib/wizard/phase6-integrated-mode.js +26 -0
- package/dist/lib/wizard/phase6-integrated-mode.js.map +1 -1
- package/dist/lib/wizard/phase7-standalone-mode.d.ts.map +1 -1
- package/dist/lib/wizard/phase7-standalone-mode.js +31 -10
- package/dist/lib/wizard/phase7-standalone-mode.js.map +1 -1
- package/dist/lib/wizard/types.d.ts +23 -1
- package/dist/lib/wizard/types.d.ts.map +1 -1
- package/dist/lib/xdg-base.d.ts.map +1 -1
- package/dist/lib/xdg-base.js +4 -2
- package/dist/lib/xdg-base.js.map +1 -1
- package/dist/package.json +16 -7
- package/package.json +16 -7
- package/dist/lib/utils/config-loader.d.ts +0 -48
- package/dist/lib/utils/config-loader.d.ts.map +0 -1
- package/dist/lib/utils/config-loader.js +0 -110
- package/dist/lib/utils/config-loader.js.map +0 -1
- package/dist/lib/utils/config-resolver.d.ts +0 -138
- package/dist/lib/utils/config-resolver.d.ts.map +0 -1
- package/dist/lib/utils/config-resolver.js +0 -279
- package/dist/lib/utils/config-resolver.js.map +0 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Service Resolver for Deployment-Time Configuration
|
|
4
|
+
*
|
|
5
|
+
* Resolves Quilt service endpoints from CloudFormation stack outputs at deployment time.
|
|
6
|
+
* These values are then passed as explicit environment variables to the container,
|
|
7
|
+
* eliminating the need for runtime CloudFormation API calls.
|
|
8
|
+
*
|
|
9
|
+
* **Breaking Change (v1.0.0)**: Replaces runtime config-resolver with deployment-time resolution.
|
|
10
|
+
*
|
|
11
|
+
* @module utils/service-resolver
|
|
12
|
+
* @version 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ServiceResolverError = void 0;
|
|
16
|
+
exports.parseStackArn = parseStackArn;
|
|
17
|
+
exports.normalizeCatalogUrl = normalizeCatalogUrl;
|
|
18
|
+
exports.validateQueueUrl = validateQueueUrl;
|
|
19
|
+
exports.resolveQuiltServices = resolveQuiltServices;
|
|
20
|
+
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
21
|
+
/**
|
|
22
|
+
* Custom error for service resolution failures
|
|
23
|
+
*/
|
|
24
|
+
class ServiceResolverError extends Error {
|
|
25
|
+
constructor(message, suggestion, details) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.suggestion = suggestion;
|
|
28
|
+
this.details = details;
|
|
29
|
+
this.name = "ServiceResolverError";
|
|
30
|
+
if (Error.captureStackTrace) {
|
|
31
|
+
Error.captureStackTrace(this, ServiceResolverError);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
format() {
|
|
35
|
+
let output = `❌ Service Resolution Error: ${this.message}`;
|
|
36
|
+
if (this.suggestion) {
|
|
37
|
+
output += `\n 💡 ${this.suggestion}`;
|
|
38
|
+
}
|
|
39
|
+
if (this.details) {
|
|
40
|
+
output += `\n 📝 ${this.details}`;
|
|
41
|
+
}
|
|
42
|
+
return output;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ServiceResolverError = ServiceResolverError;
|
|
46
|
+
/**
|
|
47
|
+
* Parse CloudFormation stack ARN into components
|
|
48
|
+
*
|
|
49
|
+
* @param arn - CloudFormation stack ARN
|
|
50
|
+
* @returns Parsed ARN components
|
|
51
|
+
* @throws ServiceResolverError if ARN is invalid
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* parseStackArn('arn:aws:cloudformation:us-east-1:123456789012:stack/QuiltStack/abc-123')
|
|
55
|
+
* // Returns: { region: 'us-east-1', account: '123456789012', stackName: 'QuiltStack', stackId: 'abc-123' }
|
|
56
|
+
*/
|
|
57
|
+
function parseStackArn(arn) {
|
|
58
|
+
const pattern = /^arn:aws:cloudformation:([a-z0-9-]+):(\d{12}):stack\/([^/]+)\/(.+)$/;
|
|
59
|
+
const match = arn.match(pattern);
|
|
60
|
+
if (!match) {
|
|
61
|
+
throw new ServiceResolverError(`Invalid CloudFormation stack ARN format: ${arn}`, "Stack ARN should match pattern: arn:aws:cloudformation:REGION:ACCOUNT:stack/STACK_NAME/STACK_ID");
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
region: match[1],
|
|
65
|
+
account: match[2],
|
|
66
|
+
stackName: match[3],
|
|
67
|
+
stackId: match[4],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Normalize catalog URL to hostname only
|
|
72
|
+
*
|
|
73
|
+
* Removes protocol prefix (http:// or https://) and trailing slashes.
|
|
74
|
+
*
|
|
75
|
+
* @param url - Catalog URL or hostname
|
|
76
|
+
* @returns Normalized hostname
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* normalizeCatalogUrl('https://quilt.example.com/') // Returns: 'quilt.example.com'
|
|
80
|
+
* normalizeCatalogUrl('quilt.example.com') // Returns: 'quilt.example.com'
|
|
81
|
+
*/
|
|
82
|
+
function normalizeCatalogUrl(url) {
|
|
83
|
+
return url.replace(/^https?:\/\//, "").replace(/\/$/, "");
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Validate SQS queue URL format
|
|
87
|
+
*
|
|
88
|
+
* @param url - SQS queue URL
|
|
89
|
+
* @returns true if valid
|
|
90
|
+
* @throws ServiceResolverError if invalid
|
|
91
|
+
*/
|
|
92
|
+
function validateQueueUrl(url) {
|
|
93
|
+
const pattern = /^https:\/\/sqs\.[a-z0-9-]+\.amazonaws\.com\/\d{12}\/.+$/;
|
|
94
|
+
if (!pattern.test(url)) {
|
|
95
|
+
throw new ServiceResolverError(`Invalid SQS queue URL format: ${url}`, "Queue URL should match pattern: https://sqs.REGION.amazonaws.com/ACCOUNT/QUEUE_NAME");
|
|
96
|
+
}
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Resolve Quilt service endpoints from CloudFormation stack outputs
|
|
101
|
+
*
|
|
102
|
+
* Queries the CloudFormation stack at deployment time to extract service endpoints.
|
|
103
|
+
* These are then passed as explicit environment variables to the container.
|
|
104
|
+
*
|
|
105
|
+
* **Required Stack Outputs**:
|
|
106
|
+
* - `PackagerQueueUrl`: SQS queue URL for package creation
|
|
107
|
+
* - `UserAthenaDatabaseName`: Athena database name for catalog
|
|
108
|
+
* - `QuiltWebHost`: Quilt catalog web host (e.g., catalog.example.com)
|
|
109
|
+
*
|
|
110
|
+
* **Optional Stack Outputs**:
|
|
111
|
+
* - `IcebergDatabase`: Iceberg database name (if available)
|
|
112
|
+
* - `UserAthenaWorkgroupName`: Athena workgroup for user queries
|
|
113
|
+
* - `AthenaResultsBucketName`: S3 bucket for Athena query results
|
|
114
|
+
* - `IcebergWorkgroupName`: Iceberg workgroup name
|
|
115
|
+
*
|
|
116
|
+
* @param options - Service resolver options
|
|
117
|
+
* @returns Resolved service endpoints
|
|
118
|
+
* @throws ServiceResolverError if required outputs are missing or invalid
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* const services = await resolveQuiltServices({
|
|
122
|
+
* stackArn: 'arn:aws:cloudformation:us-east-1:123:stack/QuiltStack/id'
|
|
123
|
+
* });
|
|
124
|
+
* // Returns:
|
|
125
|
+
* // {
|
|
126
|
+
* // packagerQueueUrl: 'https://sqs.us-east-1.amazonaws.com/123/quilt-queue',
|
|
127
|
+
* // athenaUserDatabase: 'quilt_catalog',
|
|
128
|
+
* // quiltWebHost: 'quilt.example.com',
|
|
129
|
+
* // icebergDatabase: 'quilt_iceberg' (optional),
|
|
130
|
+
* // athenaUserWorkgroup: 'quilt-user-workgroup' (optional),
|
|
131
|
+
* // athenaResultsBucket: 'aws-athena-query-results-...' (optional),
|
|
132
|
+
* // icebergWorkgroup: 'quilt-iceberg-workgroup' (optional)
|
|
133
|
+
* // }
|
|
134
|
+
*/
|
|
135
|
+
async function resolveQuiltServices(options) {
|
|
136
|
+
// Step 1: Parse stack ARN
|
|
137
|
+
const parsed = parseStackArn(options.stackArn);
|
|
138
|
+
// Step 2: Create CloudFormation client
|
|
139
|
+
const cfnClient = options.mockCloudFormation ||
|
|
140
|
+
new client_cloudformation_1.CloudFormationClient({ region: parsed.region });
|
|
141
|
+
// Step 3: Query stack outputs
|
|
142
|
+
const command = new client_cloudformation_1.DescribeStacksCommand({
|
|
143
|
+
StackName: options.stackArn,
|
|
144
|
+
});
|
|
145
|
+
let response;
|
|
146
|
+
try {
|
|
147
|
+
response = await cfnClient.send(command);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
throw new ServiceResolverError(`Failed to describe CloudFormation stack: ${options.stackArn}`, "Verify the stack ARN is correct and your AWS credentials have cloudformation:DescribeStacks permission", error instanceof Error ? error.message : String(error));
|
|
151
|
+
}
|
|
152
|
+
if (!response.Stacks || response.Stacks.length === 0) {
|
|
153
|
+
throw new ServiceResolverError(`CloudFormation stack not found: ${options.stackArn}`, "Verify the stack exists and has not been deleted");
|
|
154
|
+
}
|
|
155
|
+
const stack = response.Stacks[0];
|
|
156
|
+
const outputs = {};
|
|
157
|
+
if (stack.Outputs) {
|
|
158
|
+
for (const output of stack.Outputs) {
|
|
159
|
+
if (output.OutputKey && output.OutputValue) {
|
|
160
|
+
outputs[output.OutputKey] = output.OutputValue;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Step 4: Extract and validate required services
|
|
165
|
+
const packagerQueueUrl = outputs.PackagerQueueUrl;
|
|
166
|
+
if (!packagerQueueUrl) {
|
|
167
|
+
throw new ServiceResolverError("Required stack output 'PackagerQueueUrl' not found", "Verify the Quilt CloudFormation stack includes PackagerQueueUrl output", `Available outputs: ${Object.keys(outputs).join(", ")}`);
|
|
168
|
+
}
|
|
169
|
+
validateQueueUrl(packagerQueueUrl);
|
|
170
|
+
const athenaUserDatabase = outputs.UserAthenaDatabaseName;
|
|
171
|
+
if (!athenaUserDatabase) {
|
|
172
|
+
throw new ServiceResolverError("Required stack output 'UserAthenaDatabaseName' not found", "Verify the Quilt CloudFormation stack includes UserAthenaDatabaseName output", `Available outputs: ${Object.keys(outputs).join(", ")}`);
|
|
173
|
+
}
|
|
174
|
+
// Step 5: Resolve catalog URL from QuiltWebHost output
|
|
175
|
+
if (!outputs.QuiltWebHost) {
|
|
176
|
+
throw new ServiceResolverError("No QuiltWebHost output found", "Quilt stack must provide QuiltWebHost output", `Available outputs: ${Object.keys(outputs).join(", ")}`);
|
|
177
|
+
}
|
|
178
|
+
const quiltWebHost = normalizeCatalogUrl(outputs.QuiltWebHost);
|
|
179
|
+
// Step 6: Extract optional Iceberg database
|
|
180
|
+
const icebergDatabase = outputs.IcebergDatabase;
|
|
181
|
+
// Step 7: Extract optional Athena resources (NEW - from Quilt stack discovery)
|
|
182
|
+
const athenaUserWorkgroup = outputs.UserAthenaWorkgroupName;
|
|
183
|
+
const athenaResultsBucket = outputs.AthenaResultsBucketName;
|
|
184
|
+
const icebergWorkgroup = outputs.IcebergWorkgroupName;
|
|
185
|
+
return {
|
|
186
|
+
packagerQueueUrl,
|
|
187
|
+
athenaUserDatabase,
|
|
188
|
+
quiltWebHost,
|
|
189
|
+
...(icebergDatabase && { icebergDatabase }),
|
|
190
|
+
...(athenaUserWorkgroup && { athenaUserWorkgroup }),
|
|
191
|
+
...(athenaResultsBucket && { athenaResultsBucket }),
|
|
192
|
+
...(icebergWorkgroup && { icebergWorkgroup }),
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=service-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-resolver.js","sourceRoot":"","sources":["../../../lib/utils/service-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,64 @@ export interface StackSummary {
|
|
|
32
32
|
CreationTime: string;
|
|
33
33
|
LastUpdatedTime?: string;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Stack resource metadata
|
|
37
|
+
*
|
|
38
|
+
* Maps logical resource ID to physical resource information
|
|
39
|
+
*/
|
|
40
|
+
export interface StackResourceMap {
|
|
41
|
+
[logicalId: string]: {
|
|
42
|
+
physicalResourceId: string;
|
|
43
|
+
resourceType: string;
|
|
44
|
+
resourceStatus: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Discovered Quilt resources from stack
|
|
49
|
+
*
|
|
50
|
+
* Target resources:
|
|
51
|
+
* - UserAthenaNonManagedRoleWorkgroup (AWS::Athena::WorkGroup)
|
|
52
|
+
* - UserAthenaNonManagedRolePolicy (AWS::IAM::Policy)
|
|
53
|
+
* - IcebergWorkGroup (AWS::Athena::WorkGroup)
|
|
54
|
+
* - IcebergDatabase (AWS::Glue::Database)
|
|
55
|
+
* - UserAthenaResultsBucket (AWS::S3::Bucket)
|
|
56
|
+
* - UserAthenaResultsBucketPolicy (AWS::S3::BucketPolicy)
|
|
57
|
+
*/
|
|
58
|
+
export interface DiscoveredQuiltResources {
|
|
59
|
+
athenaUserWorkgroup?: string;
|
|
60
|
+
athenaUserPolicy?: string;
|
|
61
|
+
icebergWorkgroup?: string;
|
|
62
|
+
icebergDatabase?: string;
|
|
63
|
+
athenaResultsBucket?: string;
|
|
64
|
+
athenaResultsBucketPolicy?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get stack resources (physical resource IDs)
|
|
68
|
+
*
|
|
69
|
+
* Unlike outputs (which are user-defined exports), resources are the actual
|
|
70
|
+
* AWS resources created by the stack.
|
|
71
|
+
*
|
|
72
|
+
* @param region AWS region
|
|
73
|
+
* @param stackName CloudFormation stack name or ARN
|
|
74
|
+
* @param awsProvider Optional AWS provider for testing
|
|
75
|
+
* @returns Stack resources with logical and physical IDs
|
|
76
|
+
*/
|
|
77
|
+
export declare function getStackResources(region: string, stackName: string, _awsProvider?: IAwsProvider): Promise<StackResourceMap>;
|
|
78
|
+
/**
|
|
79
|
+
* Extract Athena workgroups, IAM policies, Glue databases, and S3 buckets from stack resources
|
|
80
|
+
*
|
|
81
|
+
* Target resources:
|
|
82
|
+
* - UserAthenaNonManagedRoleWorkgroup (AWS::Athena::WorkGroup)
|
|
83
|
+
* - UserAthenaNonManagedRolePolicy (AWS::IAM::Policy)
|
|
84
|
+
* - IcebergWorkGroup (AWS::Athena::WorkGroup)
|
|
85
|
+
* - IcebergDatabase (AWS::Glue::Database)
|
|
86
|
+
* - UserAthenaResultsBucket (AWS::S3::Bucket)
|
|
87
|
+
* - UserAthenaResultsBucket Policy (AWS::S3::BucketPolicy)
|
|
88
|
+
*
|
|
89
|
+
* @param resources Stack resource map from getStackResources
|
|
90
|
+
* @returns Discovered Quilt resources
|
|
91
|
+
*/
|
|
92
|
+
export declare function extractQuiltResources(resources: StackResourceMap): DiscoveredQuiltResources;
|
|
35
93
|
/**
|
|
36
94
|
* Fetch JSON from a URL using native Node.js modules
|
|
37
95
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-inference.d.ts","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"stack-inference.d.ts","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
37
37
|
};
|
|
38
38
|
})();
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.getStackResources = getStackResources;
|
|
41
|
+
exports.extractQuiltResources = extractQuiltResources;
|
|
40
42
|
exports.fetchJson = fetchJson;
|
|
41
43
|
exports.findStackByResource = findStackByResource;
|
|
42
44
|
exports.getStackDetails = getStackDetails;
|
|
@@ -49,15 +51,87 @@ exports.findAllQuiltStacks = findAllQuiltStacks;
|
|
|
49
51
|
exports.buildInferredConfig = buildInferredConfig;
|
|
50
52
|
exports.inferStackConfig = inferStackConfig;
|
|
51
53
|
const child_process_1 = require("child_process");
|
|
54
|
+
const https = __importStar(require("https"));
|
|
55
|
+
const http = __importStar(require("http"));
|
|
56
|
+
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
52
57
|
const sqs_1 = require("./sqs");
|
|
53
58
|
const exec_sync_aws_provider_1 = require("../providers/exec-sync-aws-provider");
|
|
54
59
|
const node_http_client_1 = require("../providers/node-http-client");
|
|
60
|
+
/**
|
|
61
|
+
* Get stack resources (physical resource IDs)
|
|
62
|
+
*
|
|
63
|
+
* Unlike outputs (which are user-defined exports), resources are the actual
|
|
64
|
+
* AWS resources created by the stack.
|
|
65
|
+
*
|
|
66
|
+
* @param region AWS region
|
|
67
|
+
* @param stackName CloudFormation stack name or ARN
|
|
68
|
+
* @param awsProvider Optional AWS provider for testing
|
|
69
|
+
* @returns Stack resources with logical and physical IDs
|
|
70
|
+
*/
|
|
71
|
+
async function getStackResources(region, stackName, _awsProvider) {
|
|
72
|
+
// FAIL LOUDLY - don't swallow errors silently
|
|
73
|
+
const client = new client_cloudformation_1.CloudFormationClient({ region });
|
|
74
|
+
const resourceMap = {};
|
|
75
|
+
// Handle pagination to fetch all resources (not just first 100)
|
|
76
|
+
// Use ListStackResourcesCommand instead of DescribeStackResourcesCommand
|
|
77
|
+
// because DescribeStackResources only returns first 100 resources
|
|
78
|
+
let nextToken;
|
|
79
|
+
do {
|
|
80
|
+
const command = new client_cloudformation_1.ListStackResourcesCommand({
|
|
81
|
+
StackName: stackName,
|
|
82
|
+
...(nextToken && { NextToken: nextToken }),
|
|
83
|
+
});
|
|
84
|
+
const response = await client.send(command);
|
|
85
|
+
for (const resource of response.StackResourceSummaries || []) {
|
|
86
|
+
if (resource.LogicalResourceId && resource.PhysicalResourceId) {
|
|
87
|
+
resourceMap[resource.LogicalResourceId] = {
|
|
88
|
+
physicalResourceId: resource.PhysicalResourceId,
|
|
89
|
+
resourceType: resource.ResourceType || "Unknown",
|
|
90
|
+
resourceStatus: resource.ResourceStatus || "Unknown",
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
nextToken = response.NextToken;
|
|
95
|
+
} while (nextToken);
|
|
96
|
+
return resourceMap;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Extract Athena workgroups, IAM policies, Glue databases, and S3 buckets from stack resources
|
|
100
|
+
*
|
|
101
|
+
* Target resources:
|
|
102
|
+
* - UserAthenaNonManagedRoleWorkgroup (AWS::Athena::WorkGroup)
|
|
103
|
+
* - UserAthenaNonManagedRolePolicy (AWS::IAM::Policy)
|
|
104
|
+
* - IcebergWorkGroup (AWS::Athena::WorkGroup)
|
|
105
|
+
* - IcebergDatabase (AWS::Glue::Database)
|
|
106
|
+
* - UserAthenaResultsBucket (AWS::S3::Bucket)
|
|
107
|
+
* - UserAthenaResultsBucket Policy (AWS::S3::BucketPolicy)
|
|
108
|
+
*
|
|
109
|
+
* @param resources Stack resource map from getStackResources
|
|
110
|
+
* @returns Discovered Quilt resources
|
|
111
|
+
*/
|
|
112
|
+
function extractQuiltResources(resources) {
|
|
113
|
+
// Map logical resource IDs to discovered resource properties
|
|
114
|
+
const resourceMapping = {
|
|
115
|
+
UserAthenaNonManagedRoleWorkgroup: "athenaUserWorkgroup",
|
|
116
|
+
UserAthenaNonManagedRolePolicy: "athenaUserPolicy",
|
|
117
|
+
IcebergWorkGroup: "icebergWorkgroup",
|
|
118
|
+
IcebergDatabase: "icebergDatabase",
|
|
119
|
+
UserAthenaResultsBucket: "athenaResultsBucket",
|
|
120
|
+
UserAthenaResultsBucketPolicy: "athenaResultsBucketPolicy",
|
|
121
|
+
};
|
|
122
|
+
const discovered = {};
|
|
123
|
+
// Extract physical resource IDs for each target resource
|
|
124
|
+
for (const [logicalId, propertyName] of Object.entries(resourceMapping)) {
|
|
125
|
+
if (resources[logicalId]) {
|
|
126
|
+
discovered[propertyName] = resources[logicalId].physicalResourceId;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return discovered;
|
|
130
|
+
}
|
|
55
131
|
/**
|
|
56
132
|
* Fetch JSON from a URL using native Node.js modules
|
|
57
133
|
*/
|
|
58
134
|
async function fetchJson(url) {
|
|
59
|
-
const https = await Promise.resolve().then(() => __importStar(require("https")));
|
|
60
|
-
const http = await Promise.resolve().then(() => __importStar(require("http")));
|
|
61
135
|
return new Promise((resolve, reject) => {
|
|
62
136
|
const parsedUrl = new URL(url);
|
|
63
137
|
const client = parsedUrl.protocol === "https:" ? https : http;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-inference.js","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CH,8BAuCC;AAKD,kDAWC;AAKD,0CAsBC;AAKD,0CASC;AAKD,kDAGC;AAUD,8BA8BC;AAKD,sCAiBC;AAMD,oCAUC;AAMD,gDA0BC;AAKD,kDAuDC;AAgBD,4CAqJC;AAheD,iDAAyC;AACzC,+BAAmC;AAEnC,gFAA0E;AAC1E,oEAA+D;AAkC/D;;GAEG;AACI,KAAK,UAAU,SAAS,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,wDAAa,OAAO,GAAC,CAAC;IACpC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;IAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9D,MAAM,OAAO,GAAG;YACZ,OAAO,EAAE;gBACL,YAAY,EAAE,mCAAmC;gBACjD,MAAM,EAAE,kBAAkB;aAC7B;SACJ,CAAC;QAEF,MAAM;aACD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAClE,OAAO;YACX,CAAC;YAED,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC7B,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,KAAK,GAAG,CAAU,CAAC;oBACzB,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAc,EAAE,UAAkB;IAClE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,wBAAQ,EACnB,wDAAwD,MAAM,4BAA4B,UAAU,mEAAmE,EACvK,EAAE,QAAQ,EAAE,OAAO,EAAE,CACxB,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAc,EAAE,SAAiB;IAC7D,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,IAAA,wBAAQ,EAC1B,+CAA+C,MAAM,kBAAkB,SAAS,6CAA6C,EAC7H,EAAE,QAAQ,EAAE,OAAO,EAAE,CACxB,CAAC;QAEF,MAAM,YAAY,GAAG,IAAA,wBAAQ,EACzB,+CAA+C,MAAM,kBAAkB,SAAS,gDAAgD,EAChI,EAAE,QAAQ,EAAE,OAAO,EAAE,CACxB,CAAC;QAEF,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;YACxC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;SAC7C,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACT,yCAA0C,KAAe,CAAC,OAAO,EAAE,CACtE,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC3C,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC3B,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,2DAA2D,EAAE;YACjF,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAGD;;;;;;GAMG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAc,EACd,YAA2B,EAC3B,uBAA+C,IAAI,EACnD,OAAO,GAAG,IAAI;IAEd,+EAA+E;IAC/E,IAAI,WAAyB,CAAC;IAC9B,IAAI,WAAoB,CAAC;IAEzB,IAAI,OAAO,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC5C,WAAW,GAAG,IAAI,4CAAmB,EAAE,CAAC;QACxC,WAAW,GAAG,oBAAoB,CAAC;IACvC,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,oBAAoB,CAAC;QACnC,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,2BAA2B;IAC3B,IAAI,YAAY,EAAE,CAAC;QACf,IAAI,WAAW;YAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,YAAY,KAAK,CAAC,CAAC;QAChF,SAAS,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACxE,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAc;IACxC,MAAM,aAAa,GAAG;QAClB,iBAAiB;QACjB,iBAAiB;QACjB,0BAA0B;KAC7B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,wBAAQ,EACnB,2CAA2C,MAAM,0BAA0B,aAAa,yCAAyC,EACjI,EAAE,QAAQ,EAAE,OAAO,EAAE,CACxB,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAA0B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,MAAc,EAAE,SAAiB;IAC1D,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,wBAAQ,EACnB,+CAA+C,MAAM,kBAAkB,SAAS,mGAAmG,EACnL,EAAE,QAAQ,EAAE,OAAO,EAAE,CACxB,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,MAAc,EAAE,OAAO,GAAG,KAAK;IAC9D,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,YAAY,IAAI,SAAS,EAAE,CAAC;QACnC,IAAI,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,OAAO,EAAE,CAAC;gBACV,WAAW,CAAC,IAAI,CAAC;oBACb,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,OAAO,EAAE,OAAO,CAAC,OAAO;iBAC3B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAC/B,MAA0B,EAC1B,SAAwB,EACxB,YAA0B,EAC1B,MAAc,EACd,SAAwB,EACxB,aAAqB;IAErB,MAAM,IAAI,GAA2B,EAAE,CAAC;IAExC,yBAAyB;IACzB,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpD,oBAAoB;IACpB,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;IACjC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAEzB,sBAAsB;IACtB,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,uCAAuC;IACvC,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,wBAAwB,CAClD,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;IACrD,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACjB,oDAAoD;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,GAAG,OAAO,6CAA6C,CAAC;IAClF,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,kBAAkB,CAAC,CAAC;IAEzF,IAAI,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,IAAA,gBAAU,EAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAChF,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAE3D,OAAO,IAAI,CAAC;AAChB,CAAC;AAWD;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAClC,UAAkB,EAClB,mBAAsD,IAAI;IAE1D,+EAA+E;IAC/E,IAAI,OAAgC,CAAC;IACrC,IAAI,OAAO,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5C,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,gBAAgB,CAAC;IAC/B,CAAC;IAED,MAAM,EACF,WAAW,GAAG,IAAI,4CAAmB,EAAE,EACvC,UAAU,GAAG,IAAI,iCAAc,EAAE,EACjC,OAAO,GAAG,IAAI,GACjB,GAAG,OAAO,CAAC;IACZ,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,8CAA8C;IAC9C,IAAI,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,SAAS,IAAI,cAAc,CAAC;IAChC,CAAC;IAED,oBAAoB;IACpB,IAAI,MAA0B,CAAC;IAC/B,IAAI,CAAC;QACD,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAuB,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,yDAAyD;QACzD,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,cAAc,CAAC,CAAC;gBAChF,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,cAAc,CAAC,CAAuB,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,iCAAiC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEpE,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,IAAI,WAAW,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,MAAM,SAAS,CAC7B,MAAM,EACN,YAAY,EACZ,WAAW,EACX,OAAO,CACV,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,YAAY,GAAiB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACjE,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,YAAY,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACP,eAAe,YAAY,CAAC,OAAO,CAAC,MAAM,gBAAgB,YAAY,CAAC,UAAU,CAAC,MAAM,aAAa,CACxG,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;IACnD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,uCAAuC;IACvC,MAAM,YAAY,GAAG,mBAAmB,CACpC,MAAM,EACN,SAAS,EACT,YAAY,EACZ,MAAM,EACN,SAAS,EACT,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAC5C,CAAC;IAEF,0BAA0B;IAC1B,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,OAAO;QACH,MAAM;QACN,SAAS;QACT,YAAY;QACZ,YAAY;KACf,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"stack-inference.js","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Queries CloudFormation stack for the confirmed catalog and extracts
|
|
5
5
|
* all available parameters including BenchlingSecret ARN.
|
|
6
|
+
* ALSO resolves and caches Quilt services for deployment-time usage.
|
|
6
7
|
*
|
|
7
8
|
* @module wizard/phase2-stack-query
|
|
8
9
|
*/
|
|
@@ -24,12 +25,13 @@ export interface StackQueryOptions {
|
|
|
24
25
|
* Responsibilities:
|
|
25
26
|
* - Query CloudFormation stack for the confirmed catalog
|
|
26
27
|
* - Extract ALL available parameters from stack
|
|
28
|
+
* - Resolve and cache Quilt services for deployment
|
|
27
29
|
* - Handle stack query failures gracefully
|
|
28
|
-
* - Return stack configuration
|
|
30
|
+
* - Return stack configuration with cached services
|
|
29
31
|
*
|
|
30
32
|
* @param catalogDns - Confirmed catalog DNS name
|
|
31
33
|
* @param options - Stack query options
|
|
32
|
-
* @returns Stack query result
|
|
34
|
+
* @returns Stack query result with cached resolved services
|
|
33
35
|
*/
|
|
34
36
|
export declare function runStackQuery(catalogDns: string, options?: StackQueryOptions): Promise<StackQueryResult>;
|
|
35
37
|
//# sourceMappingURL=phase2-stack-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase2-stack-query.d.ts","sourceRoot":"","sources":["../../../lib/wizard/phase2-stack-query.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"phase2-stack-query.d.ts","sourceRoot":"","sources":["../../../lib/wizard/phase2-stack-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CA0K3B"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Queries CloudFormation stack for the confirmed catalog and extracts
|
|
6
6
|
* all available parameters including BenchlingSecret ARN.
|
|
7
|
+
* ALSO resolves and caches Quilt services for deployment-time usage.
|
|
7
8
|
*
|
|
8
9
|
* @module wizard/phase2-stack-query
|
|
9
10
|
*/
|
|
@@ -14,18 +15,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
15
|
exports.runStackQuery = runStackQuery;
|
|
15
16
|
const chalk_1 = __importDefault(require("chalk"));
|
|
16
17
|
const infer_quilt_config_1 = require("../../bin/commands/infer-quilt-config");
|
|
18
|
+
const service_resolver_1 = require("../utils/service-resolver");
|
|
17
19
|
/**
|
|
18
20
|
* Phase 2: Stack Query
|
|
19
21
|
*
|
|
20
22
|
* Responsibilities:
|
|
21
23
|
* - Query CloudFormation stack for the confirmed catalog
|
|
22
24
|
* - Extract ALL available parameters from stack
|
|
25
|
+
* - Resolve and cache Quilt services for deployment
|
|
23
26
|
* - Handle stack query failures gracefully
|
|
24
|
-
* - Return stack configuration
|
|
27
|
+
* - Return stack configuration with cached services
|
|
25
28
|
*
|
|
26
29
|
* @param catalogDns - Confirmed catalog DNS name
|
|
27
30
|
* @param options - Stack query options
|
|
28
|
-
* @returns Stack query result
|
|
31
|
+
* @returns Stack query result with cached resolved services
|
|
29
32
|
*/
|
|
30
33
|
async function runStackQuery(catalogDns, options = {}) {
|
|
31
34
|
const { awsProfile, awsRegion } = options;
|
|
@@ -56,23 +59,95 @@ async function runStackQuery(catalogDns, options = {}) {
|
|
|
56
59
|
const account = inferenceResult.account || "";
|
|
57
60
|
const benchlingSecretArn = inferenceResult.benchlingSecretArn;
|
|
58
61
|
const benchlingIntegrationEnabled = inferenceResult.benchlingIntegrationEnabled;
|
|
62
|
+
const athenaUserWorkgroup = inferenceResult.athenaUserWorkgroup;
|
|
63
|
+
const athenaUserPolicy = inferenceResult.athenaUserPolicy;
|
|
64
|
+
const icebergWorkgroup = inferenceResult.icebergWorkgroup;
|
|
65
|
+
const icebergDatabase = inferenceResult.icebergDatabase;
|
|
66
|
+
const athenaResultsBucket = inferenceResult.athenaResultsBucket;
|
|
67
|
+
const athenaResultsBucketPolicy = inferenceResult.athenaResultsBucketPolicy;
|
|
59
68
|
// Log what we found
|
|
60
69
|
console.log(chalk_1.default.green("✓ Stack query succeeded\n"));
|
|
61
|
-
console.log(chalk_1.default.dim(
|
|
62
|
-
console.log(chalk_1.default.dim(
|
|
63
|
-
console.log(chalk_1.default.dim(
|
|
64
|
-
console.log(chalk_1.default.dim(
|
|
65
|
-
console.log(chalk_1.default.dim(
|
|
70
|
+
console.log(chalk_1.default.dim(`✓ Stack ARN: ${stackArn}`));
|
|
71
|
+
console.log(chalk_1.default.dim(`✓ Database: ${database}`));
|
|
72
|
+
console.log(chalk_1.default.dim(`✓ Workgroup: ${athenaUserWorkgroup}`));
|
|
73
|
+
console.log(chalk_1.default.dim(`✓ Queue URL: ${queueUrl}`));
|
|
74
|
+
console.log(chalk_1.default.dim(`✓ Region: ${region}`));
|
|
75
|
+
console.log(chalk_1.default.dim(`✓ Account: ${account}`));
|
|
76
|
+
console.log(athenaUserPolicy
|
|
77
|
+
? chalk_1.default.dim(`✓ Athena User Policy: ${athenaUserPolicy}`)
|
|
78
|
+
: chalk_1.default.yellow("⚠ Athena User Policy: NOT FOUND"));
|
|
79
|
+
console.log(athenaResultsBucket
|
|
80
|
+
? chalk_1.default.dim(`✓ Athena Results Bucket: ${athenaResultsBucket}`)
|
|
81
|
+
: chalk_1.default.yellow("⚠ Athena Results Bucket: NOT FOUND"));
|
|
82
|
+
console.log(athenaResultsBucketPolicy
|
|
83
|
+
? chalk_1.default.dim(`✓ Athena Results Bucket Policy: ${athenaResultsBucketPolicy}`)
|
|
84
|
+
: chalk_1.default.yellow("⚠ Athena Results Bucket Policy: NOT FOUND"));
|
|
85
|
+
// Iceberg resources are optional (recent addition to Quilt stacks)
|
|
86
|
+
if (icebergWorkgroup) {
|
|
87
|
+
console.log(chalk_1.default.green(`✓ Iceberg Workgroup: ${icebergWorkgroup}`));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
console.log(chalk_1.default.dim(" Iceberg Workgroup: Not available (optional)"));
|
|
91
|
+
}
|
|
92
|
+
if (icebergDatabase) {
|
|
93
|
+
console.log(chalk_1.default.green(`✓ Iceberg Database: ${icebergDatabase}`));
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
console.log(chalk_1.default.dim(" Iceberg Database: Not available (optional)"));
|
|
97
|
+
}
|
|
66
98
|
if (benchlingSecretArn) {
|
|
67
|
-
console.log(chalk_1.default.
|
|
99
|
+
console.log(chalk_1.default.green(`✓ BenchlingSecret: ${benchlingSecretArn}`));
|
|
68
100
|
}
|
|
69
101
|
else {
|
|
70
|
-
console.log(chalk_1.default.dim("BenchlingSecret: Not found in stack"));
|
|
102
|
+
console.log(chalk_1.default.dim("⚠ BenchlingSecret: Not found in stack"));
|
|
71
103
|
}
|
|
72
104
|
if (benchlingIntegrationEnabled !== undefined) {
|
|
73
|
-
console.log(
|
|
105
|
+
console.log(benchlingIntegrationEnabled
|
|
106
|
+
? chalk_1.default.green("✓ Benchling Integration: Enabled")
|
|
107
|
+
: chalk_1.default.yellow("⚠ Benchling Integration: Disabled"));
|
|
74
108
|
}
|
|
75
109
|
console.log("");
|
|
110
|
+
// NEW: Resolve Quilt services and cache them for deployment
|
|
111
|
+
console.log(chalk_1.default.cyan("Resolving Quilt services from CloudFormation stack...\n"));
|
|
112
|
+
let resolvedServices;
|
|
113
|
+
try {
|
|
114
|
+
const services = await (0, service_resolver_1.resolveQuiltServices)({ stackArn });
|
|
115
|
+
// Build ResolvedQuiltServices with timestamp and source
|
|
116
|
+
resolvedServices = {
|
|
117
|
+
packagerQueueUrl: services.packagerQueueUrl,
|
|
118
|
+
athenaUserDatabase: services.athenaUserDatabase,
|
|
119
|
+
quiltWebHost: services.quiltWebHost,
|
|
120
|
+
icebergDatabase: services.icebergDatabase,
|
|
121
|
+
athenaUserWorkgroup: services.athenaUserWorkgroup,
|
|
122
|
+
athenaResultsBucket: services.athenaResultsBucket,
|
|
123
|
+
icebergWorkgroup: services.icebergWorkgroup,
|
|
124
|
+
resolvedAt: new Date().toISOString(),
|
|
125
|
+
sourceStackArn: stackArn,
|
|
126
|
+
};
|
|
127
|
+
console.log(chalk_1.default.green("✓ Services resolved and cached for deployment\n"));
|
|
128
|
+
console.log(chalk_1.default.dim(` Packager Queue: ${resolvedServices.packagerQueueUrl}`));
|
|
129
|
+
console.log(chalk_1.default.dim(` Athena Database: ${resolvedServices.athenaUserDatabase}`));
|
|
130
|
+
console.log(chalk_1.default.dim(` Quilt Web Host: ${resolvedServices.quiltWebHost}`));
|
|
131
|
+
if (resolvedServices.icebergDatabase) {
|
|
132
|
+
console.log(chalk_1.default.dim(` Iceberg Database: ${resolvedServices.icebergDatabase}`));
|
|
133
|
+
}
|
|
134
|
+
if (resolvedServices.icebergWorkgroup) {
|
|
135
|
+
console.log(chalk_1.default.dim(` Iceberg Workgroup: ${resolvedServices.icebergWorkgroup}`));
|
|
136
|
+
}
|
|
137
|
+
if (resolvedServices.athenaUserWorkgroup) {
|
|
138
|
+
console.log(chalk_1.default.dim(` Athena Workgroup: ${resolvedServices.athenaUserWorkgroup}`));
|
|
139
|
+
}
|
|
140
|
+
if (resolvedServices.athenaResultsBucket) {
|
|
141
|
+
console.log(chalk_1.default.dim(` Athena Results Bucket: ${resolvedServices.athenaResultsBucket}`));
|
|
142
|
+
}
|
|
143
|
+
console.log("");
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
// Service resolution failed - log warning but don't fail setup
|
|
147
|
+
// This allows setup to continue even if service resolution has issues
|
|
148
|
+
console.log(chalk_1.default.yellow(`⚠ Service resolution failed: ${error.message}`));
|
|
149
|
+
console.log(chalk_1.default.yellow(" Setup will continue, but deployment may require manual configuration\n"));
|
|
150
|
+
}
|
|
76
151
|
return {
|
|
77
152
|
stackArn,
|
|
78
153
|
catalog: normalizedConfirmed,
|
|
@@ -82,7 +157,14 @@ async function runStackQuery(catalogDns, options = {}) {
|
|
|
82
157
|
account,
|
|
83
158
|
benchlingSecretArn,
|
|
84
159
|
benchlingIntegrationEnabled,
|
|
160
|
+
athenaUserWorkgroup,
|
|
161
|
+
athenaUserPolicy,
|
|
162
|
+
icebergWorkgroup,
|
|
163
|
+
icebergDatabase,
|
|
164
|
+
athenaResultsBucket,
|
|
165
|
+
athenaResultsBucketPolicy,
|
|
85
166
|
stackQuerySucceeded: true,
|
|
167
|
+
resolvedServices, // Include cached services
|
|
86
168
|
};
|
|
87
169
|
}
|
|
88
170
|
catch (error) {
|
|
@@ -99,6 +181,7 @@ async function runStackQuery(catalogDns, options = {}) {
|
|
|
99
181
|
benchlingSecretArn: undefined,
|
|
100
182
|
benchlingIntegrationEnabled: undefined,
|
|
101
183
|
stackQuerySucceeded: false,
|
|
184
|
+
resolvedServices: undefined, // No services if stack query failed
|
|
102
185
|
};
|
|
103
186
|
}
|
|
104
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase2-stack-query.js","sourceRoot":"","sources":["../../../lib/wizard/phase2-stack-query.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"phase2-stack-query.js","sourceRoot":"","sources":["../../../lib/wizard/phase2-stack-query.ts"],"names":[],"mappings":"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"}
|