local-serverless-stack 0.6.0 → 0.9.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 +104 -0
- package/README.md +261 -583
- package/bin/cli.js +31 -3
- package/dist/client/types.d.ts +4 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/server/engine/aoss-sidecar.d.ts +13 -0
- package/dist/server/engine/aoss-sidecar.d.ts.map +1 -0
- package/dist/server/engine/aoss-sidecar.js +93 -0
- package/dist/server/engine/aoss-sidecar.js.map +1 -0
- package/dist/server/engine/backends/localstack-backend.d.ts +25 -0
- package/dist/server/engine/backends/localstack-backend.d.ts.map +1 -0
- package/dist/server/engine/backends/localstack-backend.js +199 -0
- package/dist/server/engine/backends/localstack-backend.js.map +1 -0
- package/dist/server/engine/backends/self-backend.d.ts +32 -0
- package/dist/server/engine/backends/self-backend.d.ts.map +1 -0
- package/dist/server/engine/backends/self-backend.js +207 -0
- package/dist/server/engine/backends/self-backend.js.map +1 -0
- package/dist/server/engine/bus.d.ts +10 -0
- package/dist/server/engine/bus.d.ts.map +1 -0
- package/dist/server/engine/bus.js +24 -0
- package/dist/server/engine/bus.js.map +1 -0
- package/dist/server/engine/dispatch/dispatcher.d.ts +46 -0
- package/dist/server/engine/dispatch/dispatcher.d.ts.map +1 -0
- package/dist/server/engine/dispatch/dispatcher.js +312 -0
- package/dist/server/engine/dispatch/dispatcher.js.map +1 -0
- package/dist/server/engine/dispatch/scheduler.d.ts +47 -0
- package/dist/server/engine/dispatch/scheduler.d.ts.map +1 -0
- package/dist/server/engine/dispatch/scheduler.js +328 -0
- package/dist/server/engine/dispatch/scheduler.js.map +1 -0
- package/dist/server/engine/dispatch/sqs-poller.d.ts +25 -0
- package/dist/server/engine/dispatch/sqs-poller.d.ts.map +1 -0
- package/dist/server/engine/dispatch/sqs-poller.js +242 -0
- package/dist/server/engine/dispatch/sqs-poller.js.map +1 -0
- package/dist/server/engine/dispatch/stream-tailer.d.ts +22 -0
- package/dist/server/engine/dispatch/stream-tailer.d.ts.map +1 -0
- package/dist/server/engine/dispatch/stream-tailer.js +205 -0
- package/dist/server/engine/dispatch/stream-tailer.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/decimal.d.ts +5 -0
- package/dist/server/engine/emulators/dynamodb/expressions/decimal.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/decimal.js +91 -0
- package/dist/server/engine/emulators/dynamodb/expressions/decimal.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/evaluate.d.ts +24 -0
- package/dist/server/engine/emulators/dynamodb/expressions/evaluate.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/evaluate.js +183 -0
- package/dist/server/engine/emulators/dynamodb/expressions/evaluate.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/expression-types.d.ts +29 -0
- package/dist/server/engine/emulators/dynamodb/expressions/expression-types.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/expression-types.js +12 -0
- package/dist/server/engine/emulators/dynamodb/expressions/expression-types.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/index.d.ts +13 -0
- package/dist/server/engine/emulators/dynamodb/expressions/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/index.js +244 -0
- package/dist/server/engine/emulators/dynamodb/expressions/index.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/lexer.d.ts +11 -0
- package/dist/server/engine/emulators/dynamodb/expressions/lexer.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/lexer.js +109 -0
- package/dist/server/engine/emulators/dynamodb/expressions/lexer.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/parser.d.ts +23 -0
- package/dist/server/engine/emulators/dynamodb/expressions/parser.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/expressions/parser.js +541 -0
- package/dist/server/engine/emulators/dynamodb/expressions/parser.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/index.d.ts +46 -0
- package/dist/server/engine/emulators/dynamodb/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/index.js +572 -0
- package/dist/server/engine/emulators/dynamodb/index.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/query.d.ts +12 -0
- package/dist/server/engine/emulators/dynamodb/query.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/query.js +237 -0
- package/dist/server/engine/emulators/dynamodb/query.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/schema.d.ts +58 -0
- package/dist/server/engine/emulators/dynamodb/schema.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/schema.js +284 -0
- package/dist/server/engine/emulators/dynamodb/schema.js.map +1 -0
- package/dist/server/engine/emulators/dynamodb/streams.d.ts +28 -0
- package/dist/server/engine/emulators/dynamodb/streams.d.ts.map +1 -0
- package/dist/server/engine/emulators/dynamodb/streams.js +100 -0
- package/dist/server/engine/emulators/dynamodb/streams.js.map +1 -0
- package/dist/server/engine/emulators/events/index.d.ts +53 -0
- package/dist/server/engine/emulators/events/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/events/index.js +417 -0
- package/dist/server/engine/emulators/events/index.js.map +1 -0
- package/dist/server/engine/emulators/events/pattern.d.ts +3 -0
- package/dist/server/engine/emulators/events/pattern.d.ts.map +1 -0
- package/dist/server/engine/emulators/events/pattern.js +125 -0
- package/dist/server/engine/emulators/events/pattern.js.map +1 -0
- package/dist/server/engine/emulators/lambda-ctl/index.d.ts +55 -0
- package/dist/server/engine/emulators/lambda-ctl/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/lambda-ctl/index.js +461 -0
- package/dist/server/engine/emulators/lambda-ctl/index.js.map +1 -0
- package/dist/server/engine/emulators/opensearch/index.d.ts +67 -0
- package/dist/server/engine/emulators/opensearch/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/opensearch/index.js +811 -0
- package/dist/server/engine/emulators/opensearch/index.js.map +1 -0
- package/dist/server/engine/emulators/opensearch/search.d.ts +17 -0
- package/dist/server/engine/emulators/opensearch/search.d.ts.map +1 -0
- package/dist/server/engine/emulators/opensearch/search.js +434 -0
- package/dist/server/engine/emulators/opensearch/search.js.map +1 -0
- package/dist/server/engine/emulators/s3/index.d.ts +45 -0
- package/dist/server/engine/emulators/s3/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/s3/index.js +591 -0
- package/dist/server/engine/emulators/s3/index.js.map +1 -0
- package/dist/server/engine/emulators/sns/index.d.ts +22 -0
- package/dist/server/engine/emulators/sns/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/sns/index.js +135 -0
- package/dist/server/engine/emulators/sns/index.js.map +1 -0
- package/dist/server/engine/emulators/sqs/index.d.ts +66 -0
- package/dist/server/engine/emulators/sqs/index.d.ts.map +1 -0
- package/dist/server/engine/emulators/sqs/index.js +552 -0
- package/dist/server/engine/emulators/sqs/index.js.map +1 -0
- package/dist/server/engine/emulators/sqs/md5.d.ts +8 -0
- package/dist/server/engine/emulators/sqs/md5.d.ts.map +1 -0
- package/dist/server/engine/emulators/sqs/md5.js +36 -0
- package/dist/server/engine/emulators/sqs/md5.js.map +1 -0
- package/dist/server/engine/emulators/sqs/queue.d.ts +105 -0
- package/dist/server/engine/emulators/sqs/queue.d.ts.map +1 -0
- package/dist/server/engine/emulators/sqs/queue.js +371 -0
- package/dist/server/engine/emulators/sqs/queue.js.map +1 -0
- package/dist/server/engine/emulators/sts.d.ts +8 -0
- package/dist/server/engine/emulators/sts.d.ts.map +1 -0
- package/dist/server/engine/emulators/sts.js +23 -0
- package/dist/server/engine/emulators/sts.js.map +1 -0
- package/dist/server/engine/engine-backend.d.ts +17 -0
- package/dist/server/engine/engine-backend.d.ts.map +1 -0
- package/dist/server/engine/engine-backend.js +7 -0
- package/dist/server/engine/engine-backend.js.map +1 -0
- package/dist/server/engine/engine-manager.d.ts +22 -0
- package/dist/server/engine/engine-manager.d.ts.map +1 -0
- package/dist/server/engine/engine-manager.js +74 -0
- package/dist/server/engine/engine-manager.js.map +1 -0
- package/dist/server/engine/http/aws-chunked.d.ts +3 -0
- package/dist/server/engine/http/aws-chunked.d.ts.map +1 -0
- package/dist/server/engine/http/aws-chunked.js +50 -0
- package/dist/server/engine/http/aws-chunked.js.map +1 -0
- package/dist/server/engine/http/errors.d.ts +20 -0
- package/dist/server/engine/http/errors.d.ts.map +1 -0
- package/dist/server/engine/http/errors.js +43 -0
- package/dist/server/engine/http/errors.js.map +1 -0
- package/dist/server/engine/http/protocols/aws-json.d.ts +8 -0
- package/dist/server/engine/http/protocols/aws-json.d.ts.map +1 -0
- package/dist/server/engine/http/protocols/aws-json.js +42 -0
- package/dist/server/engine/http/protocols/aws-json.js.map +1 -0
- package/dist/server/engine/http/protocols/query-xml.d.ts +7 -0
- package/dist/server/engine/http/protocols/query-xml.d.ts.map +1 -0
- package/dist/server/engine/http/protocols/query-xml.js +35 -0
- package/dist/server/engine/http/protocols/query-xml.js.map +1 -0
- package/dist/server/engine/http/router.d.ts +8 -0
- package/dist/server/engine/http/router.d.ts.map +1 -0
- package/dist/server/engine/http/router.js +402 -0
- package/dist/server/engine/http/router.js.map +1 -0
- package/dist/server/engine/http/sigv4.d.ts +9 -0
- package/dist/server/engine/http/sigv4.d.ts.map +1 -0
- package/dist/server/engine/http/sigv4.js +33 -0
- package/dist/server/engine/http/sigv4.js.map +1 -0
- package/dist/server/engine/http/xml.d.ts +16 -0
- package/dist/server/engine/http/xml.d.ts.map +1 -0
- package/dist/server/engine/http/xml.js +92 -0
- package/dist/server/engine/http/xml.js.map +1 -0
- package/dist/server/engine/store/atomic.d.ts +4 -0
- package/dist/server/engine/store/atomic.d.ts.map +1 -0
- package/dist/server/engine/store/atomic.js +35 -0
- package/dist/server/engine/store/atomic.js.map +1 -0
- package/dist/server/engine/store/engine-store.d.ts +9 -0
- package/dist/server/engine/store/engine-store.d.ts.map +1 -0
- package/dist/server/engine/store/engine-store.js +218 -0
- package/dist/server/engine/store/engine-store.js.map +1 -0
- package/dist/server/engine/store/store-types.d.ts +37 -0
- package/dist/server/engine/store/store-types.d.ts.map +1 -0
- package/dist/server/engine/store/store-types.js +17 -0
- package/dist/server/engine/store/store-types.js.map +1 -0
- package/dist/server/engine/store/wal.d.ts +49 -0
- package/dist/server/engine/store/wal.d.ts.map +1 -0
- package/dist/server/engine/store/wal.js +328 -0
- package/dist/server/engine/store/wal.js.map +1 -0
- package/dist/server/engine/types.d.ts +137 -0
- package/dist/server/engine/types.d.ts.map +1 -0
- package/dist/server/engine/types.js +8 -0
- package/dist/server/engine/types.js.map +1 -0
- package/dist/server/index.js +43 -9
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/config.d.ts.map +1 -1
- package/dist/server/routes/config.js +16 -0
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/routes/opensearch.d.ts +3 -0
- package/dist/server/routes/opensearch.d.ts.map +1 -0
- package/dist/server/routes/opensearch.js +69 -0
- package/dist/server/routes/opensearch.js.map +1 -0
- package/dist/server/routes/resources.d.ts.map +1 -1
- package/dist/server/routes/resources.js +4 -1
- package/dist/server/routes/resources.js.map +1 -1
- package/dist/server/routes/services.d.ts.map +1 -1
- package/dist/server/routes/services.js +3 -0
- package/dist/server/routes/services.js.map +1 -1
- package/dist/server/services/cache-manager.d.ts +2 -1
- package/dist/server/services/cache-manager.d.ts.map +1 -1
- package/dist/server/services/cache-manager.js +22 -2
- package/dist/server/services/cache-manager.js.map +1 -1
- package/dist/server/services/cloudformation-parser.d.ts +35 -2
- package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
- package/dist/server/services/cloudformation-parser.js +88 -3
- package/dist/server/services/cloudformation-parser.js.map +1 -1
- package/dist/server/services/config-manager.d.ts +82 -0
- package/dist/server/services/config-manager.d.ts.map +1 -1
- package/dist/server/services/config-manager.js +151 -7
- package/dist/server/services/config-manager.js.map +1 -1
- package/dist/server/services/gateway-manager.d.ts +2 -0
- package/dist/server/services/gateway-manager.d.ts.map +1 -1
- package/dist/server/services/gateway-manager.js +44 -6
- package/dist/server/services/gateway-manager.js.map +1 -1
- package/dist/server/services/localstack-manager.d.ts +0 -7
- package/dist/server/services/localstack-manager.d.ts.map +1 -1
- package/dist/server/services/localstack-manager.js +11 -173
- package/dist/server/services/localstack-manager.js.map +1 -1
- package/dist/server/services/opensearch-explorer.d.ts +37 -0
- package/dist/server/services/opensearch-explorer.d.ts.map +1 -0
- package/dist/server/services/opensearch-explorer.js +124 -0
- package/dist/server/services/opensearch-explorer.js.map +1 -0
- package/dist/server/services/resource-provisioner.d.ts +13 -0
- package/dist/server/services/resource-provisioner.d.ts.map +1 -1
- package/dist/server/services/resource-provisioner.js +257 -11
- package/dist/server/services/resource-provisioner.js.map +1 -1
- package/dist/server/services/service-registrar.d.ts +1 -0
- package/dist/server/services/service-registrar.d.ts.map +1 -1
- package/dist/server/services/service-registrar.js +19 -4
- package/dist/server/services/service-registrar.js.map +1 -1
- package/dist/ui/assets/ApisPage-C0xaNFQW.js +1 -0
- package/dist/ui/assets/BucketDetailPage-Bnny8S04.js +1 -0
- package/dist/ui/assets/BucketsPage-Dd3Y4-gU.js +1 -0
- package/dist/ui/assets/{DynamoPage-B1__Rjr2.js → DynamoPage-JzSF-4VI.js} +1 -1
- package/dist/ui/assets/DynamoTablePage-uM0DXGCo.js +3 -0
- package/dist/ui/assets/LambdaDetailPage-CoR9ZXdb.js +4 -0
- package/dist/ui/assets/LambdasPage-CNMX_O5P.js +1 -0
- package/dist/ui/assets/OpenSearchCollectionPage-D5FaSCF1.js +1 -0
- package/dist/ui/assets/OpenSearchPage-FEzLxaej.js +1 -0
- package/dist/ui/assets/OverviewPage-0xvjT7Q0.js +1 -0
- package/dist/ui/assets/OverviewPage-qEl0a-0B.css +1 -0
- package/dist/ui/assets/QueueDetailPage-B2GaNLLe.js +1 -0
- package/dist/ui/assets/QueuesPage-Ch5kGwrp.js +1 -0
- package/dist/ui/assets/ServiceDetailPage-DKiz21oo.js +2 -0
- package/dist/ui/assets/ServicesPage-Cmi3UIfM.js +2 -0
- package/dist/ui/assets/index-DH7RTkRh.css +1 -0
- package/dist/ui/assets/index-MF9fVrsr.js +37 -0
- package/dist/ui/index.html +2 -2
- package/package.json +3 -1
- package/dist/ui/assets/ApisPage-DdgKjEdS.js +0 -1
- package/dist/ui/assets/BucketDetailPage-DZQGxm0y.js +0 -1
- package/dist/ui/assets/BucketsPage-xYXzxCvd.js +0 -1
- package/dist/ui/assets/DynamoTablePage-BCoxPdXW.js +0 -3
- package/dist/ui/assets/LambdaDetailPage-B85CA8tb.js +0 -4
- package/dist/ui/assets/LambdasPage-_TtxQMT_.js +0 -1
- package/dist/ui/assets/OverviewPage-6jDXV1jr.css +0 -1
- package/dist/ui/assets/OverviewPage-CqTKTY64.js +0 -1
- package/dist/ui/assets/QueueDetailPage-BOr_sImA.js +0 -1
- package/dist/ui/assets/QueuesPage-DpByfcM5.js +0 -1
- package/dist/ui/assets/ServiceDetailPage-DsWgV-ad.js +0 -2
- package/dist/ui/assets/ServicesPage-CGlpsj98.js +0 -2
- package/dist/ui/assets/index-BWlB542w.js +0 -36
- package/dist/ui/assets/index-EYnsoJOq.css +0 -1
|
@@ -4,10 +4,20 @@ import { SNSClient, CreateTopicCommand, ListTopicsCommand, DeleteTopicCommand }
|
|
|
4
4
|
import { S3Client, CreateBucketCommand, ListBucketsCommand, DeleteBucketCommand, PutBucketVersioningCommand, PutBucketNotificationConfigurationCommand, ListObjectsV2Command, DeleteObjectCommand, } from '@aws-sdk/client-s3';
|
|
5
5
|
import { LambdaClient, CreateFunctionCommand, GetFunctionCommand, DeleteFunctionCommand, AddPermissionCommand, UpdateFunctionConfigurationCommand } from '@aws-sdk/client-lambda';
|
|
6
6
|
import { CreateEventSourceMappingCommand, ListEventSourceMappingsCommand, DeleteEventSourceMappingCommand } from '@aws-sdk/client-lambda';
|
|
7
|
+
import { EventBridgeClient, CreateEventBusCommand, DeleteEventBusCommand, PutRuleCommand, PutTargetsCommand, RemoveTargetsCommand, DeleteRuleCommand, } from '@aws-sdk/client-eventbridge';
|
|
8
|
+
import { OpenSearchServerlessClient, CreateCollectionCommand, BatchGetCollectionCommand, DeleteCollectionCommand, ListCollectionsCommand, } from '@aws-sdk/client-opensearchserverless';
|
|
7
9
|
import { LocalStackManager } from './localstack-manager.js';
|
|
8
10
|
import { ConfigManager } from './config-manager.js';
|
|
9
11
|
import { SeedManager } from './seed-manager.js';
|
|
10
12
|
import AdmZip from 'adm-zip';
|
|
13
|
+
// Which base endpoint aoss clients (and the collection data-plane URLs LSS
|
|
14
|
+
// logs) must target: the in-process sidecar when it is enabled — no LocalStack
|
|
15
|
+
// edition provides aoss — else the active engine (the self engine serves aoss
|
|
16
|
+
// natively). Exported so tests can pin the choice directly.
|
|
17
|
+
export function aossEndpoint(config, engineEndpoint) {
|
|
18
|
+
const sidecar = config.getAossSidecarConfig();
|
|
19
|
+
return sidecar.enabled ? sidecar.endpoint : engineEndpoint;
|
|
20
|
+
}
|
|
11
21
|
export class ResourceProvisioner {
|
|
12
22
|
static instance;
|
|
13
23
|
dynamoClient;
|
|
@@ -15,11 +25,13 @@ export class ResourceProvisioner {
|
|
|
15
25
|
snsClient;
|
|
16
26
|
s3Client;
|
|
17
27
|
lambdaClient;
|
|
28
|
+
eventBridgeClient;
|
|
29
|
+
openSearchClient;
|
|
18
30
|
currentRegion = 'us-east-1';
|
|
19
31
|
// CFN logical id → resource snapshot for the service currently being
|
|
20
32
|
// provisioned. Lets resolveEventSourceArn map Fn::GetAtt references
|
|
21
33
|
// (e.g. "OrderProcessingQueue") to the real resource name in LocalStack
|
|
22
|
-
// (e.g. "
|
|
34
|
+
// (e.g. "localstack-ultimate-OrderProcessing") even when the user
|
|
23
35
|
// sets an explicit TableName/QueueName that doesn't match the logical id.
|
|
24
36
|
resourcesByLogicalId = new Map();
|
|
25
37
|
constructor() {
|
|
@@ -44,6 +56,12 @@ export class ResourceProvisioner {
|
|
|
44
56
|
// rather than as a virtual-host subdomain (which resolves to host.docker.internal).
|
|
45
57
|
this.s3Client = new S3Client({ ...config, forcePathStyle: true });
|
|
46
58
|
this.lambdaClient = new LambdaClient(config);
|
|
59
|
+
this.eventBridgeClient = new EventBridgeClient(config);
|
|
60
|
+
// aoss lives on the sidecar when enabled, not on the engine endpoint.
|
|
61
|
+
this.openSearchClient = new OpenSearchServerlessClient({
|
|
62
|
+
...config,
|
|
63
|
+
endpoint: aossEndpoint(ConfigManager.getInstance(), baseConfig.endpoint),
|
|
64
|
+
});
|
|
47
65
|
}
|
|
48
66
|
getS3Client() {
|
|
49
67
|
return this.s3Client;
|
|
@@ -93,6 +111,14 @@ export class ResourceProvisioner {
|
|
|
93
111
|
await this.createS3Bucket(resource);
|
|
94
112
|
provisionedCount++;
|
|
95
113
|
break;
|
|
114
|
+
case 'eventbus':
|
|
115
|
+
await this.createEventBus(resource);
|
|
116
|
+
provisionedCount++;
|
|
117
|
+
break;
|
|
118
|
+
case 'opensearch':
|
|
119
|
+
await this.createOpenSearchCollection(resource);
|
|
120
|
+
provisionedCount++;
|
|
121
|
+
break;
|
|
96
122
|
}
|
|
97
123
|
}
|
|
98
124
|
catch (error) {
|
|
@@ -117,6 +143,19 @@ export class ResourceProvisioner {
|
|
|
117
143
|
}
|
|
118
144
|
}
|
|
119
145
|
}
|
|
146
|
+
// EventBridge rules ride the same proxy model as event source mappings:
|
|
147
|
+
// rule + pattern on the bus → Lambda proxy in LocalStack → LSS invoke API.
|
|
148
|
+
const eventRules = resources.filter(r => r.type === 'event-rule');
|
|
149
|
+
for (const rule of eventRules) {
|
|
150
|
+
try {
|
|
151
|
+
await this.createEventRule(serviceName, rule, invokeUrl);
|
|
152
|
+
provisionedCount++;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
156
|
+
console.error(`Failed to provision event-rule ${rule.name}:`, errorMessage);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
120
159
|
// Third pass: Wire S3 bucket notifications to Lambda proxies.
|
|
121
160
|
// Done after event-source pass so proxies created there are available; the
|
|
122
161
|
// wiring also creates a proxy on demand when only S3 (no SQS/Dynamo) triggers it.
|
|
@@ -374,14 +413,13 @@ export const handler = async (event, context) => {
|
|
|
374
413
|
const invokeUrl = process.env.INVOKE_URL || '${invokeUrl}';
|
|
375
414
|
const parsedUrl = url.parse(invokeUrl);
|
|
376
415
|
|
|
377
|
-
//
|
|
378
|
-
//
|
|
379
|
-
//
|
|
416
|
+
// SQS/DynamoDB/SNS deliver batches under Records; EventBridge delivers the
|
|
417
|
+
// event object itself (source / detail-type / detail) with no wrapper — real
|
|
418
|
+
// AWS Lambda targets read event.detail directly, so wrapping it would break
|
|
419
|
+
// handlers written for production. Wrap only non-EventBridge-shaped events.
|
|
380
420
|
let transformedEvent = event;
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
// Otherwise wrap it in a Records array
|
|
384
|
-
if (!event.Records) {
|
|
421
|
+
const isEventBridgeEvent = Boolean(event && event['detail-type'] !== undefined && event.source !== undefined);
|
|
422
|
+
if (!event.Records && !isEventBridgeEvent) {
|
|
385
423
|
transformedEvent = {
|
|
386
424
|
Records: [event]
|
|
387
425
|
};
|
|
@@ -435,7 +473,7 @@ export const handler = async (event, context) => {
|
|
|
435
473
|
async createEventSourceMapping(serviceName, mapping, invokeUrl) {
|
|
436
474
|
try {
|
|
437
475
|
// Use the fully-qualified Lambda name straight from the CFN template
|
|
438
|
-
// (e.g. "
|
|
476
|
+
// (e.g. "localstack-ultimate-dev-processOrderQueue"). This is what
|
|
439
477
|
// serverless-offline's invoke endpoint (lambdaPort) requires; shorter
|
|
440
478
|
// forms return 404 "Function not found".
|
|
441
479
|
const actualFunctionName = this.resolveLambdaName(serviceName, mapping.functionName);
|
|
@@ -493,6 +531,122 @@ export const handler = async (event, context) => {
|
|
|
493
531
|
}
|
|
494
532
|
}
|
|
495
533
|
}
|
|
534
|
+
async createOpenSearchCollection(resource) {
|
|
535
|
+
try {
|
|
536
|
+
await this.openSearchClient.send(new CreateCollectionCommand({
|
|
537
|
+
name: resource.name,
|
|
538
|
+
type: resource.collectionType,
|
|
539
|
+
description: resource.description,
|
|
540
|
+
}));
|
|
541
|
+
// The same base the client above targeted, so the logged data-plane URL
|
|
542
|
+
// is the one that actually answers.
|
|
543
|
+
const base = aossEndpoint(ConfigManager.getInstance(), LocalStackManager.getInstance().getConfig().endpoint);
|
|
544
|
+
const endpoint = `${base}/_aoss/${resource.name}`;
|
|
545
|
+
console.log(` ✓ Created OpenSearch collection: ${resource.name} (endpoint: ${endpoint})`);
|
|
546
|
+
}
|
|
547
|
+
catch (error) {
|
|
548
|
+
if (error?.name === 'ConflictException' || error?.message?.includes('already exist')) {
|
|
549
|
+
console.log(` ⚠ OpenSearch collection already exists: ${resource.name}`);
|
|
550
|
+
}
|
|
551
|
+
else if (error?.message?.includes('not yet implemented') || error?.message?.includes('pro feature')) {
|
|
552
|
+
// LocalStack has no aoss provider (someone disabled the sidecar) — say
|
|
553
|
+
// so instead of surfacing an opaque 501. Matched on the LocalStack
|
|
554
|
+
// message, not the error name, so genuine self-engine failures stay
|
|
555
|
+
// untouched.
|
|
556
|
+
throw new Error(`${error.message} — OpenSearch Serverless needs the self engine ("engine": "self"), ` +
|
|
557
|
+
'the LSS aoss sidecar (aossSidecar.enabled), or an engine that supports aoss');
|
|
558
|
+
}
|
|
559
|
+
else {
|
|
560
|
+
throw error;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
async createEventBus(resource) {
|
|
565
|
+
try {
|
|
566
|
+
await this.eventBridgeClient.send(new CreateEventBusCommand({ Name: resource.name }));
|
|
567
|
+
console.log(` ✓ Created EventBridge bus: ${resource.name}`);
|
|
568
|
+
}
|
|
569
|
+
catch (error) {
|
|
570
|
+
if (error?.name === 'ResourceAlreadyExistsException') {
|
|
571
|
+
console.log(` ⚠ EventBridge bus already exists: ${resource.name}`);
|
|
572
|
+
}
|
|
573
|
+
else {
|
|
574
|
+
throw error;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
// Resolve a rule's EventBusName: a logical id from the same template maps to
|
|
579
|
+
// the provisioned bus name; anything else is a literal name/ARN, both of
|
|
580
|
+
// which PutRule/PutTargets accept. Undefined targets the default bus.
|
|
581
|
+
resolveEventBusName(busRef) {
|
|
582
|
+
if (!busRef)
|
|
583
|
+
return undefined;
|
|
584
|
+
const direct = this.resourcesByLogicalId.get(busRef);
|
|
585
|
+
if (direct && direct.type === 'eventbus') {
|
|
586
|
+
return direct.name;
|
|
587
|
+
}
|
|
588
|
+
return busRef;
|
|
589
|
+
}
|
|
590
|
+
async createEventRule(serviceName, rule, invokeUrl) {
|
|
591
|
+
if (rule.eventBusUnresolved) {
|
|
592
|
+
// Binding it to the default bus instead would "work" but never match the
|
|
593
|
+
// producers' events — skipping with a warning is the honest failure.
|
|
594
|
+
console.warn(` ⚠ Skipped EventBridge rule ${rule.name}: EventBusName could not be resolved from the template (e.g. Fn::ImportValue).`);
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
const eventBusName = this.resolveEventBusName(rule.eventBusRef);
|
|
598
|
+
// PutRule/PutTargets are upserts, so re-registration is naturally idempotent.
|
|
599
|
+
await this.eventBridgeClient.send(new PutRuleCommand({
|
|
600
|
+
Name: rule.name,
|
|
601
|
+
EventBusName: eventBusName,
|
|
602
|
+
EventPattern: rule.eventPattern ? JSON.stringify(rule.eventPattern) : undefined,
|
|
603
|
+
ScheduleExpression: rule.scheduleExpression,
|
|
604
|
+
State: rule.enabled ? 'ENABLED' : 'DISABLED',
|
|
605
|
+
}));
|
|
606
|
+
console.log(` ✓ Put EventBridge rule: ${rule.name}${eventBusName ? ` (bus: ${eventBusName})` : ''}`);
|
|
607
|
+
const targets = [];
|
|
608
|
+
for (const target of rule.targets) {
|
|
609
|
+
// Targets arrive as logical ids (Fn::GetAtt) or literal Lambda ARNs.
|
|
610
|
+
const actualFunctionName = target.functionRef.startsWith('arn:aws:')
|
|
611
|
+
? target.functionRef.split(':function:')[1]?.split(':')[0]
|
|
612
|
+
: this.resolveLambdaName(serviceName, target.functionRef);
|
|
613
|
+
if (!actualFunctionName) {
|
|
614
|
+
console.warn(` ⚠ Skipped EventBridge target ${target.id} on rule ${rule.name}: unsupported target ${target.functionRef}`);
|
|
615
|
+
continue;
|
|
616
|
+
}
|
|
617
|
+
await this.ensureLambdaProxyExists(serviceName, actualFunctionName, actualFunctionName, invokeUrl);
|
|
618
|
+
const ruleArn = `arn:aws:events:${this.currentRegion}:000000000000:rule/${eventBusName ? `${eventBusName}/` : ''}${rule.name}`;
|
|
619
|
+
try {
|
|
620
|
+
await this.lambdaClient.send(new AddPermissionCommand({
|
|
621
|
+
FunctionName: actualFunctionName,
|
|
622
|
+
StatementId: `events-invoke-${rule.name}`,
|
|
623
|
+
Action: 'lambda:InvokeFunction',
|
|
624
|
+
Principal: 'events.amazonaws.com',
|
|
625
|
+
SourceArn: ruleArn,
|
|
626
|
+
}));
|
|
627
|
+
}
|
|
628
|
+
catch (error) {
|
|
629
|
+
// ResourceConflictException = statement already exists, which is fine.
|
|
630
|
+
if (error?.name !== 'ResourceConflictException') {
|
|
631
|
+
console.warn(` ⚠ Could not add EventBridge invoke permission for ${actualFunctionName}: ${error?.message || error}`);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
targets.push({
|
|
635
|
+
Id: target.id,
|
|
636
|
+
Arn: `arn:aws:lambda:${this.currentRegion}:000000000000:function:${actualFunctionName}`,
|
|
637
|
+
Input: target.input,
|
|
638
|
+
InputPath: target.inputPath,
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
if (targets.length === 0)
|
|
642
|
+
return;
|
|
643
|
+
await this.eventBridgeClient.send(new PutTargetsCommand({
|
|
644
|
+
Rule: rule.name,
|
|
645
|
+
EventBusName: eventBusName,
|
|
646
|
+
Targets: targets,
|
|
647
|
+
}));
|
|
648
|
+
console.log(` ✓ Wired ${targets.length} target(s) on EventBridge rule: ${rule.name}`);
|
|
649
|
+
}
|
|
496
650
|
async ensureLambdaProxyExists(serviceName, proxyName, invokeName, invokeUrl) {
|
|
497
651
|
try {
|
|
498
652
|
// Check if function already exists
|
|
@@ -663,13 +817,20 @@ export const handler = async (event, context) => {
|
|
|
663
817
|
const s3 = region && region !== this.currentRegion
|
|
664
818
|
? new S3Client({ ...config, forcePathStyle: true })
|
|
665
819
|
: this.s3Client;
|
|
666
|
-
const
|
|
820
|
+
const aoss = region && region !== this.currentRegion
|
|
821
|
+
? new OpenSearchServerlessClient({
|
|
822
|
+
...config,
|
|
823
|
+
endpoint: aossEndpoint(ConfigManager.getInstance(), baseConfig.endpoint),
|
|
824
|
+
})
|
|
825
|
+
: this.openSearchClient;
|
|
826
|
+
const [tables, queues, topics, buckets, collections] = await Promise.all([
|
|
667
827
|
this.listDynamoDBTables(dynamo),
|
|
668
828
|
this.listSQSQueues(sqs),
|
|
669
829
|
this.listSNSTopics(sns),
|
|
670
830
|
this.listS3Buckets(s3),
|
|
831
|
+
this.listOpenSearchCollections(aoss),
|
|
671
832
|
]);
|
|
672
|
-
return { tables, queues, topics, buckets };
|
|
833
|
+
return { tables, queues, topics, buckets, collections };
|
|
673
834
|
}
|
|
674
835
|
async listDynamoDBTables(client = this.dynamoClient) {
|
|
675
836
|
try {
|
|
@@ -710,12 +871,35 @@ export const handler = async (event, context) => {
|
|
|
710
871
|
return [];
|
|
711
872
|
}
|
|
712
873
|
}
|
|
874
|
+
// Empty on engines without aoss (community LocalStack) — the dashboard just
|
|
875
|
+
// shows zero collections there.
|
|
876
|
+
async listOpenSearchCollections(client = this.openSearchClient) {
|
|
877
|
+
try {
|
|
878
|
+
const response = await client.send(new ListCollectionsCommand({}));
|
|
879
|
+
return response.collectionSummaries?.map(c => c.name || '').filter(n => n !== '') || [];
|
|
880
|
+
}
|
|
881
|
+
catch {
|
|
882
|
+
return [];
|
|
883
|
+
}
|
|
884
|
+
}
|
|
713
885
|
async cleanupResources(serviceName, resources) {
|
|
714
886
|
if (!resources || resources.length === 0) {
|
|
715
887
|
console.log(`No resources to clean up for ${serviceName}`);
|
|
716
888
|
return;
|
|
717
889
|
}
|
|
890
|
+
// Rebuild the logical id map so event-rule cleanup can resolve which bus
|
|
891
|
+
// each rule lives on (same lookup provisioning uses).
|
|
892
|
+
this.resourcesByLogicalId.clear();
|
|
893
|
+
for (const r of resources) {
|
|
894
|
+
if ('logicalId' in r && r.logicalId) {
|
|
895
|
+
this.resourcesByLogicalId.set(r.logicalId, r);
|
|
896
|
+
}
|
|
897
|
+
}
|
|
718
898
|
let cleaned = 0;
|
|
899
|
+
// Buses are deleted after the main loop: EventBridge refuses to delete a
|
|
900
|
+
// bus that still has rules, and template order doesn't guarantee the rules
|
|
901
|
+
// come first.
|
|
902
|
+
const eventBuses = [];
|
|
719
903
|
for (const resource of resources) {
|
|
720
904
|
try {
|
|
721
905
|
switch (resource.type) {
|
|
@@ -735,6 +919,17 @@ export const handler = async (event, context) => {
|
|
|
735
919
|
await this.deleteS3Bucket(resource.name);
|
|
736
920
|
cleaned++;
|
|
737
921
|
break;
|
|
922
|
+
case 'eventbus':
|
|
923
|
+
eventBuses.push(resource);
|
|
924
|
+
break;
|
|
925
|
+
case 'event-rule':
|
|
926
|
+
await this.deleteEventRule(resource);
|
|
927
|
+
cleaned++;
|
|
928
|
+
break;
|
|
929
|
+
case 'opensearch':
|
|
930
|
+
await this.deleteOpenSearchCollection(resource.name);
|
|
931
|
+
cleaned++;
|
|
932
|
+
break;
|
|
738
933
|
case 'event-source':
|
|
739
934
|
await this.deleteEventSourceMapping(serviceName, resource.functionName);
|
|
740
935
|
cleaned++;
|
|
@@ -747,8 +942,59 @@ export const handler = async (event, context) => {
|
|
|
747
942
|
console.error(`Failed to cleanup ${resource.type}:${resourceName}:`, errorMessage);
|
|
748
943
|
}
|
|
749
944
|
}
|
|
945
|
+
for (const bus of eventBuses) {
|
|
946
|
+
try {
|
|
947
|
+
await this.deleteEventBus(bus.name);
|
|
948
|
+
cleaned++;
|
|
949
|
+
}
|
|
950
|
+
catch (error) {
|
|
951
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
952
|
+
console.error(`Failed to cleanup eventbus:${bus.name}:`, errorMessage);
|
|
953
|
+
}
|
|
954
|
+
}
|
|
750
955
|
console.log(`✅ Cleaned up ${cleaned} resources for ${serviceName}`);
|
|
751
956
|
}
|
|
957
|
+
async deleteOpenSearchCollection(name) {
|
|
958
|
+
// DeleteCollection takes the collection id — resolve it from the name.
|
|
959
|
+
const found = await this.openSearchClient.send(new BatchGetCollectionCommand({ names: [name] }));
|
|
960
|
+
const id = found.collectionDetails?.[0]?.id;
|
|
961
|
+
if (!id) {
|
|
962
|
+
console.log(`OpenSearch collection not found (already deleted?): ${name}`);
|
|
963
|
+
return;
|
|
964
|
+
}
|
|
965
|
+
await this.openSearchClient.send(new DeleteCollectionCommand({ id }));
|
|
966
|
+
console.log(`Deleted OpenSearch collection: ${name}`);
|
|
967
|
+
}
|
|
968
|
+
async deleteEventRule(rule) {
|
|
969
|
+
const eventBusName = this.resolveEventBusName(rule.eventBusRef);
|
|
970
|
+
try {
|
|
971
|
+
if (rule.targets.length > 0) {
|
|
972
|
+
await this.eventBridgeClient.send(new RemoveTargetsCommand({
|
|
973
|
+
Rule: rule.name,
|
|
974
|
+
EventBusName: eventBusName,
|
|
975
|
+
Ids: rule.targets.map(t => t.id),
|
|
976
|
+
}));
|
|
977
|
+
}
|
|
978
|
+
await this.eventBridgeClient.send(new DeleteRuleCommand({ Name: rule.name, EventBusName: eventBusName }));
|
|
979
|
+
console.log(`Deleted EventBridge rule: ${rule.name}`);
|
|
980
|
+
}
|
|
981
|
+
catch (error) {
|
|
982
|
+
if (error?.name !== 'ResourceNotFoundException') {
|
|
983
|
+
throw error;
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
async deleteEventBus(busName) {
|
|
988
|
+
try {
|
|
989
|
+
await this.eventBridgeClient.send(new DeleteEventBusCommand({ Name: busName }));
|
|
990
|
+
console.log(`Deleted EventBridge bus: ${busName}`);
|
|
991
|
+
}
|
|
992
|
+
catch (error) {
|
|
993
|
+
if (error?.name !== 'ResourceNotFoundException') {
|
|
994
|
+
throw error;
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
}
|
|
752
998
|
async deleteDynamoDBTable(tableName) {
|
|
753
999
|
try {
|
|
754
1000
|
await this.dynamoClient.send(new DeleteTableCommand({ TableName: tableName }));
|
|
@@ -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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"}
|
|
@@ -13,6 +13,7 @@ export interface RegisterResult {
|
|
|
13
13
|
routesCount: number;
|
|
14
14
|
warnings: string[];
|
|
15
15
|
}
|
|
16
|
+
export declare function isInsideProject(serviceRoot: string, projectRoot: string): boolean;
|
|
16
17
|
export declare class ServiceRegistrar {
|
|
17
18
|
private static instance;
|
|
18
19
|
private cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-registrar.d.ts","sourceRoot":"","sources":["../../../src/server/services/service-registrar.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,QAAQ,EAAkB,MAAM,4BAA4B,CAAC;AAM5F,OAAO,EAAgB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASnE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"service-registrar.d.ts","sourceRoot":"","sources":["../../../src/server/services/service-registrar.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,QAAQ,EAAkB,MAAM,4BAA4B,CAAC;AAM5F,OAAO,EAAgB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASnE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAGjF;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,UAAU,CAAS;IAE3B,MAAM,CAAC,WAAW,IAAI,gBAAgB;YAOxB,WAAW;IAQnB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAoHvD,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BlD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B7B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB9C,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAOtC,YAAY;YAyDZ,SAAS;CAQxB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACvB,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIvD"}
|
|
@@ -17,6 +17,11 @@ import { SourceWatcher } from './source-watcher.js';
|
|
|
17
17
|
import { runServerlessPackage, ServerlessPackageError } from './serverless-packager.js';
|
|
18
18
|
const cfnParser = new CloudFormationParser();
|
|
19
19
|
const stateParser = new ServerlessStateParser();
|
|
20
|
+
// True when `serviceRoot` is `projectRoot` itself or lives underneath it.
|
|
21
|
+
export function isInsideProject(serviceRoot, projectRoot) {
|
|
22
|
+
const rel = path.relative(path.resolve(projectRoot), path.resolve(serviceRoot));
|
|
23
|
+
return rel === '' || (!rel.startsWith('..') && !path.isAbsolute(rel));
|
|
24
|
+
}
|
|
20
25
|
export class ServiceRegistrar {
|
|
21
26
|
static instance;
|
|
22
27
|
cache = new CacheManager();
|
|
@@ -40,14 +45,14 @@ export class ServiceRegistrar {
|
|
|
40
45
|
const resolvedPath = path.resolve(input.servicePath);
|
|
41
46
|
const dirName = path.basename(resolvedPath);
|
|
42
47
|
const effectiveRegion = input.region || configManager.getConfig().region || 'us-east-1';
|
|
48
|
+
const warnings = [];
|
|
43
49
|
const template = await this.readTemplate(resolvedPath, dirName);
|
|
44
|
-
const resources = cfnParser.parse(template);
|
|
50
|
+
const resources = cfnParser.parse(template, warnings);
|
|
45
51
|
const templateHash = cfnParser.calculateHash(template);
|
|
46
52
|
// serverless-state.json is the declarative source for routes/authorizers.
|
|
47
53
|
// Missing state (older setups) degrades gracefully: functions still come
|
|
48
54
|
// from the CFN template, HTTP routes are just unavailable.
|
|
49
55
|
const state = await this.readState(resolvedPath);
|
|
50
|
-
const warnings = [];
|
|
51
56
|
let functions = [];
|
|
52
57
|
let routes = [];
|
|
53
58
|
let authorizers = [];
|
|
@@ -164,17 +169,27 @@ export class ServiceRegistrar {
|
|
|
164
169
|
}
|
|
165
170
|
async rehydrateAll() {
|
|
166
171
|
const cache = await this.ensureCache();
|
|
172
|
+
const projectRoot = ConfigManager.getInstance().getProjectRoot();
|
|
167
173
|
const services = await cache.listServices();
|
|
174
|
+
let reactivated = 0;
|
|
168
175
|
for (const metadata of services) {
|
|
176
|
+
// The cache dir is project-scoped, so entries here belong to this
|
|
177
|
+
// orchestrator even when their sources live outside the config file's
|
|
178
|
+
// directory (config under infra/, services elsewhere) — register()
|
|
179
|
+
// accepts those layouts, so rehydration must too. Log it for forensics.
|
|
180
|
+
if (metadata.root && !isInsideProject(metadata.root, projectRoot)) {
|
|
181
|
+
console.log(`ℹ️ Cached service "${metadata.name}" has its root outside the project root (${metadata.root}) — reactivating anyway`);
|
|
182
|
+
}
|
|
169
183
|
try {
|
|
170
184
|
await this.activate(metadata);
|
|
185
|
+
reactivated++;
|
|
171
186
|
}
|
|
172
187
|
catch (err) {
|
|
173
188
|
console.error(`❌ Failed to activate cached service "${metadata.name}":`, err);
|
|
174
189
|
}
|
|
175
190
|
}
|
|
176
|
-
if (
|
|
177
|
-
console.log(`🔁 Reactivated ${
|
|
191
|
+
if (reactivated) {
|
|
192
|
+
console.log(`🔁 Reactivated ${reactivated} cached service(s)`);
|
|
178
193
|
}
|
|
179
194
|
}
|
|
180
195
|
// Full reload for the watcher: re-package (when autoPackage allows) and
|