@backstage/plugin-catalog-backend 1.14.0 → 1.15.0-next.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 +39 -0
- package/alpha/package.json +1 -1
- package/config.d.ts +13 -0
- package/dist/alpha.cjs.js +2 -2
- package/dist/cjs/{CatalogBuilder-9cfeea71.cjs.js → CatalogBuilder-2ff47757.cjs.js} +384 -84
- package/dist/cjs/CatalogBuilder-2ff47757.cjs.js.map +1 -0
- package/dist/index.cjs.js +2 -2
- package/migrations/20230525141717_stitch_queue.js +85 -0
- package/package.json +12 -12
- package/dist/cjs/CatalogBuilder-9cfeea71.cjs.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# @backstage/plugin-catalog-backend
|
|
2
2
|
|
|
3
|
+
## 1.15.0-next.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8d756968f9: Introduce a new optional config parameter `catalog.stitchingStrategy.mode`,
|
|
8
|
+
which can have the values `'immediate'` (default) and `'deferred'`. The default
|
|
9
|
+
is for stitching to work as it did before this change, which means that it
|
|
10
|
+
happens "in-band" (blocking) immediately when each processing task finishes.
|
|
11
|
+
When set to `'deferred'`, stitching is instead deferred to happen on a separate
|
|
12
|
+
asynchronous worker queue just like processing.
|
|
13
|
+
|
|
14
|
+
Deferred stitching should make performance smoother when ingesting large amounts
|
|
15
|
+
of entities, and reduce p99 processing times and repeated over-stitching of
|
|
16
|
+
hot spot entities when fan-out/fan-in in terms of relations is very large. It
|
|
17
|
+
does however also come with some performance cost due to the queuing with how
|
|
18
|
+
much wall-clock time some types of task take.
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 6694b369a3: Update the OpenAPI spec with more complete error responses and request bodies using Optic. Also, updates the test cases to use the new `supertest` pass through from `@backstage/backend-openapi-utils`.
|
|
23
|
+
- Updated dependencies
|
|
24
|
+
- @backstage/backend-openapi-utils@0.1.0-next.0
|
|
25
|
+
- @backstage/backend-common@0.19.9-next.0
|
|
26
|
+
- @backstage/integration@1.7.1
|
|
27
|
+
- @backstage/backend-plugin-api@0.6.7-next.0
|
|
28
|
+
- @backstage/backend-tasks@0.5.12-next.0
|
|
29
|
+
- @backstage/catalog-client@1.4.5
|
|
30
|
+
- @backstage/catalog-model@1.4.3
|
|
31
|
+
- @backstage/config@1.1.1
|
|
32
|
+
- @backstage/errors@1.2.3
|
|
33
|
+
- @backstage/types@1.1.1
|
|
34
|
+
- @backstage/plugin-auth-node@0.4.1-next.0
|
|
35
|
+
- @backstage/plugin-catalog-common@1.0.17
|
|
36
|
+
- @backstage/plugin-catalog-node@1.4.8-next.0
|
|
37
|
+
- @backstage/plugin-events-node@0.2.16-next.0
|
|
38
|
+
- @backstage/plugin-permission-common@0.7.9
|
|
39
|
+
- @backstage/plugin-permission-node@0.7.18-next.0
|
|
40
|
+
- @backstage/plugin-search-backend-module-catalog@0.1.11-next.0
|
|
41
|
+
|
|
3
42
|
## 1.14.0
|
|
4
43
|
|
|
5
44
|
### Minor Changes
|
package/alpha/package.json
CHANGED
package/config.d.ts
CHANGED
|
@@ -145,6 +145,19 @@ export interface Config {
|
|
|
145
145
|
*/
|
|
146
146
|
orphanStrategy?: 'keep' | 'delete';
|
|
147
147
|
|
|
148
|
+
/**
|
|
149
|
+
* The strategy to use when stitching together the final entities.
|
|
150
|
+
*/
|
|
151
|
+
stitchingStrategy?:
|
|
152
|
+
| {
|
|
153
|
+
/** Perform stitching in-band immediately when needed */
|
|
154
|
+
mode: 'immediate';
|
|
155
|
+
}
|
|
156
|
+
| {
|
|
157
|
+
/** Defer stitching to be performed asynchronously */
|
|
158
|
+
mode: 'deferred';
|
|
159
|
+
};
|
|
160
|
+
|
|
148
161
|
/**
|
|
149
162
|
* The interval at which the catalog should process its entities.
|
|
150
163
|
*
|
package/dist/alpha.cjs.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var alpha = require('@backstage/plugin-catalog-common/alpha');
|
|
6
6
|
var pluginPermissionNode = require('@backstage/plugin-permission-node');
|
|
7
|
-
var CatalogBuilder = require('./cjs/CatalogBuilder-
|
|
7
|
+
var CatalogBuilder = require('./cjs/CatalogBuilder-2ff47757.cjs.js');
|
|
8
8
|
var backendPluginApi = require('@backstage/backend-plugin-api');
|
|
9
9
|
var alpha$1 = require('@backstage/plugin-catalog-node/alpha');
|
|
10
10
|
var backendCommon = require('@backstage/backend-common');
|
|
@@ -31,6 +31,7 @@ require('fast-json-stable-stringify');
|
|
|
31
31
|
require('lodash/uniq');
|
|
32
32
|
require('lodash/chunk');
|
|
33
33
|
require('zod');
|
|
34
|
+
require('@backstage/types');
|
|
34
35
|
require('@backstage/catalog-client');
|
|
35
36
|
require('yn');
|
|
36
37
|
require('@backstage/backend-openapi-utils');
|
|
@@ -38,7 +39,6 @@ require('@backstage/plugin-auth-node');
|
|
|
38
39
|
require('@backstage/plugin-permission-common');
|
|
39
40
|
require('minimatch');
|
|
40
41
|
require('@backstage/config');
|
|
41
|
-
require('@backstage/types');
|
|
42
42
|
|
|
43
43
|
const { conditions, createConditionalDecision } = pluginPermissionNode.createConditionExports({
|
|
44
44
|
pluginId: "catalog",
|