local-serverless-stack 1.0.0 → 1.1.0
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/CHANGELOG.md +125 -3
- package/README.md +92 -38
- package/bin/cli.js +218 -28
- package/bin/i18n.js +57 -3
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/namespaces/services.d.ts +46 -0
- package/dist/client/namespaces/services.d.ts.map +1 -1
- package/dist/client/namespaces/services.js +1 -0
- package/dist/client/namespaces/services.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +17 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/engine/backends/self-backend.d.ts +26 -1
- package/dist/server/engine/backends/self-backend.d.ts.map +1 -1
- package/dist/server/engine/backends/self-backend.js +104 -11
- package/dist/server/engine/backends/self-backend.js.map +1 -1
- package/dist/server/engine/emulators/dynamodb/expressions/parser.d.ts.map +1 -1
- package/dist/server/engine/emulators/dynamodb/expressions/parser.js +12 -1
- package/dist/server/engine/emulators/dynamodb/expressions/parser.js.map +1 -1
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts +3 -0
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js +78 -0
- package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/index.d.ts +11 -0
- package/dist/server/engine/emulators/dynamodb/index.d.ts.map +1 -1
- package/dist/server/engine/emulators/dynamodb/index.js +101 -7
- package/dist/server/engine/emulators/dynamodb/index.js.map +1 -1
- package/dist/server/engine/emulators/dynamodb/query.d.ts +1 -0
- package/dist/server/engine/emulators/dynamodb/query.d.ts.map +1 -1
- package/dist/server/engine/emulators/dynamodb/query.js +34 -6
- package/dist/server/engine/emulators/dynamodb/query.js.map +1 -1
- package/dist/server/engine/emulators/s3/index.d.ts +10 -0
- package/dist/server/engine/emulators/s3/index.d.ts.map +1 -1
- package/dist/server/engine/emulators/s3/index.js +369 -25
- package/dist/server/engine/emulators/s3/index.js.map +1 -1
- package/dist/server/engine/emulators/sqs/index.d.ts +2 -0
- package/dist/server/engine/emulators/sqs/index.d.ts.map +1 -1
- package/dist/server/engine/emulators/sqs/index.js +70 -7
- package/dist/server/engine/emulators/sqs/index.js.map +1 -1
- package/dist/server/engine/emulators/sqs/queue.d.ts +2 -1
- package/dist/server/engine/emulators/sqs/queue.d.ts.map +1 -1
- package/dist/server/engine/emulators/sqs/queue.js +68 -35
- package/dist/server/engine/emulators/sqs/queue.js.map +1 -1
- package/dist/server/engine/emulators/ssm/index.d.ts +31 -0
- package/dist/server/engine/emulators/ssm/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/ssm/index.js +670 -0
- package/dist/server/engine/emulators/ssm/index.js.map +1 -0
- package/dist/server/engine/http/errors.d.ts +1 -0
- package/dist/server/engine/http/errors.d.ts.map +1 -1
- package/dist/server/engine/http/errors.js +13 -5
- package/dist/server/engine/http/errors.js.map +1 -1
- package/dist/server/engine/http/is-aws-request.d.ts.map +1 -1
- package/dist/server/engine/http/is-aws-request.js +13 -3
- package/dist/server/engine/http/is-aws-request.js.map +1 -1
- package/dist/server/engine/http/protocols/aws-json.d.ts +1 -0
- package/dist/server/engine/http/protocols/aws-json.d.ts.map +1 -1
- package/dist/server/engine/http/protocols/aws-json.js +13 -0
- package/dist/server/engine/http/protocols/aws-json.js.map +1 -1
- package/dist/server/engine/http/reset.d.ts +4 -0
- package/dist/server/engine/http/reset.d.ts.map +1 -0
- package/dist/server/engine/http/reset.js +17 -0
- package/dist/server/engine/http/reset.js.map +1 -0
- package/dist/server/engine/http/router.d.ts +1 -0
- package/dist/server/engine/http/router.d.ts.map +1 -1
- package/dist/server/engine/http/router.js +185 -34
- package/dist/server/engine/http/router.js.map +1 -1
- package/dist/server/engine/types.d.ts +2 -1
- package/dist/server/engine/types.d.ts.map +1 -1
- package/dist/server/routes/apis.d.ts.map +1 -1
- package/dist/server/routes/apis.js +6 -0
- package/dist/server/routes/apis.js.map +1 -1
- package/dist/server/routes/config.d.ts.map +1 -1
- package/dist/server/routes/config.js +25 -1
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/routes/lambdas.d.ts.map +1 -1
- package/dist/server/routes/lambdas.js +12 -0
- package/dist/server/routes/lambdas.js.map +1 -1
- package/dist/server/routes/services.d.ts.map +1 -1
- package/dist/server/routes/services.js +66 -5
- package/dist/server/routes/services.js.map +1 -1
- package/dist/server/runtime/runtime-worker.js +40 -3
- package/dist/server/runtime/runtime-worker.js.map +1 -1
- package/dist/server/services/api-gateway-events.d.ts +14 -0
- package/dist/server/services/api-gateway-events.d.ts.map +1 -1
- package/dist/server/services/api-gateway-events.js +114 -8
- package/dist/server/services/api-gateway-events.js.map +1 -1
- package/dist/server/services/artifact-staleness.d.ts +20 -0
- package/dist/server/services/artifact-staleness.d.ts.map +1 -0
- package/dist/server/services/artifact-staleness.js +115 -0
- package/dist/server/services/artifact-staleness.js.map +1 -0
- package/dist/server/services/authorizer-service.d.ts +34 -5
- package/dist/server/services/authorizer-service.d.ts.map +1 -1
- package/dist/server/services/authorizer-service.js +0 -0
- package/dist/server/services/authorizer-service.js.map +1 -1
- package/dist/server/services/cache-manager.d.ts +5 -0
- package/dist/server/services/cache-manager.d.ts.map +1 -1
- package/dist/server/services/cache-manager.js.map +1 -1
- package/dist/server/services/cfn-intrinsics.d.ts +63 -0
- package/dist/server/services/cfn-intrinsics.d.ts.map +1 -0
- package/dist/server/services/cfn-intrinsics.js +403 -0
- package/dist/server/services/cfn-intrinsics.js.map +1 -0
- package/dist/server/services/cfn-physical-values.d.ts +51 -0
- package/dist/server/services/cfn-physical-values.d.ts.map +1 -0
- package/dist/server/services/cfn-physical-values.js +186 -0
- package/dist/server/services/cfn-physical-values.js.map +1 -0
- package/dist/server/services/cloudformation-parser.d.ts +26 -3
- package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
- package/dist/server/services/cloudformation-parser.js +79 -7
- package/dist/server/services/cloudformation-parser.js.map +1 -1
- package/dist/server/services/config-manager.d.ts +49 -2
- package/dist/server/services/config-manager.d.ts.map +1 -1
- package/dist/server/services/config-manager.js +206 -24
- package/dist/server/services/config-manager.js.map +1 -1
- package/dist/server/services/gateway-manager.d.ts.map +1 -1
- package/dist/server/services/gateway-manager.js +52 -20
- package/dist/server/services/gateway-manager.js.map +1 -1
- package/dist/server/services/lambda-runtime-manager.d.ts +2 -0
- package/dist/server/services/lambda-runtime-manager.d.ts.map +1 -1
- package/dist/server/services/lambda-runtime-manager.js +49 -15
- package/dist/server/services/lambda-runtime-manager.js.map +1 -1
- package/dist/server/services/raw-api-assembler.d.ts +1 -1
- package/dist/server/services/raw-api-assembler.d.ts.map +1 -1
- package/dist/server/services/raw-api-assembler.js +18 -8
- package/dist/server/services/raw-api-assembler.js.map +1 -1
- package/dist/server/services/resource-provisioner.d.ts +31 -1
- package/dist/server/services/resource-provisioner.d.ts.map +1 -1
- package/dist/server/services/resource-provisioner.js +257 -25
- package/dist/server/services/resource-provisioner.js.map +1 -1
- package/dist/server/services/s3-explorer.js +1 -1
- package/dist/server/services/seed-manager.d.ts.map +1 -1
- package/dist/server/services/seed-manager.js +11 -6
- package/dist/server/services/seed-manager.js.map +1 -1
- package/dist/server/services/serverless-state-parser.d.ts +45 -2
- package/dist/server/services/serverless-state-parser.d.ts.map +1 -1
- package/dist/server/services/serverless-state-parser.js +217 -29
- package/dist/server/services/serverless-state-parser.js.map +1 -1
- package/dist/server/services/service-graph.d.ts +76 -0
- package/dist/server/services/service-graph.d.ts.map +1 -0
- package/dist/server/services/service-graph.js +914 -0
- package/dist/server/services/service-graph.js.map +1 -0
- package/dist/server/services/service-registrar.d.ts +17 -1
- package/dist/server/services/service-registrar.d.ts.map +1 -1
- package/dist/server/services/service-registrar.js +190 -66
- package/dist/server/services/service-registrar.js.map +1 -1
- package/dist/server/services/service-scanner.d.ts +7 -2
- package/dist/server/services/service-scanner.d.ts.map +1 -1
- package/dist/server/services/service-scanner.js +53 -7
- package/dist/server/services/service-scanner.js.map +1 -1
- package/dist/server/services/source-watcher.d.ts +1 -0
- package/dist/server/services/source-watcher.d.ts.map +1 -1
- package/dist/server/services/source-watcher.js +19 -1
- package/dist/server/services/source-watcher.js.map +1 -1
- package/dist/server/services/worker-runtime.d.ts +82 -0
- package/dist/server/services/worker-runtime.d.ts.map +1 -0
- package/dist/server/services/worker-runtime.js +303 -0
- package/dist/server/services/worker-runtime.js.map +1 -0
- package/dist/ui/assets/ApisPage-BkW-QZ0X.js +1 -0
- package/dist/ui/assets/BucketDetailPage-CJwTQJh7.js +1 -0
- package/dist/ui/assets/BucketsPage-B1xPVhZC.js +1 -0
- package/dist/ui/assets/DynamoPage-DvbpwZDc.js +1 -0
- package/dist/ui/assets/DynamoTablePage-xn3Lq3so.js +3 -0
- package/dist/ui/assets/LambdaDetailPage-BhUyO77H.js +4 -0
- package/dist/ui/assets/LambdasPage-CUF_4rOH.js +1 -0
- package/dist/ui/assets/OnboardingPage-U49THUzu.js +1 -0
- package/dist/ui/assets/OpenSearchCollectionPage-BJTVNCq4.js +1 -0
- package/dist/ui/assets/OpenSearchPage-4s-egkB9.js +1 -0
- package/dist/ui/assets/OverviewPage-DJeJQktG.js +1 -0
- package/dist/ui/assets/{OverviewPage-C1pBJ8aP.css → OverviewPage-DjQETmb_.css} +1 -1
- package/dist/ui/assets/QueueDetailPage-DWsy5Yt8.js +1 -0
- package/dist/ui/assets/QueuesPage-BZJSqman.js +1 -0
- package/dist/ui/assets/SecretsPage-YC9ua54G.js +1 -0
- package/dist/ui/assets/ServiceDetailPage-Cum5frP4.js +2 -0
- package/dist/ui/assets/ServicesPage-IpaPDuqx.js +2 -0
- package/dist/ui/assets/SettingsPage-BiCRU8O6.js +1 -0
- package/dist/ui/assets/index-BDlrAJhi.css +1 -0
- package/dist/ui/assets/index-BouKSS43.js +38 -0
- package/dist/ui/assets/resourceIcons-DZs28nbs.js +1 -0
- package/dist/ui/index.html +5 -2
- package/package.json +1 -1
- package/dist/ui/assets/ApisPage-BOuimwWz.js +0 -1
- package/dist/ui/assets/BucketDetailPage-vLYwhoQt.js +0 -1
- package/dist/ui/assets/BucketsPage-Cu5lU1Hp.js +0 -1
- package/dist/ui/assets/DynamoPage-y3TTEPUL.js +0 -1
- package/dist/ui/assets/DynamoTablePage-BnmSRZjc.js +0 -3
- package/dist/ui/assets/LambdaDetailPage-B5q_d27t.js +0 -4
- package/dist/ui/assets/LambdasPage-CJpRoEDx.js +0 -1
- package/dist/ui/assets/OnboardingPage-D02dymQi.js +0 -1
- package/dist/ui/assets/OpenSearchCollectionPage-B_wWTlfL.js +0 -1
- package/dist/ui/assets/OpenSearchPage-BLEgfF_g.js +0 -1
- package/dist/ui/assets/OverviewPage-EdJWiAt6.js +0 -1
- package/dist/ui/assets/QueueDetailPage-ByEYHvHe.js +0 -1
- package/dist/ui/assets/QueuesPage-CvwYHSll.js +0 -1
- package/dist/ui/assets/SecretsPage-DASw8Ntf.js +0 -1
- package/dist/ui/assets/ServiceDetailPage-BMsUDg6L.js +0 -2
- package/dist/ui/assets/ServicesPage-2JuiIiRr.js +0 -2
- package/dist/ui/assets/SettingsPage-DStO4bgN.js +0 -1
- package/dist/ui/assets/index-BIEznsi4.js +0 -37
- package/dist/ui/assets/index-BRMvNP3Y.css +0 -1
- package/dist/ui/assets/resourceIcons-baecADXA.js +0 -1
|
@@ -2,7 +2,7 @@ import { DynamoDBClient, CreateTableCommand, ListTablesCommand, DeleteTableComma
|
|
|
2
2
|
import { SQSClient, CreateQueueCommand, ListQueuesCommand, GetQueueAttributesCommand, SetQueueAttributesCommand, DeleteQueueCommand, GetQueueUrlCommand } from '@aws-sdk/client-sqs';
|
|
3
3
|
import { SNSClient, CreateTopicCommand, ListTopicsCommand, DeleteTopicCommand } from '@aws-sdk/client-sns';
|
|
4
4
|
import { S3Client, CreateBucketCommand, ListBucketsCommand, DeleteBucketCommand, PutBucketVersioningCommand, PutBucketNotificationConfigurationCommand, PutBucketCorsCommand, ListObjectsV2Command, DeleteObjectCommand, } from '@aws-sdk/client-s3';
|
|
5
|
-
import { SecretsManagerClient, CreateSecretCommand } from '@aws-sdk/client-secrets-manager';
|
|
5
|
+
import { SecretsManagerClient, CreateSecretCommand, DescribeSecretCommand } from '@aws-sdk/client-secrets-manager';
|
|
6
6
|
import { LambdaClient, CreateFunctionCommand, GetFunctionCommand, DeleteFunctionCommand, AddPermissionCommand, UpdateFunctionConfigurationCommand } from '@aws-sdk/client-lambda';
|
|
7
7
|
import { CreateEventSourceMappingCommand, ListEventSourceMappingsCommand, DeleteEventSourceMappingCommand } from '@aws-sdk/client-lambda';
|
|
8
8
|
import { EventBridgeClient, CreateEventBusCommand, DeleteEventBusCommand, PutRuleCommand, PutTargetsCommand, RemoveTargetsCommand, DeleteRuleCommand, } from '@aws-sdk/client-eventbridge';
|
|
@@ -11,11 +11,31 @@ import { EngineManager } from '../engine/engine-manager.js';
|
|
|
11
11
|
import { ConfigManager } from './config-manager.js';
|
|
12
12
|
import { SeedManager } from './seed-manager.js';
|
|
13
13
|
import { resolveGeneratedSecretString } from './secret-value.js';
|
|
14
|
+
import { emptyRuntimeAttributes } from './cfn-physical-values.js';
|
|
14
15
|
import AdmZip from 'adm-zip';
|
|
16
|
+
// An empty message counts as no message: "was NOT provisioned: " with nothing
|
|
17
|
+
// after the colon is worse than saying the cause is unknown.
|
|
18
|
+
function errorMessageOf(error) {
|
|
19
|
+
const message = error?.message;
|
|
20
|
+
return typeof message === 'string' && message.trim() ? message : 'Unknown error';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* "The bus isn't there (yet)". EventBridge answers a PutRule against an unknown
|
|
24
|
+
* bus with ResourceNotFoundException; the message is matched as well because
|
|
25
|
+
* the engine's own error carries the bus name and the SDK does not always
|
|
26
|
+
* preserve the exception name through a fallback endpoint.
|
|
27
|
+
*/
|
|
28
|
+
function isMissingBusError(error) {
|
|
29
|
+
const name = error?.name;
|
|
30
|
+
if (name === 'ResourceNotFoundException')
|
|
31
|
+
return true;
|
|
32
|
+
const message = errorMessageOf(error).toLowerCase();
|
|
33
|
+
return message.includes('bus') && message.includes('does not exist');
|
|
34
|
+
}
|
|
15
35
|
// Which base endpoint aoss clients (and the collection data-plane URLs LSS
|
|
16
|
-
// logs) must target: the in-process sidecar when it is enabled
|
|
17
|
-
//
|
|
18
|
-
//
|
|
36
|
+
// logs) must target: the in-process sidecar when it is enabled, else the active
|
|
37
|
+
// engine (the self engine serves aoss natively). Exported so tests can pin the
|
|
38
|
+
// choice directly.
|
|
19
39
|
export class ResourceProvisioner {
|
|
20
40
|
static instance;
|
|
21
41
|
dynamoClient;
|
|
@@ -51,8 +71,9 @@ export class ResourceProvisioner {
|
|
|
51
71
|
this.dynamoClient = new DynamoDBClient(config);
|
|
52
72
|
this.sqsClient = new SQSClient(config);
|
|
53
73
|
this.snsClient = new SNSClient(config);
|
|
54
|
-
// forcePathStyle is required so
|
|
55
|
-
// rather than as a virtual-host subdomain (
|
|
74
|
+
// forcePathStyle is required so the engine receives the bucket name in the
|
|
75
|
+
// URL path rather than as a virtual-host subdomain (`bucket.localhost`,
|
|
76
|
+
// which does not resolve to the engine's listener).
|
|
56
77
|
this.s3Client = new S3Client({ ...config, forcePathStyle: true });
|
|
57
78
|
this.lambdaClient = new LambdaClient(config);
|
|
58
79
|
this.eventBridgeClient = new EventBridgeClient(config);
|
|
@@ -68,6 +89,12 @@ export class ResourceProvisioner {
|
|
|
68
89
|
getCurrentRegion() {
|
|
69
90
|
return this.currentRegion;
|
|
70
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Retry an event rule whose bus did not exist yet, once the owning stack
|
|
94
|
+
* shows up. Keyed by bus name; each entry keeps the service it belongs to so
|
|
95
|
+
* the retry provisions it exactly as its own registration would have.
|
|
96
|
+
*/
|
|
97
|
+
deferredEventRules = new Map();
|
|
71
98
|
async provisionResources(serviceName, resources, metadata) {
|
|
72
99
|
// Update clients if region has changed
|
|
73
100
|
if (metadata?.region && metadata.region !== this.currentRegion) {
|
|
@@ -89,8 +116,23 @@ export class ResourceProvisioner {
|
|
|
89
116
|
}
|
|
90
117
|
}
|
|
91
118
|
let provisionedCount = 0;
|
|
119
|
+
// Everything that failed here has to reach the CALLER, not just the log.
|
|
120
|
+
// Provisioning is deliberately non-fatal — one broken resource must not
|
|
121
|
+
// abort a boot — but "non-fatal" was being read as "silent": a rule that
|
|
122
|
+
// never got created left the service up and mute, and the only trace was a
|
|
123
|
+
// line in the daemon log nobody was tailing. These land in the register
|
|
124
|
+
// response's `warnings[]`, which the CLI and the dashboard already print.
|
|
125
|
+
const warnings = [];
|
|
126
|
+
// The log lines keep their exact wording — they are what an operator greps
|
|
127
|
+
// and what the docs quote; `fail` only adds the copy that travels back.
|
|
128
|
+
const fail = (what, error) => {
|
|
129
|
+
warnings.push(`${what} was NOT provisioned: ${errorMessageOf(error)}`);
|
|
130
|
+
};
|
|
131
|
+
// Buses created in the first pass below, so rules parked by an earlier
|
|
132
|
+
// registration can be retried as soon as their owner shows up.
|
|
133
|
+
const busesCreated = [];
|
|
92
134
|
// First pass: Create infrastructure resources (DynamoDB, SQS, SNS, S3)
|
|
93
|
-
// Lambda functions are handled by
|
|
135
|
+
// Lambda functions are handled by the in-process runtime, not the engine.
|
|
94
136
|
for (const resource of resources) {
|
|
95
137
|
try {
|
|
96
138
|
switch (resource.type) {
|
|
@@ -114,8 +156,13 @@ export class ResourceProvisioner {
|
|
|
114
156
|
await this.createSecret(resource);
|
|
115
157
|
provisionedCount++;
|
|
116
158
|
break;
|
|
159
|
+
case 'ssm-parameter':
|
|
160
|
+
await this.createSsmParameter(resource);
|
|
161
|
+
provisionedCount++;
|
|
162
|
+
break;
|
|
117
163
|
case 'eventbus':
|
|
118
164
|
await this.createEventBus(resource);
|
|
165
|
+
busesCreated.push(resource.name);
|
|
119
166
|
provisionedCount++;
|
|
120
167
|
break;
|
|
121
168
|
case 'opensearch':
|
|
@@ -128,9 +175,16 @@ export class ResourceProvisioner {
|
|
|
128
175
|
if (!error.message?.includes('already exists')) {
|
|
129
176
|
const resourceName = 'name' in resource ? resource.name : resource.functionName;
|
|
130
177
|
console.error(`Failed to provision ${resource.type}:${resourceName}:`, error.message);
|
|
178
|
+
fail(`${resource.type} "${resourceName}"`, error);
|
|
131
179
|
}
|
|
132
180
|
}
|
|
133
181
|
}
|
|
182
|
+
// A bus this stack owns may be the one an earlier registration's rules were
|
|
183
|
+
// waiting for. Flush them before this service's own rules so a mixed batch
|
|
184
|
+
// ends up in the same state whatever order the operator registered in.
|
|
185
|
+
for (const busName of busesCreated) {
|
|
186
|
+
await this.flushDeferredEventRules(busName, warnings);
|
|
187
|
+
}
|
|
134
188
|
// Second pass: Create event source mappings (which will create Lambda proxies if needed)
|
|
135
189
|
const eventSources = resources.filter(r => r.type === 'event-source');
|
|
136
190
|
for (const eventSource of eventSources) {
|
|
@@ -139,15 +193,16 @@ export class ResourceProvisioner {
|
|
|
139
193
|
provisionedCount++;
|
|
140
194
|
}
|
|
141
195
|
catch (error) {
|
|
142
|
-
const errorMessage = error
|
|
196
|
+
const errorMessage = errorMessageOf(error);
|
|
143
197
|
const errorName = error instanceof Error && 'name' in error ? error.name : '';
|
|
144
198
|
if (!errorMessage.includes('already exists') && errorName !== 'ResourceConflictException') {
|
|
145
199
|
console.error(`Failed to provision event-source for ${eventSource.functionName}:`, errorMessage);
|
|
200
|
+
fail(`event-source for "${eventSource.functionName}"`, error);
|
|
146
201
|
}
|
|
147
202
|
}
|
|
148
203
|
}
|
|
149
204
|
// EventBridge rules ride the same proxy model as event source mappings:
|
|
150
|
-
// rule + pattern on the bus → Lambda proxy
|
|
205
|
+
// rule + pattern on the bus → Lambda proxy → LSS invoke API.
|
|
151
206
|
const eventRules = resources.filter(r => r.type === 'event-rule');
|
|
152
207
|
for (const rule of eventRules) {
|
|
153
208
|
try {
|
|
@@ -155,8 +210,25 @@ export class ResourceProvisioner {
|
|
|
155
210
|
provisionedCount++;
|
|
156
211
|
}
|
|
157
212
|
catch (error) {
|
|
158
|
-
|
|
159
|
-
|
|
213
|
+
// A consumer registered before the stack that owns the custom bus is
|
|
214
|
+
// the common case in a monorepo, not an error: park the rule and put it
|
|
215
|
+
// back when the bus appears. `lss register a b c` and the dashboard's
|
|
216
|
+
// checkbox list both hand us an arbitrary order, so requiring the
|
|
217
|
+
// operator to know the dependency graph is not a fix.
|
|
218
|
+
const busName = this.resolveEventBusName(rule.eventBusRef);
|
|
219
|
+
if (busName && isMissingBusError(error)) {
|
|
220
|
+
this.deferEventRule(busName, {
|
|
221
|
+
serviceName,
|
|
222
|
+
rule,
|
|
223
|
+
invokeUrl,
|
|
224
|
+
resourcesByLogicalId: new Map(this.resourcesByLogicalId),
|
|
225
|
+
});
|
|
226
|
+
console.warn(` ⏳ Deferred EventBridge rule ${rule.name}: bus "${busName}" does not exist yet`);
|
|
227
|
+
warnings.push(`event-rule "${rule.name}" is waiting for event bus "${busName}" — it will be provisioned when the stack that owns the bus registers`);
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
console.error(`Failed to provision event-rule ${rule.name}:`, errorMessageOf(error));
|
|
231
|
+
fail(`event-rule "${rule.name}"`, error);
|
|
160
232
|
}
|
|
161
233
|
}
|
|
162
234
|
// Third pass: Wire S3 bucket notifications to Lambda proxies.
|
|
@@ -170,11 +242,61 @@ export class ResourceProvisioner {
|
|
|
170
242
|
await this.configureS3Notifications(serviceName, bucket, invokeUrl);
|
|
171
243
|
}
|
|
172
244
|
catch (error) {
|
|
173
|
-
|
|
174
|
-
|
|
245
|
+
console.error(`Failed to configure S3 notifications for ${bucket.name}:`, errorMessageOf(error));
|
|
246
|
+
fail(`S3 notifications for "${bucket.name}"`, error);
|
|
175
247
|
}
|
|
176
248
|
}
|
|
177
249
|
console.log(`✅ Provisioned ${provisionedCount} resources for ${serviceName}`);
|
|
250
|
+
return { provisioned: provisionedCount, warnings };
|
|
251
|
+
}
|
|
252
|
+
deferEventRule(busName, entry) {
|
|
253
|
+
const queue = this.deferredEventRules.get(busName) ?? [];
|
|
254
|
+
// Re-registering the same service must not queue the rule twice.
|
|
255
|
+
const existing = queue.findIndex(q => q.serviceName === entry.serviceName && q.rule.name === entry.rule.name);
|
|
256
|
+
if (existing >= 0)
|
|
257
|
+
queue[existing] = entry;
|
|
258
|
+
else
|
|
259
|
+
queue.push(entry);
|
|
260
|
+
this.deferredEventRules.set(busName, queue);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Provision every rule parked on `busName`, now that the bus exists. A rule
|
|
264
|
+
* that fails again for the same reason stays parked (the bus creation may
|
|
265
|
+
* have raced); any other failure is reported and dropped, so a permanently
|
|
266
|
+
* broken rule cannot be retried on every future registration.
|
|
267
|
+
*/
|
|
268
|
+
async flushDeferredEventRules(busName, warnings) {
|
|
269
|
+
const queue = this.deferredEventRules.get(busName);
|
|
270
|
+
if (!queue || queue.length === 0)
|
|
271
|
+
return;
|
|
272
|
+
this.deferredEventRules.delete(busName);
|
|
273
|
+
// The caller's own map is restored before its remaining passes run.
|
|
274
|
+
const callerResources = this.resourcesByLogicalId;
|
|
275
|
+
let recovered = 0;
|
|
276
|
+
for (const entry of queue) {
|
|
277
|
+
// Resolve the rule's targets and bus exactly as its own registration
|
|
278
|
+
// would have — against the resources of the service that declared it.
|
|
279
|
+
this.resourcesByLogicalId = entry.resourcesByLogicalId;
|
|
280
|
+
try {
|
|
281
|
+
await this.createEventRule(entry.serviceName, entry.rule, entry.invokeUrl);
|
|
282
|
+
recovered++;
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
if (isMissingBusError(error)) {
|
|
286
|
+
this.deferEventRule(busName, entry);
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
const message = errorMessageOf(error);
|
|
290
|
+
console.error(`Failed to provision deferred event-rule ${entry.rule.name} (${entry.serviceName}):`, message);
|
|
291
|
+
warnings.push(`deferred event-rule "${entry.rule.name}" of service "${entry.serviceName}" was NOT provisioned: ${message}`);
|
|
292
|
+
}
|
|
293
|
+
finally {
|
|
294
|
+
this.resourcesByLogicalId = callerResources;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (recovered > 0) {
|
|
298
|
+
console.log(`🔁 Provisioned ${recovered} deferred EventBridge rule(s) now that bus "${busName}" exists`);
|
|
299
|
+
}
|
|
178
300
|
}
|
|
179
301
|
async createDynamoDBTable(resource) {
|
|
180
302
|
try {
|
|
@@ -436,6 +558,54 @@ export class ResourceProvisioner {
|
|
|
436
558
|
}
|
|
437
559
|
}
|
|
438
560
|
}
|
|
561
|
+
// AWS::SSM::Parameter → PutParameter on the engine. @aws-sdk/client-ssm is
|
|
562
|
+
// not a dependency, so this speaks the wire directly: AWS JSON 1.1 with
|
|
563
|
+
// X-Amz-Target AmazonSSM.PutParameter, the region pinned through a
|
|
564
|
+
// scope-shaped X-Amz-Credential (the engine router reads {region, service}
|
|
565
|
+
// from it and never verifies a signature — the same approach as the
|
|
566
|
+
// OpenSearch explorer's data plane). Idempotent + non-fatal like
|
|
567
|
+
// createSecret: an existing parameter is kept as is — no Overwrite — so a
|
|
568
|
+
// value changed locally survives a re-registration (ParameterAlreadyExists
|
|
569
|
+
// is swallowed); every other failure throws into the caller's warnings.
|
|
570
|
+
async createSsmParameter(resource) {
|
|
571
|
+
if (resource.value === undefined) {
|
|
572
|
+
throw new Error(`SSM parameter ${resource.name} has no literal Value (an unresolved Ref/GetAtt or none at all) — ` +
|
|
573
|
+
'set it in the template or with PutParameter');
|
|
574
|
+
}
|
|
575
|
+
const url = new URL('/', EngineManager.getInstance().getConfig().endpoint);
|
|
576
|
+
url.searchParams.set('X-Amz-Credential', `lss-provisioner/00000000/${this.currentRegion}/ssm/aws4_request`);
|
|
577
|
+
const response = await fetch(url, {
|
|
578
|
+
method: 'POST',
|
|
579
|
+
headers: { 'content-type': 'application/x-amz-json-1.1', 'x-amz-target': 'AmazonSSM.PutParameter' },
|
|
580
|
+
body: JSON.stringify({
|
|
581
|
+
Name: resource.name,
|
|
582
|
+
Value: resource.value,
|
|
583
|
+
Type: resource.parameterType,
|
|
584
|
+
Description: resource.description,
|
|
585
|
+
AllowedPattern: resource.allowedPattern,
|
|
586
|
+
Tier: resource.tier,
|
|
587
|
+
DataType: resource.dataType,
|
|
588
|
+
Tags: resource.tags.length > 0 ? resource.tags : undefined,
|
|
589
|
+
}),
|
|
590
|
+
});
|
|
591
|
+
if (response.ok) {
|
|
592
|
+
console.log(` ✓ Created SSM parameter: ${resource.name}`);
|
|
593
|
+
return;
|
|
594
|
+
}
|
|
595
|
+
const text = await response.text();
|
|
596
|
+
let payload = {};
|
|
597
|
+
try {
|
|
598
|
+
payload = JSON.parse(text);
|
|
599
|
+
}
|
|
600
|
+
catch {
|
|
601
|
+
// Not an AWS JSON error body (a proxy or a crashed listener) — report the status.
|
|
602
|
+
}
|
|
603
|
+
if (payload.__type === 'ParameterAlreadyExists') {
|
|
604
|
+
console.log(` ⚠ SSM parameter already exists: ${resource.name}`);
|
|
605
|
+
return;
|
|
606
|
+
}
|
|
607
|
+
throw new Error(`${payload.__type ?? `HTTP ${response.status}`}: ${payload.message ?? text}`);
|
|
608
|
+
}
|
|
439
609
|
async configureS3Notifications(serviceName, bucket, invokeUrl) {
|
|
440
610
|
const lambdaConfigurations = [];
|
|
441
611
|
for (const notif of bucket.notifications) {
|
|
@@ -787,13 +957,20 @@ export const handler = async (event, context) => {
|
|
|
787
957
|
throw error;
|
|
788
958
|
}
|
|
789
959
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
960
|
+
// No invoke port is the normal case on the self engine, not an error: the
|
|
961
|
+
// engine's dispatcher resolves the target through the in-process function
|
|
962
|
+
// registry FIRST and only falls back to a record's INVOKE_URL for functions
|
|
963
|
+
// LSS does not run. So the record is still created — the ESM, the
|
|
964
|
+
// AddPermission and the rule target all hang off it — just without the
|
|
965
|
+
// HTTP hop. Refusing here used to leave every queue, stream, bucket
|
|
966
|
+
// notification and schedule of a service registered without ports silently
|
|
967
|
+
// unwired.
|
|
794
968
|
const zip = new AdmZip();
|
|
795
|
-
zip.addFile('index.mjs', Buffer.from(
|
|
969
|
+
zip.addFile('index.mjs', Buffer.from(this.generateProxyLambdaCode(proxyName, invokeName, invokeUrl ?? ''), 'utf-8'));
|
|
796
970
|
const zipBuffer = zip.toBuffer();
|
|
971
|
+
const variables = invokeUrl
|
|
972
|
+
? { INVOKE_URL: invokeUrl, FUNCTION_NAME: invokeName }
|
|
973
|
+
: { FUNCTION_NAME: invokeName };
|
|
797
974
|
await this.lambdaClient.send(new CreateFunctionCommand({
|
|
798
975
|
FunctionName: proxyName,
|
|
799
976
|
Runtime: 'nodejs20.x',
|
|
@@ -802,16 +979,13 @@ export const handler = async (event, context) => {
|
|
|
802
979
|
Code: {
|
|
803
980
|
ZipFile: zipBuffer,
|
|
804
981
|
},
|
|
805
|
-
Environment: {
|
|
806
|
-
Variables: {
|
|
807
|
-
INVOKE_URL: invokeUrl,
|
|
808
|
-
FUNCTION_NAME: invokeName,
|
|
809
|
-
},
|
|
810
|
-
},
|
|
982
|
+
Environment: { Variables: variables },
|
|
811
983
|
MemorySize: 256,
|
|
812
984
|
Timeout: 60,
|
|
813
985
|
}));
|
|
814
|
-
console.log(
|
|
986
|
+
console.log(invokeUrl
|
|
987
|
+
? ` ✓ Created Lambda proxy: ${proxyName} -> ${invokeUrl}/2015-03-31/functions/${invokeName}/invocations`
|
|
988
|
+
: ` ✓ Registered Lambda target: ${proxyName} (no invoke port for ${serviceName} — delivered in-process by the LSS runtime)`);
|
|
815
989
|
}
|
|
816
990
|
convertCamelCaseToKebab(camelCase) {
|
|
817
991
|
return camelCase
|
|
@@ -919,6 +1093,64 @@ export const handler = async (event, context) => {
|
|
|
919
1093
|
}
|
|
920
1094
|
throw new Error(`Event source not found: ${arnRef} (resolved as: ${resourceName})`);
|
|
921
1095
|
}
|
|
1096
|
+
/**
|
|
1097
|
+
* The attributes of a service's resources that only exist once the resources
|
|
1098
|
+
* do — queue URLs, stream ARNs (the label is minted at CreateTable), secret
|
|
1099
|
+
* ARNs (random suffix), collection id/ARN/endpoint — for the function
|
|
1100
|
+
* environment pass (cfn-physical-values.ts). Called right after
|
|
1101
|
+
* provisionResources, so the clients already target the service's region.
|
|
1102
|
+
* Best-effort by design: a failed lookup leaves the attribute out and the
|
|
1103
|
+
* environment pass warns about the variable that needed it.
|
|
1104
|
+
*/
|
|
1105
|
+
async lookupRuntimeAttributes(resources) {
|
|
1106
|
+
const attrs = emptyRuntimeAttributes();
|
|
1107
|
+
const attempt = async (what, lookup) => {
|
|
1108
|
+
try {
|
|
1109
|
+
await lookup();
|
|
1110
|
+
}
|
|
1111
|
+
catch (error) {
|
|
1112
|
+
console.warn(` ⚠ Could not look up ${what}: ${errorMessageOf(error)}`);
|
|
1113
|
+
}
|
|
1114
|
+
};
|
|
1115
|
+
const collections = [];
|
|
1116
|
+
for (const resource of resources) {
|
|
1117
|
+
if (resource.type === 'sqs') {
|
|
1118
|
+
await attempt(`the URL of queue "${resource.name}"`, async () => {
|
|
1119
|
+
const { QueueUrl } = await this.sqsClient.send(new GetQueueUrlCommand({ QueueName: resource.name }));
|
|
1120
|
+
if (QueueUrl)
|
|
1121
|
+
attrs.queueUrls.set(resource.name, QueueUrl);
|
|
1122
|
+
});
|
|
1123
|
+
}
|
|
1124
|
+
else if (resource.type === 'dynamodb' && resource.streamEnabled) {
|
|
1125
|
+
await attempt(`the stream ARN of table "${resource.name}"`, async () => {
|
|
1126
|
+
const described = await this.dynamoClient.send(new DescribeTableCommand({ TableName: resource.name }));
|
|
1127
|
+
const streamArn = described.Table?.LatestStreamArn;
|
|
1128
|
+
if (streamArn)
|
|
1129
|
+
attrs.streamArns.set(resource.name, streamArn);
|
|
1130
|
+
});
|
|
1131
|
+
}
|
|
1132
|
+
else if (resource.type === 'secret') {
|
|
1133
|
+
await attempt(`the ARN of secret "${resource.name}"`, async () => {
|
|
1134
|
+
const { ARN } = await this.secretsManagerClient.send(new DescribeSecretCommand({ SecretId: resource.name }));
|
|
1135
|
+
if (ARN)
|
|
1136
|
+
attrs.secretArns.set(resource.name, ARN);
|
|
1137
|
+
});
|
|
1138
|
+
}
|
|
1139
|
+
else if (resource.type === 'opensearch') {
|
|
1140
|
+
collections.push(resource.name);
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1143
|
+
if (collections.length > 0) {
|
|
1144
|
+
await attempt(`OpenSearch collection(s) ${collections.join(', ')}`, async () => {
|
|
1145
|
+
const { collectionDetails } = await this.openSearchClient.send(new BatchGetCollectionCommand({ names: collections }));
|
|
1146
|
+
for (const c of collectionDetails ?? []) {
|
|
1147
|
+
if (c.name)
|
|
1148
|
+
attrs.collections.set(c.name, { id: c.id, arn: c.arn, endpoint: c.collectionEndpoint });
|
|
1149
|
+
}
|
|
1150
|
+
});
|
|
1151
|
+
}
|
|
1152
|
+
return attrs;
|
|
1153
|
+
}
|
|
922
1154
|
async listAllResources(region) {
|
|
923
1155
|
const baseConfig = EngineManager.getInstance().getConfig();
|
|
924
1156
|
const config = region ? { ...baseConfig, region } : { ...baseConfig, region: this.currentRegion };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-provisioner.js","sourceRoot":"","sources":["../../../src/server/services/resource-provisioner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-provisioner.js","sourceRoot":"","sources":["../../../src/server/services/resource-provisioner.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ export class S3Explorer {
|
|
|
24
24
|
let client = this.clients.get(r);
|
|
25
25
|
if (!client) {
|
|
26
26
|
const base = EngineManager.getInstance().getConfig();
|
|
27
|
-
// forcePathStyle is required so
|
|
27
|
+
// forcePathStyle is required so the engine receives the bucket name in
|
|
28
28
|
// the URL path instead of as a virtual-host subdomain.
|
|
29
29
|
client = new S3Client({ ...base, region: r, forcePathStyle: true });
|
|
30
30
|
this.clients.set(r, client);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed-manager.d.ts","sourceRoot":"","sources":["../../../src/server/services/seed-manager.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAqD,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAI5G,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"seed-manager.d.ts","sourceRoot":"","sources":["../../../src/server/services/seed-manager.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAqD,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAI5G,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,mBAAmB;IAwC3B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAgBpB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIjC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyB/C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkClE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAwB/C,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CpE,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAyB7D;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAc5D,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,kBAAkB;IAU1B;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CxF;;;;OAIG;IACG,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAyBtC,UAAU;YAgBV,qBAAqB;YAerB,mBAAmB;CAoBlC"}
|