@betterportal/config-manager 10.6.8 → 10.6.10
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/lib/.bsb/clients/service-betterportal-config-manager.d.ts +27 -8
- package/lib/.bsb/clients/service-betterportal-config-manager.d.ts.map +1 -1
- package/lib/.bsb/clients/service-betterportal-config-manager.js +19 -6
- package/lib/.bsb/clients/service-betterportal-config-manager.js.map +1 -1
- package/lib/bp-contracts/org.betterportal.config-manager.json +4 -2
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts +10 -4
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js +2 -1
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.js +85 -30
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.d.ts +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.js +34 -24
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/config.GET.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/config.GET.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/config.GET.js +9 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/config.GET.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.d.ts +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_renderer.bootstrap5/GET.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_renderer.bootstrap5/GET.js +11 -5
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_renderer.bootstrap5/GET.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.d.ts +3 -1
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.js +17 -9
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/index.d.ts +25 -7
- package/lib/plugins/service-betterportal-config-manager/index.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/index.js +98 -25
- package/lib/plugins/service-betterportal-config-manager/index.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.js +13 -11
- package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/setupTokens.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/setupTokens.js +93 -16
- package/lib/plugins/service-betterportal-config-manager/setupTokens.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/core.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/index.js +5 -2
- package/lib/plugins/service-betterportal-config-manager/storage/index.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts +101 -1
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js +393 -24
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts +2 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/syncApi.js +19 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/webhooks.d.ts +3 -1
- package/lib/plugins/service-betterportal-config-manager/webhooks.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/webhooks.js +41 -44
- package/lib/plugins/service-betterportal-config-manager/webhooks.js.map +1 -1
- package/lib/schemas/service-betterportal-config-manager.json +32 -15
- package/lib/schemas/service-betterportal-config-manager.plugin.json +9 -2
- package/package.json +3 -3
|
@@ -25,6 +25,7 @@ declare const Config: import("@bsb/base").BSBPluginConfigClass<av.ObjectSchema<{
|
|
|
25
25
|
connectionString: av.StringSchema;
|
|
26
26
|
tableName: av.OptionalSchema<av.StringSchema>;
|
|
27
27
|
rowId: av.OptionalSchema<av.StringSchema>;
|
|
28
|
+
legacyConfigPath: av.OptionalSchema<av.StringSchema>;
|
|
28
29
|
}>]>;
|
|
29
30
|
requestTimeoutMs: av.IntSchema;
|
|
30
31
|
/** Path to RSA keypair JSON used to sign envelope/setup tokens. Auto-generated on first boot. */
|
|
@@ -35,15 +36,20 @@ declare const Config: import("@bsb/base").BSBPluginConfigClass<av.ObjectSchema<{
|
|
|
35
36
|
cpAudience: av.StringSchema;
|
|
36
37
|
}>>;
|
|
37
38
|
declare const EventSchemas: {
|
|
38
|
-
readonly emitEvents: {
|
|
39
|
+
readonly emitEvents: {
|
|
40
|
+
readonly "webhook.delivery.available": {
|
|
41
|
+
input: av.ObjectSchema<{}>;
|
|
42
|
+
description?: string;
|
|
43
|
+
readonly __brand: "fire-and-forget";
|
|
44
|
+
};
|
|
45
|
+
};
|
|
39
46
|
readonly onEvents: {};
|
|
40
47
|
readonly emitReturnableEvents: {};
|
|
41
48
|
readonly onReturnableEvents: {};
|
|
42
49
|
readonly emitBroadcast: {
|
|
43
50
|
readonly "platform-config.changed": {
|
|
44
51
|
input: av.ObjectSchema<{
|
|
45
|
-
|
|
46
|
-
backend: av.EnumSchema<readonly ["file", "postgres"]>;
|
|
52
|
+
revision: av.NumberSchema;
|
|
47
53
|
}>;
|
|
48
54
|
description?: string;
|
|
49
55
|
readonly __brand: "broadcast";
|
|
@@ -74,6 +80,7 @@ export declare class Plugin extends BPService<InstanceType<typeof Config>, typeo
|
|
|
74
80
|
connectionString: av.StringSchema;
|
|
75
81
|
tableName: av.OptionalSchema<av.StringSchema>;
|
|
76
82
|
rowId: av.OptionalSchema<av.StringSchema>;
|
|
83
|
+
legacyConfigPath: av.OptionalSchema<av.StringSchema>;
|
|
77
84
|
}>]>;
|
|
78
85
|
requestTimeoutMs: av.IntSchema;
|
|
79
86
|
/** Path to RSA keypair JSON used to sign envelope/setup tokens. Auto-generated on first boot. */
|
|
@@ -84,15 +91,20 @@ export declare class Plugin extends BPService<InstanceType<typeof Config>, typeo
|
|
|
84
91
|
cpAudience: av.StringSchema;
|
|
85
92
|
}>>;
|
|
86
93
|
static EventSchemas: {
|
|
87
|
-
readonly emitEvents: {
|
|
94
|
+
readonly emitEvents: {
|
|
95
|
+
readonly "webhook.delivery.available": {
|
|
96
|
+
input: av.ObjectSchema<{}>;
|
|
97
|
+
description?: string;
|
|
98
|
+
readonly __brand: "fire-and-forget";
|
|
99
|
+
};
|
|
100
|
+
};
|
|
88
101
|
readonly onEvents: {};
|
|
89
102
|
readonly emitReturnableEvents: {};
|
|
90
103
|
readonly onReturnableEvents: {};
|
|
91
104
|
readonly emitBroadcast: {
|
|
92
105
|
readonly "platform-config.changed": {
|
|
93
106
|
input: av.ObjectSchema<{
|
|
94
|
-
|
|
95
|
-
backend: av.EnumSchema<readonly ["file", "postgres"]>;
|
|
107
|
+
revision: av.NumberSchema;
|
|
96
108
|
}>;
|
|
97
109
|
description?: string;
|
|
98
110
|
readonly __brand: "broadcast";
|
|
@@ -104,7 +116,12 @@ export declare class Plugin extends BPService<InstanceType<typeof Config>, typeo
|
|
|
104
116
|
private storage;
|
|
105
117
|
private webhookRuntime?;
|
|
106
118
|
private previewExpiryTimer?;
|
|
107
|
-
private
|
|
119
|
+
private outboxTimer?;
|
|
120
|
+
private outboxDrain?;
|
|
121
|
+
private readonly workerId;
|
|
122
|
+
private lastConfigRevision;
|
|
123
|
+
private fileConfigRevision;
|
|
124
|
+
private postgresStorage?;
|
|
108
125
|
private readonly selfClient;
|
|
109
126
|
/** CP-side signing keypair + issuer/audience info. Built on first init. */
|
|
110
127
|
private cpState;
|
|
@@ -158,6 +175,7 @@ export declare class Plugin extends BPService<InstanceType<typeof Config>, typeo
|
|
|
158
175
|
private removeExpiredPreviews;
|
|
159
176
|
dispose(): Promise<void>;
|
|
160
177
|
private withChangeBroadcasts;
|
|
178
|
+
private startOutbox;
|
|
161
179
|
private populateConfigAdminContext;
|
|
162
180
|
private populateServicesContext;
|
|
163
181
|
private populateRoutesContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createBroadcastEvent, createConfigSchema, createEventSchemas } from "@bsb/base";
|
|
1
|
+
import { createBroadcastEvent, createConfigSchema, createEventSchemas, createFireAndForgetEvent } from "@bsb/base";
|
|
2
2
|
import * as av from "anyvali";
|
|
3
3
|
import { BPService, BetterPortalConfigSchema } from "@betterportal/plugin-bsb";
|
|
4
4
|
import { resolve } from "node:path";
|
|
@@ -10,7 +10,7 @@ import { registerAdminApiRoutes } from "./adminApi.js";
|
|
|
10
10
|
import { registerMenuEditorRoutes } from "./menuEditor.js";
|
|
11
11
|
import { registerFragmentsEditorRoutes } from "./fragmentsEditor.js";
|
|
12
12
|
import { registerWebhookRoutes } from "./webhooks.js";
|
|
13
|
-
import { analyzeOperationDependencies, deriveRolePermissions, getCachedManifestForService, getManifestCache, reconcileServiceRegistry, registerSyncEndpoint } from "./syncApi.js";
|
|
13
|
+
import { analyzeOperationDependencies, deriveRolePermissions, getCachedManifestForService, getManifestCache, hydrateManifestCache, reconcileServiceRegistry, registerSyncEndpoint } from "./syncApi.js";
|
|
14
14
|
import { approveM2MConnections, buildM2MConnectionModel } from "./m2mConnections.js";
|
|
15
15
|
import { registerPreviewDeploymentApi } from "./previewApi.js";
|
|
16
16
|
import { deleteExpiredPreviewDeployments, reconcilePreviewService, visibleAdminConfig } from "./previewEnvironments.js";
|
|
@@ -18,7 +18,7 @@ import { setConfigManagerRouteContext } from "./routeContext.js";
|
|
|
18
18
|
import { isApiRoute } from "./routeMounts.js";
|
|
19
19
|
import { resolveRoleAuthority, resolveRoleSyncUrl } from "./roleAuthority.js";
|
|
20
20
|
import { describeEmbeddedContextResolution, eventHeaders, resolveEmbeddedRequestContext, uuidv7 } from "@betterportal/framework";
|
|
21
|
-
import { createStorageFromConfig, getAvailableServiceInstanceIdsForApp, getServicePluginId, PlatformConfigStorageSchema } from "./storage/index.js";
|
|
21
|
+
import { createStorageFromConfig, getAvailableServiceInstanceIdsForApp, getServicePluginId, PostgresStorage, PlatformConfigStorageSchema } from "./storage/index.js";
|
|
22
22
|
import BetterportalConfigManagerClient from "../../.bsb/clients/service-betterportal-config-manager.js";
|
|
23
23
|
// Parse-only base for relative request URLs. Never emit this origin.
|
|
24
24
|
const RELATIVE_URL_PARSE_BASE = "http://betterportal.invalid";
|
|
@@ -27,7 +27,7 @@ function applyWellKnownCors(event) {
|
|
|
27
27
|
event.res.headers.set("Access-Control-Allow-Origin", origin);
|
|
28
28
|
event.res.headers.set("Vary", "Origin");
|
|
29
29
|
event.res.headers.set("Access-Control-Allow-Methods", "GET,POST,PUT,PATCH,DELETE,OPTIONS");
|
|
30
|
-
event.res.headers.set("Access-Control-Allow-Headers", "Authorization,Content-Type,Accept,HX-Request,HX-Current-URL,HX-Target,HX-Trigger,HX-Trigger-Name,X-BP-Tenant-Id,X-BP-App-Id,traceparent,tracestate,baggage");
|
|
30
|
+
event.res.headers.set("Access-Control-Allow-Headers", "Authorization,Content-Type,Accept,Idempotency-Key,HX-Request,HX-Current-URL,HX-Target,HX-Trigger,HX-Trigger-Name,X-BP-Tenant-Id,X-BP-App-Id,traceparent,tracestate,baggage");
|
|
31
31
|
event.res.headers.set("Access-Control-Expose-Headers", "HX-Location,HX-Redirect,HX-Refresh,HX-Push-Url,HX-Replace-Url,BP-SetHeader,BP-RemoveHeader");
|
|
32
32
|
event.res.headers.set("Access-Control-Max-Age", "600");
|
|
33
33
|
if (event.req.method === "OPTIONS") {
|
|
@@ -52,7 +52,7 @@ function buildServiceIdAliases(config, tenantId) {
|
|
|
52
52
|
}
|
|
53
53
|
const PluginConfigSchema = av.object({
|
|
54
54
|
host: av.string().minLength(1).default("0.0.0.0"),
|
|
55
|
-
port: av.int().min(1).default(
|
|
55
|
+
port: av.int().min(1).default(80),
|
|
56
56
|
betterportal: BetterPortalConfigSchema,
|
|
57
57
|
storage: PlatformConfigStorageSchema,
|
|
58
58
|
requestTimeoutMs: av.int().min(1).default(2000),
|
|
@@ -64,9 +64,9 @@ const PluginConfigSchema = av.object({
|
|
|
64
64
|
cpAudience: av.string().minLength(1).default("betterportal-control-plane")
|
|
65
65
|
});
|
|
66
66
|
const PlatformConfigChangedEventSchema = av.object({
|
|
67
|
-
|
|
68
|
-
backend: av.enum_(["file", "postgres"])
|
|
67
|
+
revision: av.number().min(0)
|
|
69
68
|
});
|
|
69
|
+
const WebhookDeliveryAvailableEventSchema = av.object({});
|
|
70
70
|
const Config = createConfigSchema({
|
|
71
71
|
name: "service-betterportal-config-manager",
|
|
72
72
|
description: "BetterPortal config management admin service",
|
|
@@ -75,12 +75,14 @@ const Config = createConfigSchema({
|
|
|
75
75
|
image: "./betterportal-logo.png"
|
|
76
76
|
}, PluginConfigSchema);
|
|
77
77
|
const EventSchemas = createEventSchemas({
|
|
78
|
-
emitEvents: {
|
|
78
|
+
emitEvents: {
|
|
79
|
+
"webhook.delivery.available": createFireAndForgetEvent(WebhookDeliveryAvailableEventSchema, "Wakes one config-manager instance to process durable webhook deliveries.")
|
|
80
|
+
},
|
|
79
81
|
onEvents: {},
|
|
80
82
|
emitReturnableEvents: {},
|
|
81
83
|
onReturnableEvents: {},
|
|
82
84
|
emitBroadcast: {
|
|
83
|
-
"platform-config.changed": createBroadcastEvent(PlatformConfigChangedEventSchema, "Emitted after platform config is
|
|
85
|
+
"platform-config.changed": createBroadcastEvent(PlatformConfigChangedEventSchema, "Emitted after a platform config revision is committed.")
|
|
84
86
|
},
|
|
85
87
|
onBroadcast: {}
|
|
86
88
|
});
|
|
@@ -91,7 +93,12 @@ export class Plugin extends BPService {
|
|
|
91
93
|
storage;
|
|
92
94
|
webhookRuntime;
|
|
93
95
|
previewExpiryTimer;
|
|
94
|
-
|
|
96
|
+
outboxTimer;
|
|
97
|
+
outboxDrain;
|
|
98
|
+
workerId = uuidv7();
|
|
99
|
+
lastConfigRevision = -1;
|
|
100
|
+
fileConfigRevision = 0;
|
|
101
|
+
postgresStorage;
|
|
95
102
|
selfClient;
|
|
96
103
|
/** CP-side signing keypair + issuer/audience info. Built on first init. */
|
|
97
104
|
cpState;
|
|
@@ -243,17 +250,27 @@ export class Plugin extends BPService {
|
|
|
243
250
|
}
|
|
244
251
|
async onRegistered(registry, _obs) {
|
|
245
252
|
const resolvedStorage = createStorageFromConfig(this.config.storage, this.cwd);
|
|
253
|
+
const cwd = this.cwd ?? ".";
|
|
254
|
+
if (resolvedStorage.store instanceof PostgresStorage) {
|
|
255
|
+
this.postgresStorage = resolvedStorage.store;
|
|
256
|
+
await this.postgresStorage.initialize({
|
|
257
|
+
configPath: resolvedStorage.legacyConfigPath,
|
|
258
|
+
cpKeyPath: resolve(cwd, this.config.cpKeyStorePath ?? "./.bp-cp-state/keys.json"),
|
|
259
|
+
webhookDeliveryPath: resolve(cwd, "./.bp-webhook-deliveries.json")
|
|
260
|
+
});
|
|
261
|
+
}
|
|
246
262
|
this.storage = this.withChangeBroadcasts(resolvedStorage.store, _obs, {
|
|
247
263
|
backend: resolvedStorage.backend
|
|
248
264
|
});
|
|
265
|
+
hydrateManifestCache(await this.storage.loadConfig());
|
|
249
266
|
// Initialize CP keypair + JWKS (P7).
|
|
250
|
-
|
|
251
|
-
this.cpState = cpBootstrap({
|
|
267
|
+
this.cpState = await cpBootstrap({
|
|
252
268
|
keyStorePath: resolve(cwd, this.config.cpKeyStorePath ?? "./.bp-cp-state/keys.json"),
|
|
269
|
+
postgres: this.postgresStorage,
|
|
253
270
|
issuer: this.config.cpIssuer,
|
|
254
271
|
audience: this.config.cpAudience ?? "betterportal-control-plane",
|
|
255
272
|
host: this.config.host ?? "0.0.0.0",
|
|
256
|
-
port: this.config.port ??
|
|
273
|
+
port: this.config.port ?? 80
|
|
257
274
|
});
|
|
258
275
|
this.registerAsAuthProvider({
|
|
259
276
|
issuer: this.cpState.issuer,
|
|
@@ -267,12 +284,17 @@ export class Plugin extends BPService {
|
|
|
267
284
|
cpId: this.cpState.cpId
|
|
268
285
|
});
|
|
269
286
|
await this.selfClient.onPlatformConfigChanged(_obs, async (eventObs, event) => {
|
|
270
|
-
if (event.
|
|
287
|
+
if (event.revision <= this.lastConfigRevision)
|
|
271
288
|
return;
|
|
289
|
+
this.lastConfigRevision = event.revision;
|
|
272
290
|
this.storage.invalidate();
|
|
291
|
+
hydrateManifestCache(await this.storage.loadConfig());
|
|
273
292
|
// A config change may carry a freshly-pushed auth JWKS - rebuild verifiers.
|
|
274
293
|
await this.warmAuthCache(eventObs);
|
|
275
294
|
});
|
|
295
|
+
await this.selfClient.onWebhookDeliveryAvailable(_obs, async () => {
|
|
296
|
+
await this.webhookRuntime?.drain();
|
|
297
|
+
});
|
|
276
298
|
setConfigManagerRouteContext({
|
|
277
299
|
storage: this.storage,
|
|
278
300
|
cpState: this.cpState,
|
|
@@ -295,7 +317,7 @@ export class Plugin extends BPService {
|
|
|
295
317
|
registerAdminApiRoutes(this.app, this.storage, this.cpState);
|
|
296
318
|
registerMenuEditorRoutes(this.app, this.storage);
|
|
297
319
|
registerFragmentsEditorRoutes(this.app, this.storage);
|
|
298
|
-
this.webhookRuntime = registerWebhookRoutes(this.app, this.storage);
|
|
320
|
+
this.webhookRuntime = registerWebhookRoutes(this.app, this.storage, this.postgresStorage, this.workerId);
|
|
299
321
|
registerPreviewDeploymentApi({
|
|
300
322
|
app: this.app,
|
|
301
323
|
storage: this.storage,
|
|
@@ -323,18 +345,27 @@ export class Plugin extends BPService {
|
|
|
323
345
|
}
|
|
324
346
|
});
|
|
325
347
|
// Setup token mint + redeem endpoints (P4)
|
|
326
|
-
registerSetupEndpoints({
|
|
348
|
+
registerSetupEndpoints({
|
|
349
|
+
app: this.app,
|
|
350
|
+
storage: this.storage,
|
|
351
|
+
cpState: this.cpState,
|
|
352
|
+
postgres: this.postgresStorage,
|
|
353
|
+
owner: this.workerId
|
|
354
|
+
});
|
|
327
355
|
// Bootstrap detection + endpoint (P6) - opens vanilla HTML wizard on empty DB
|
|
328
356
|
await registerBootstrapEndpoint({
|
|
329
357
|
app: this.app,
|
|
330
358
|
storage: this.storage,
|
|
331
359
|
cpState: this.cpState,
|
|
332
|
-
logger: _obs
|
|
360
|
+
logger: _obs,
|
|
361
|
+
postgres: this.postgresStorage,
|
|
362
|
+
owner: this.workerId
|
|
333
363
|
});
|
|
334
364
|
// Warm auth verifiers from persisted JWKS so the first authenticated request
|
|
335
365
|
// after a restart never races an empty cache (#6).
|
|
336
366
|
await this.warmAuthCache(_obs);
|
|
337
|
-
this.webhookRuntime
|
|
367
|
+
this.webhookRuntime?.start();
|
|
368
|
+
this.startOutbox(_obs);
|
|
338
369
|
await this.removeExpiredPreviews();
|
|
339
370
|
this.previewExpiryTimer = setInterval(() => {
|
|
340
371
|
void this.removeExpiredPreviews().catch((error) => _obs.log.warn("Preview expiry cleanup failed: {msg}", {
|
|
@@ -344,13 +375,22 @@ export class Plugin extends BPService {
|
|
|
344
375
|
this.previewExpiryTimer.unref();
|
|
345
376
|
}
|
|
346
377
|
async removeExpiredPreviews() {
|
|
347
|
-
const
|
|
348
|
-
|
|
349
|
-
|
|
378
|
+
const cleanup = async () => {
|
|
379
|
+
const config = await this.storage.loadConfig();
|
|
380
|
+
if (deleteExpiredPreviewDeployments(config).length > 0)
|
|
381
|
+
await this.storage.saveConfig(config);
|
|
382
|
+
await this.postgresStorage?.cleanupExpiredActions();
|
|
383
|
+
};
|
|
384
|
+
if (this.postgresStorage)
|
|
385
|
+
await this.postgresStorage.tryRunExclusive("maintenance", cleanup);
|
|
386
|
+
else
|
|
387
|
+
await cleanup();
|
|
350
388
|
}
|
|
351
389
|
async dispose() {
|
|
352
390
|
if (this.previewExpiryTimer)
|
|
353
391
|
clearInterval(this.previewExpiryTimer);
|
|
392
|
+
if (this.outboxTimer)
|
|
393
|
+
clearInterval(this.outboxTimer);
|
|
354
394
|
this.webhookRuntime?.stop();
|
|
355
395
|
await super.dispose();
|
|
356
396
|
}
|
|
@@ -358,11 +398,12 @@ export class Plugin extends BPService {
|
|
|
358
398
|
return {
|
|
359
399
|
loadConfig: () => store.loadConfig(),
|
|
360
400
|
saveConfig: async (config, options) => {
|
|
361
|
-
await store.saveConfig(config, options
|
|
362
|
-
|
|
401
|
+
await store.saveConfig(config, metadata.backend === "file" && options?.notify !== false
|
|
402
|
+
? { ...options, notify: false }
|
|
403
|
+
: options);
|
|
404
|
+
if (options?.notify !== false && metadata.backend === "file") {
|
|
363
405
|
await this.events.emitBroadcast("platform-config.changed", obs, {
|
|
364
|
-
|
|
365
|
-
backend: metadata.backend
|
|
406
|
+
revision: ++this.fileConfigRevision
|
|
366
407
|
});
|
|
367
408
|
}
|
|
368
409
|
},
|
|
@@ -373,6 +414,38 @@ export class Plugin extends BPService {
|
|
|
373
414
|
onChange: (listener) => store.onChange(listener)
|
|
374
415
|
};
|
|
375
416
|
}
|
|
417
|
+
startOutbox(obs) {
|
|
418
|
+
if (!this.postgresStorage)
|
|
419
|
+
return;
|
|
420
|
+
const run = async () => {
|
|
421
|
+
const records = await this.postgresStorage.claimOutbox(this.workerId);
|
|
422
|
+
for (const record of records) {
|
|
423
|
+
try {
|
|
424
|
+
if (record.eventName === "platform-config.changed") {
|
|
425
|
+
await this.events.emitBroadcast("platform-config.changed", obs, {
|
|
426
|
+
revision: Number(record.payload.revision)
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
else if (record.eventName === "webhook.delivery.available") {
|
|
430
|
+
await this.events.emitEvent("webhook.delivery.available", obs, {});
|
|
431
|
+
}
|
|
432
|
+
await this.postgresStorage.completeOutbox(record.id, this.workerId);
|
|
433
|
+
}
|
|
434
|
+
catch (error) {
|
|
435
|
+
await this.postgresStorage.releaseOutbox(record.id, this.workerId);
|
|
436
|
+
obs.log.warn("Config-manager outbox delivery failed: {message}", {
|
|
437
|
+
message: error instanceof Error ? error.message : String(error)
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
const drain = () => this.outboxDrain ??= run().finally(() => { this.outboxDrain = undefined; });
|
|
443
|
+
void drain().catch((error) => obs.log.warn("Config-manager outbox drain failed: {message}", {
|
|
444
|
+
message: error instanceof Error ? error.message : String(error)
|
|
445
|
+
}));
|
|
446
|
+
this.outboxTimer = setInterval(() => void drain().catch((error) => obs.log.warn("Config-manager outbox drain failed: {message}", { message: error instanceof Error ? error.message : String(error) })), 1_000);
|
|
447
|
+
this.outboxTimer.unref();
|
|
448
|
+
}
|
|
376
449
|
async populateConfigAdminContext(event) {
|
|
377
450
|
const portalConfig = visibleAdminConfig(await this.storage.loadConfig());
|
|
378
451
|
const requestContext = resolveEmbeddedRequestContext(portalConfig, eventHeaders(event));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/index.ts"],"names":[],"mappings":"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"}
|
package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"previewEnvironmentManagement.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/previewEnvironmentManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AAsGjC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,yBAAyB,CAAC;AAC5C,eAAO,MAAM,WAAW,gFAAgF,CAAC;AACzG,eAAO,MAAM,UAAU,EAAE,UAA4D,CAAC;AACtF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAapD,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"previewEnvironmentManagement.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-betterportal-config-manager/previewEnvironmentManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AAsGjC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,yBAAyB,CAAC;AAC5C,eAAO,MAAM,WAAW,gFAAgF,CAAC;AACzG,eAAO,MAAM,UAAU,EAAE,UAA4D,CAAC;AACtF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAapD,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAOrB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgDtB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAyBrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAYxB,CAAC;AA+MF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAaxH"}
|
|
@@ -108,7 +108,7 @@ export const demoScenarios = [{
|
|
|
108
108
|
issuedCredentials: []
|
|
109
109
|
}
|
|
110
110
|
}];
|
|
111
|
-
export const handleGet = createHandler({ response: ResponseSchema }, (ctx) => buildResponse(previewPath(ctx)));
|
|
111
|
+
export const handleGet = createHandler({ response: ResponseSchema }, (ctx) => buildResponse(previewPath(ctx), {}, stringValue(ctx.query._c) === "config" ? stringValue(ctx.query.groupId) : undefined));
|
|
112
112
|
export const handlePost = createHandler({ response: ResponseSchema }, async (ctx) => mutate(ctx, async () => {
|
|
113
113
|
const action = stringValue(ctx.request.action);
|
|
114
114
|
const routeContext = getConfigManagerRouteContext();
|
|
@@ -201,32 +201,34 @@ function previewPath(ctx) {
|
|
|
201
201
|
?? ctx.routeUrl?.("preview-environments.index")
|
|
202
202
|
?? "/preview-environments";
|
|
203
203
|
}
|
|
204
|
-
async function buildResponse(path, transient = {}) {
|
|
204
|
+
async function buildResponse(path, transient = {}, configGroupId) {
|
|
205
205
|
const routeContext = getConfigManagerRouteContext();
|
|
206
206
|
const fullConfig = await routeContext.storage.loadConfig();
|
|
207
|
-
const
|
|
208
|
-
const sourceApps =
|
|
209
|
-
const tenant =
|
|
207
|
+
const visibleConfig = configGroupId === undefined ? visibleAdminConfig(fullConfig) : undefined;
|
|
208
|
+
const sourceApps = (visibleConfig?.apps ?? []).map((app) => {
|
|
209
|
+
const tenant = visibleConfig.tenants.find((candidate) => candidate.id === app.tenantId);
|
|
210
210
|
return {
|
|
211
211
|
id: app.id,
|
|
212
212
|
tenantId: tenant.id,
|
|
213
213
|
title: app.title
|
|
214
214
|
};
|
|
215
215
|
});
|
|
216
|
-
const groups = fullConfig.previewEnvironmentGroups
|
|
216
|
+
const groups = fullConfig.previewEnvironmentGroups
|
|
217
|
+
.filter((group) => configGroupId === undefined || group.id === configGroupId)
|
|
218
|
+
.map((group) => groupModel(fullConfig, group, configGroupId === group.id));
|
|
217
219
|
return {
|
|
218
220
|
title,
|
|
219
221
|
previewPath: path,
|
|
220
222
|
deploymentApiBase: PREVIEW_DEPLOYMENT_API_BASE,
|
|
221
223
|
configTicketUrl: `${routeContext.serviceBaseUrl.replace(/\/+$/, "")}/.well-known/bp/admin/config-ticket`,
|
|
222
|
-
sourceTenants:
|
|
224
|
+
sourceTenants: (visibleConfig?.tenants ?? []).map((tenant) => ({ id: tenant.id, title: tenant.title })),
|
|
223
225
|
sourceApps,
|
|
224
226
|
groups,
|
|
225
227
|
issuedCredentials: [],
|
|
226
228
|
...transient
|
|
227
229
|
};
|
|
228
230
|
}
|
|
229
|
-
function groupModel(config, group) {
|
|
231
|
+
function groupModel(config, group, includeConfig = false) {
|
|
230
232
|
const sourceTenant = config.tenants.find((tenant) => tenant.id === group.sourceTenantId);
|
|
231
233
|
const sourceApp = config.apps.find((app) => app.id === group.sourceAppId);
|
|
232
234
|
return {
|
|
@@ -244,7 +246,7 @@ function groupModel(config, group) {
|
|
|
244
246
|
requiredClaimsJson: JSON.stringify(group.oidc.requiredClaims, null, 2)
|
|
245
247
|
} : undefined,
|
|
246
248
|
services: group.services.map((service) => {
|
|
247
|
-
const descriptors = resolvePreviewConfigSchemas(config, group, service.serviceId) ?? [];
|
|
249
|
+
const descriptors = includeConfig ? resolvePreviewConfigSchemas(config, group, service.serviceId) ?? [] : [];
|
|
248
250
|
const source = sourceConfigService(config, group, service.serviceId);
|
|
249
251
|
const fields = [...new Map(descriptors.flatMap((descriptor) => descriptor.fields).map((field) => [
|
|
250
252
|
`${field.scope}:${field.key}`,
|
|
@@ -265,8 +267,8 @@ function groupModel(config, group) {
|
|
|
265
267
|
title: service.title ?? service.serviceId,
|
|
266
268
|
fields,
|
|
267
269
|
...(source ? { source: { instanceId: source.instanceId, hostname: source.hostname } } : {}),
|
|
268
|
-
encryptedTenantConfig: JSON.stringify(service.config.tenant),
|
|
269
|
-
encryptedAppConfig: JSON.stringify(service.config.app)
|
|
270
|
+
encryptedTenantConfig: includeConfig ? JSON.stringify(service.config.tenant) : "{}",
|
|
271
|
+
encryptedAppConfig: includeConfig ? JSON.stringify(service.config.app) : "{}"
|
|
270
272
|
};
|
|
271
273
|
}),
|
|
272
274
|
deployments: config.previewEnvironmentDeployments
|