@techdocs/cli 1.8.19-next.0 → 1.8.19-next.1

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.
Files changed (60) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/embedded-app/.config-schema.json +355 -310
  3. package/dist/embedded-app/index.html +1 -1
  4. package/dist/embedded-app/static/1902.44584bca.chunk.js +10 -0
  5. package/dist/embedded-app/static/1902.44584bca.chunk.js.map +1 -0
  6. package/dist/embedded-app/static/{3182.62f19265.chunk.js → 3182.9657b1ff.chunk.js} +1 -1
  7. package/dist/embedded-app/static/{3182.62f19265.chunk.js.map → 3182.9657b1ff.chunk.js.map} +1 -1
  8. package/dist/embedded-app/static/{3308.82562d2f.chunk.js → 3308.c146ba21.chunk.js} +1 -1
  9. package/dist/embedded-app/static/{3308.82562d2f.chunk.js.map → 3308.c146ba21.chunk.js.map} +1 -1
  10. package/dist/embedded-app/static/{3720.6737494a.chunk.js → 3720.98f39354.chunk.js} +1 -1
  11. package/dist/embedded-app/static/{3720.6737494a.chunk.js.map → 3720.98f39354.chunk.js.map} +1 -1
  12. package/dist/embedded-app/static/{4036.66c4b641.chunk.js → 4036.fef63266.chunk.js} +1 -1
  13. package/dist/embedded-app/static/{4036.66c4b641.chunk.js.map → 4036.fef63266.chunk.js.map} +1 -1
  14. package/dist/embedded-app/static/{4516.cb7b4abb.chunk.js → 4516.cd8a0387.chunk.js} +1 -1
  15. package/dist/embedded-app/static/{4516.cb7b4abb.chunk.js.map → 4516.cd8a0387.chunk.js.map} +1 -1
  16. package/dist/embedded-app/static/{5788.791edd6a.chunk.js → 5788.ede5f049.chunk.js} +1 -1
  17. package/dist/embedded-app/static/{5788.791edd6a.chunk.js.map → 5788.ede5f049.chunk.js.map} +1 -1
  18. package/dist/embedded-app/static/8115.60e192eb.chunk.js +3 -0
  19. package/dist/embedded-app/static/8115.60e192eb.chunk.js.map +1 -0
  20. package/dist/embedded-app/static/{8307.77d02788.chunk.js → 8307.48c99c9a.chunk.js} +1 -1
  21. package/dist/embedded-app/static/{8307.77d02788.chunk.js.map → 8307.48c99c9a.chunk.js.map} +1 -1
  22. package/dist/embedded-app/static/898.6dc29f65.chunk.js +4 -0
  23. package/dist/embedded-app/static/{898.ca4c8c81.chunk.js.map → 898.6dc29f65.chunk.js.map} +1 -1
  24. package/dist/embedded-app/static/{9234.d383e83b.chunk.js → 9234.d73cb688.chunk.js} +1 -1
  25. package/dist/embedded-app/static/{9234.d383e83b.chunk.js.map → 9234.d73cb688.chunk.js.map} +1 -1
  26. package/dist/embedded-app/static/{9605.1e25e9dd.chunk.js → 9605.9dfa2d00.chunk.js} +1 -1
  27. package/dist/embedded-app/static/{9605.1e25e9dd.chunk.js.map → 9605.9dfa2d00.chunk.js.map} +1 -1
  28. package/dist/embedded-app/static/main.304a0771.js +509 -0
  29. package/dist/embedded-app/static/main.304a0771.js.map +1 -0
  30. package/dist/embedded-app/static/{module-date-fns.9ba6144d.js → module-date-fns.2e1096cc.js} +1 -1
  31. package/dist/embedded-app/static/{module-date-fns.9ba6144d.js.map → module-date-fns.2e1096cc.js.map} +1 -1
  32. package/dist/embedded-app/static/{module-material-ui.3f32753b.js → module-material-ui.9dcefdc1.js} +1 -1
  33. package/dist/embedded-app/static/{module-material-ui.3f32753b.js.map → module-material-ui.9dcefdc1.js.map} +1 -1
  34. package/dist/embedded-app/static/module-mui.05cfef7f.js +3 -0
  35. package/dist/embedded-app/static/module-mui.05cfef7f.js.map +1 -0
  36. package/dist/embedded-app/static/module-react-router-dom.54955edf.js +23 -0
  37. package/dist/embedded-app/static/module-react-router-dom.54955edf.js.map +1 -0
  38. package/dist/embedded-app/static/module-react-router.0dc172f6.js +23 -0
  39. package/dist/embedded-app/static/module-react-router.0dc172f6.js.map +1 -0
  40. package/dist/embedded-app/static/{runtime.c7b3b8b8.js → runtime.304a0771.js} +2 -2
  41. package/dist/embedded-app/static/{runtime.c7b3b8b8.js.map → runtime.304a0771.js.map} +1 -1
  42. package/dist/embedded-app/static/vendor.304a0771.js +151 -0
  43. package/dist/embedded-app/static/vendor.304a0771.js.map +1 -0
  44. package/dist/index.cjs.js +1 -1
  45. package/package.json +4 -4
  46. package/dist/embedded-app/static/1902.74e9d604.chunk.js +0 -10
  47. package/dist/embedded-app/static/1902.74e9d604.chunk.js.map +0 -1
  48. package/dist/embedded-app/static/4919.72f5403e.chunk.js +0 -3
  49. package/dist/embedded-app/static/4919.72f5403e.chunk.js.map +0 -1
  50. package/dist/embedded-app/static/898.ca4c8c81.chunk.js +0 -4
  51. package/dist/embedded-app/static/main.c7b3b8b8.js +0 -509
  52. package/dist/embedded-app/static/main.c7b3b8b8.js.map +0 -1
  53. package/dist/embedded-app/static/module-mui.0ed988ce.js +0 -3
  54. package/dist/embedded-app/static/module-mui.0ed988ce.js.map +0 -1
  55. package/dist/embedded-app/static/module-react-router-dom.3e907de2.js +0 -23
  56. package/dist/embedded-app/static/module-react-router-dom.3e907de2.js.map +0 -1
  57. package/dist/embedded-app/static/module-react-router.f207f6b1.js +0 -23
  58. package/dist/embedded-app/static/module-react-router.f207f6b1.js.map +0 -1
  59. package/dist/embedded-app/static/vendor.c7b3b8b8.js +0 -155
  60. package/dist/embedded-app/static/vendor.c7b3b8b8.js.map +0 -1
@@ -1523,6 +1523,51 @@
1523
1523
  "$schema": "http://json-schema.org/draft-07/schema#"
1524
1524
  }
1525
1525
  },
1526
+ {
1527
+ "path": "../../node_modules/@backstage-community/plugin-puppetdb/node_modules/@backstage/core-components/config.d.ts",
1528
+ "value": {
1529
+ "type": "object",
1530
+ "properties": {
1531
+ "auth": {
1532
+ "type": "object",
1533
+ "properties": {
1534
+ "autologout": {
1535
+ "description": "Autologout feature configuration",
1536
+ "type": "object",
1537
+ "properties": {
1538
+ "enabled": {
1539
+ "description": "Enable or disable the autologout feature",
1540
+ "visibility": "frontend",
1541
+ "type": "boolean"
1542
+ },
1543
+ "idleTimeoutMinutes": {
1544
+ "description": "Number of minutes after which the inactive user is logged out automatically.\nDefault is 60 minutes (1 hour)",
1545
+ "visibility": "frontend",
1546
+ "type": "number"
1547
+ },
1548
+ "promptBeforeIdleSeconds": {
1549
+ "description": "Number of seconds before the idle timeout where the user will be asked if it's still active.\nA dialog will be shown.\nDefault is 10 seconds.\nSet to 0 seconds to disable the prompt.",
1550
+ "visibility": "frontend",
1551
+ "type": "number"
1552
+ },
1553
+ "useWorkerTimers": {
1554
+ "description": "Enable/disable the usage of worker thread timers instead of main thread timers.\nDefault is true.\nIf you experience some browser incompatibility, you may try to set this to false.",
1555
+ "visibility": "frontend",
1556
+ "type": "boolean"
1557
+ },
1558
+ "logoutIfDisconnected": {
1559
+ "description": "Enable/disable the automatic logout also on users that are logged in but with no Backstage tabs open.\nDefault is true.",
1560
+ "visibility": "frontend",
1561
+ "type": "boolean"
1562
+ }
1563
+ }
1564
+ }
1565
+ }
1566
+ }
1567
+ },
1568
+ "$schema": "http://json-schema.org/draft-07/schema#"
1569
+ }
1570
+ },
1526
1571
  {
1527
1572
  "path": "../../node_modules/@oriflame/backstage-plugin-score-card/node_modules/@backstage/core-components/config.d.ts",
1528
1573
  "value": {
@@ -2167,361 +2212,358 @@
2167
2212
  }
2168
2213
  }
2169
2214
  }
2170
- }
2171
- },
2172
- "required": [
2173
- "baseUrl"
2174
- ]
2175
- },
2176
- "discovery": {
2177
- "description": "Options used by the default discovery service.",
2178
- "type": "object",
2179
- "properties": {
2180
- "endpoints": {
2181
- "description": "A list of target baseUrls and the associated plugins.",
2182
- "type": "array",
2183
- "items": {
2184
- "type": "object",
2185
- "properties": {
2186
- "target": {
2187
- "description": "The target base URL to use for the plugin.\n\nCan be either a string or an object with internal and external keys.\nTargets with `{{pluginId}}` or `{{ pluginId }} in the URL will be replaced with the plugin ID.",
2188
- "anyOf": [
2189
- {
2190
- "type": "object",
2191
- "properties": {
2192
- "internal": {
2193
- "type": "string"
2215
+ },
2216
+ "database": {
2217
+ "description": "Database connection configuration, select base database type using the `client` field",
2218
+ "type": "object",
2219
+ "properties": {
2220
+ "client": {
2221
+ "description": "Default database client to use",
2222
+ "enum": [
2223
+ "better-sqlite3",
2224
+ "pg",
2225
+ "sqlite3"
2226
+ ],
2227
+ "type": "string"
2228
+ },
2229
+ "connection": {
2230
+ "description": "Base database connection string, or object with individual connection properties",
2231
+ "visibility": "secret",
2232
+ "anyOf": [
2233
+ {
2234
+ "type": "object",
2235
+ "additionalProperties": {},
2236
+ "properties": {
2237
+ "password": {
2238
+ "description": "Password that belongs to the client User",
2239
+ "visibility": "secret",
2240
+ "type": "string"
2241
+ }
2242
+ }
2243
+ },
2244
+ {
2245
+ "type": "string"
2246
+ }
2247
+ ]
2248
+ },
2249
+ "prefix": {
2250
+ "description": "Database name prefix override",
2251
+ "type": "string"
2252
+ },
2253
+ "ensureExists": {
2254
+ "description": "Whether to ensure the given database exists by creating it if it does not.\nDefaults to true if unspecified.",
2255
+ "type": "boolean"
2256
+ },
2257
+ "ensureSchemaExists": {
2258
+ "description": "Whether to ensure the given database schema exists by creating it if it does not.\nDefaults to false if unspecified.\n\nNOTE: Currently only supported by the `pg` client when pluginDivisionMode: schema",
2259
+ "type": "boolean"
2260
+ },
2261
+ "pluginDivisionMode": {
2262
+ "description": "How plugins databases are managed/divided in the provided database instance.\n\n`database` -> Plugins are each given their own database to manage their schemas/tables.\n\n`schema` -> Plugins will be given their own schema (in the specified/default database)\n to manage their tables.\n\nNOTE: Currently only supported by the `pg` client.",
2263
+ "default": "database",
2264
+ "enum": [
2265
+ "database",
2266
+ "schema"
2267
+ ],
2268
+ "type": "string"
2269
+ },
2270
+ "role": {
2271
+ "description": "Configures the ownership of newly created schemas in pg databases.",
2272
+ "type": "string"
2273
+ },
2274
+ "knexConfig": {
2275
+ "description": "Arbitrary config object to pass to knex when initializing\n(https://knexjs.org/#Installation-client). Most notable is the debug\nand asyncStackTraces booleans",
2276
+ "type": "object",
2277
+ "properties": {},
2278
+ "additionalProperties": true
2279
+ },
2280
+ "skipMigrations": {
2281
+ "description": "Skip running database migrations.",
2282
+ "type": "boolean"
2283
+ },
2284
+ "plugin": {
2285
+ "description": "Plugin specific database configuration and client override",
2286
+ "type": "object",
2287
+ "additionalProperties": {
2288
+ "type": "object",
2289
+ "properties": {
2290
+ "client": {
2291
+ "description": "Database client override",
2292
+ "enum": [
2293
+ "better-sqlite3",
2294
+ "pg",
2295
+ "sqlite3"
2296
+ ],
2297
+ "type": "string"
2298
+ },
2299
+ "connection": {
2300
+ "description": "Database connection string or Knex object override",
2301
+ "visibility": "secret",
2302
+ "anyOf": [
2303
+ {
2304
+ "type": "object",
2305
+ "properties": {},
2306
+ "additionalProperties": true
2194
2307
  },
2195
- "external": {
2308
+ {
2196
2309
  "type": "string"
2197
2310
  }
2198
- },
2199
- "required": [
2200
- "external",
2201
- "internal"
2202
2311
  ]
2203
2312
  },
2204
- {
2313
+ "ensureExists": {
2314
+ "description": "Whether to ensure the given database exists by creating it if it does not.\nDefaults to base config if unspecified.",
2315
+ "type": "boolean"
2316
+ },
2317
+ "ensureSchemaExists": {
2318
+ "description": "Whether to ensure the given database schema exists by creating it if it does not.\nDefaults to false if unspecified.\n\nNOTE: Currently only supported by the `pg` client when pluginDivisionMode: schema",
2319
+ "type": "boolean"
2320
+ },
2321
+ "knexConfig": {
2322
+ "description": "Arbitrary config object to pass to knex when initializing\n(https://knexjs.org/#Installation-client). Most notable is the\ndebug and asyncStackTraces booleans.\n\nThis is merged recursively into the base knexConfig",
2323
+ "type": "object",
2324
+ "properties": {},
2325
+ "additionalProperties": true
2326
+ },
2327
+ "role": {
2328
+ "description": "Configures the ownership of newly created schemas in pg databases.",
2205
2329
  "type": "string"
2330
+ },
2331
+ "skipMigrations": {
2332
+ "description": "Skip running database migrations.",
2333
+ "type": "boolean"
2206
2334
  }
2207
- ]
2208
- },
2209
- "plugins": {
2210
- "description": "Array of plugins which use the target base URL.",
2211
- "type": "array",
2212
- "items": {
2213
- "type": "string"
2214
2335
  }
2215
2336
  }
2216
- },
2217
- "required": [
2218
- "plugins",
2219
- "target"
2220
- ]
2221
- }
2222
- }
2223
- },
2224
- "required": [
2225
- "endpoints"
2226
- ]
2227
- },
2228
- "database": {
2229
- "description": "Database connection configuration, select base database type using the `client` field",
2230
- "type": "object",
2231
- "properties": {
2232
- "client": {
2233
- "description": "Default database client to use",
2234
- "enum": [
2235
- "better-sqlite3",
2236
- "pg",
2237
- "sqlite3"
2238
- ],
2239
- "type": "string"
2337
+ }
2338
+ },
2339
+ "required": [
2340
+ "client",
2341
+ "connection"
2342
+ ]
2240
2343
  },
2241
- "connection": {
2242
- "description": "Base database connection string, or object with individual connection properties",
2243
- "visibility": "secret",
2344
+ "cache": {
2345
+ "description": "Cache connection configuration, select cache type using the `store` field",
2244
2346
  "anyOf": [
2245
2347
  {
2246
2348
  "type": "object",
2247
- "additionalProperties": {},
2248
2349
  "properties": {
2249
- "password": {
2250
- "description": "Password that belongs to the client User",
2350
+ "store": {
2351
+ "type": "string",
2352
+ "const": "memory"
2353
+ },
2354
+ "defaultTtl": {
2355
+ "description": "An optional default TTL (in milliseconds)."
2356
+ }
2357
+ },
2358
+ "required": [
2359
+ "store"
2360
+ ]
2361
+ },
2362
+ {
2363
+ "type": "object",
2364
+ "properties": {
2365
+ "store": {
2366
+ "type": "string",
2367
+ "const": "redis"
2368
+ },
2369
+ "connection": {
2370
+ "description": "A redis connection string in the form `redis://user:pass@host:port`.",
2251
2371
  "visibility": "secret",
2252
2372
  "type": "string"
2373
+ },
2374
+ "defaultTtl": {
2375
+ "description": "An optional default TTL (in milliseconds)."
2376
+ },
2377
+ "useRedisSets": {
2378
+ "description": "Whether or not [useRedisSets](https://github.com/jaredwray/keyv/tree/main/packages/redis#useredissets) should be configured to this redis cache.\nDefaults to true if unspecified.",
2379
+ "type": "boolean"
2253
2380
  }
2254
- }
2381
+ },
2382
+ "required": [
2383
+ "connection",
2384
+ "store"
2385
+ ]
2255
2386
  },
2256
2387
  {
2257
- "type": "string"
2258
- }
2259
- ]
2260
- },
2261
- "prefix": {
2262
- "description": "Database name prefix override",
2263
- "type": "string"
2264
- },
2265
- "ensureExists": {
2266
- "description": "Whether to ensure the given database exists by creating it if it does not.\nDefaults to true if unspecified.",
2267
- "type": "boolean"
2268
- },
2269
- "ensureSchemaExists": {
2270
- "description": "Whether to ensure the given database schema exists by creating it if it does not.\nDefaults to false if unspecified.\n\nNOTE: Currently only supported by the `pg` client when pluginDivisionMode: schema",
2271
- "type": "boolean"
2272
- },
2273
- "pluginDivisionMode": {
2274
- "description": "How plugins databases are managed/divided in the provided database instance.\n\n`database` -> Plugins are each given their own database to manage their schemas/tables.\n\n`schema` -> Plugins will be given their own schema (in the specified/default database)\n to manage their tables.\n\nNOTE: Currently only supported by the `pg` client.",
2275
- "default": "database",
2276
- "enum": [
2277
- "database",
2278
- "schema"
2279
- ],
2280
- "type": "string"
2281
- },
2282
- "role": {
2283
- "description": "Configures the ownership of newly created schemas in pg databases.",
2284
- "type": "string"
2285
- },
2286
- "knexConfig": {
2287
- "description": "Arbitrary config object to pass to knex when initializing\n(https://knexjs.org/#Installation-client). Most notable is the debug\nand asyncStackTraces booleans",
2288
- "type": "object",
2289
- "properties": {},
2290
- "additionalProperties": true
2291
- },
2292
- "skipMigrations": {
2293
- "description": "Skip running database migrations.",
2294
- "type": "boolean"
2295
- },
2296
- "plugin": {
2297
- "description": "Plugin specific database configuration and client override",
2298
- "type": "object",
2299
- "additionalProperties": {
2300
- "type": "object",
2301
- "properties": {
2302
- "client": {
2303
- "description": "Database client override",
2304
- "enum": [
2305
- "better-sqlite3",
2306
- "pg",
2307
- "sqlite3"
2308
- ],
2309
- "type": "string"
2310
- },
2311
- "connection": {
2312
- "description": "Database connection string or Knex object override",
2313
- "visibility": "secret",
2314
- "anyOf": [
2315
- {
2316
- "type": "object",
2317
- "properties": {},
2318
- "additionalProperties": true
2319
- },
2320
- {
2321
- "type": "string"
2322
- }
2323
- ]
2324
- },
2325
- "ensureExists": {
2326
- "description": "Whether to ensure the given database exists by creating it if it does not.\nDefaults to base config if unspecified.",
2327
- "type": "boolean"
2328
- },
2329
- "ensureSchemaExists": {
2330
- "description": "Whether to ensure the given database schema exists by creating it if it does not.\nDefaults to false if unspecified.\n\nNOTE: Currently only supported by the `pg` client when pluginDivisionMode: schema",
2331
- "type": "boolean"
2332
- },
2333
- "knexConfig": {
2334
- "description": "Arbitrary config object to pass to knex when initializing\n(https://knexjs.org/#Installation-client). Most notable is the\ndebug and asyncStackTraces booleans.\n\nThis is merged recursively into the base knexConfig",
2335
- "type": "object",
2336
- "properties": {},
2337
- "additionalProperties": true
2338
- },
2339
- "role": {
2340
- "description": "Configures the ownership of newly created schemas in pg databases.",
2341
- "type": "string"
2388
+ "type": "object",
2389
+ "properties": {
2390
+ "store": {
2391
+ "type": "string",
2392
+ "const": "memcache"
2393
+ },
2394
+ "connection": {
2395
+ "description": "A memcache connection string in the form `user:pass@host:port`.",
2396
+ "visibility": "secret",
2397
+ "type": "string"
2398
+ },
2399
+ "defaultTtl": {
2400
+ "description": "An optional default TTL (in milliseconds)."
2401
+ }
2342
2402
  },
2343
- "skipMigrations": {
2344
- "description": "Skip running database migrations.",
2345
- "type": "boolean"
2346
- }
2347
- }
2348
- }
2349
- }
2350
- },
2351
- "required": [
2352
- "client",
2353
- "connection"
2354
- ]
2355
- },
2356
- "cache": {
2357
- "description": "Cache connection configuration, select cache type using the `store` field",
2358
- "anyOf": [
2359
- {
2360
- "type": "object",
2361
- "properties": {
2362
- "store": {
2363
- "type": "string",
2364
- "const": "memory"
2365
- },
2366
- "defaultTtl": {
2367
- "description": "An optional default TTL (in milliseconds)."
2403
+ "required": [
2404
+ "connection",
2405
+ "store"
2406
+ ]
2368
2407
  }
2369
- },
2370
- "required": [
2371
- "store"
2372
2408
  ]
2373
2409
  },
2374
- {
2410
+ "cors": {
2375
2411
  "type": "object",
2376
2412
  "properties": {
2377
- "store": {
2378
- "type": "string",
2379
- "const": "redis"
2413
+ "origin": {
2414
+ "anyOf": [
2415
+ {
2416
+ "type": "array",
2417
+ "items": {
2418
+ "type": "string"
2419
+ }
2420
+ },
2421
+ {
2422
+ "type": "string"
2423
+ }
2424
+ ]
2380
2425
  },
2381
- "connection": {
2382
- "description": "A redis connection string in the form `redis://user:pass@host:port`.",
2383
- "visibility": "secret",
2384
- "type": "string"
2426
+ "methods": {
2427
+ "anyOf": [
2428
+ {
2429
+ "type": "array",
2430
+ "items": {
2431
+ "type": "string"
2432
+ }
2433
+ },
2434
+ {
2435
+ "type": "string"
2436
+ }
2437
+ ]
2438
+ },
2439
+ "allowedHeaders": {
2440
+ "anyOf": [
2441
+ {
2442
+ "type": "array",
2443
+ "items": {
2444
+ "type": "string"
2445
+ }
2446
+ },
2447
+ {
2448
+ "type": "string"
2449
+ }
2450
+ ]
2385
2451
  },
2386
- "defaultTtl": {
2387
- "description": "An optional default TTL (in milliseconds)."
2452
+ "exposedHeaders": {
2453
+ "anyOf": [
2454
+ {
2455
+ "type": "array",
2456
+ "items": {
2457
+ "type": "string"
2458
+ }
2459
+ },
2460
+ {
2461
+ "type": "string"
2462
+ }
2463
+ ]
2388
2464
  },
2389
- "useRedisSets": {
2390
- "description": "Whether or not [useRedisSets](https://github.com/jaredwray/keyv/tree/main/packages/redis#useredissets) should be configured to this redis cache.\nDefaults to true if unspecified.",
2465
+ "credentials": {
2391
2466
  "type": "boolean"
2392
- }
2393
- },
2394
- "required": [
2395
- "connection",
2396
- "store"
2397
- ]
2398
- },
2399
- {
2400
- "type": "object",
2401
- "properties": {
2402
- "store": {
2403
- "type": "string",
2404
- "const": "memcache"
2405
- },
2406
- "connection": {
2407
- "description": "A memcache connection string in the form `user:pass@host:port`.",
2408
- "visibility": "secret",
2409
- "type": "string"
2410
2467
  },
2411
- "defaultTtl": {
2412
- "description": "An optional default TTL (in milliseconds)."
2413
- }
2414
- },
2415
- "required": [
2416
- "connection",
2417
- "store"
2418
- ]
2419
- }
2420
- ]
2421
- },
2422
- "cors": {
2423
- "type": "object",
2424
- "properties": {
2425
- "origin": {
2426
- "anyOf": [
2427
- {
2428
- "type": "array",
2429
- "items": {
2430
- "type": "string"
2431
- }
2468
+ "maxAge": {
2469
+ "type": "number"
2432
2470
  },
2433
- {
2434
- "type": "string"
2435
- }
2436
- ]
2437
- },
2438
- "methods": {
2439
- "anyOf": [
2440
- {
2441
- "type": "array",
2442
- "items": {
2443
- "type": "string"
2444
- }
2471
+ "preflightContinue": {
2472
+ "type": "boolean"
2445
2473
  },
2446
- {
2447
- "type": "string"
2474
+ "optionsSuccessStatus": {
2475
+ "type": "number"
2448
2476
  }
2449
- ]
2477
+ }
2450
2478
  },
2451
- "allowedHeaders": {
2452
- "anyOf": [
2453
- {
2454
- "type": "array",
2455
- "items": {
2456
- "type": "string"
2479
+ "csp": {
2480
+ "description": "Content Security Policy options.\n\nThe keys are the plain policy ID, e.g. \"upgrade-insecure-requests\". The\nvalues are on the format that the helmet library expects them, as an\narray of strings. There is also the special value false, which means to\nremove the default value that Backstage puts in place for that policy.",
2481
+ "type": "object",
2482
+ "additionalProperties": {
2483
+ "anyOf": [
2484
+ {
2485
+ "type": "array",
2486
+ "items": {
2487
+ "type": "string"
2488
+ }
2489
+ },
2490
+ {
2491
+ "const": false,
2492
+ "type": "boolean"
2457
2493
  }
2458
- },
2459
- {
2460
- "type": "string"
2461
- }
2462
- ]
2494
+ ]
2495
+ }
2463
2496
  },
2464
- "exposedHeaders": {
2465
- "anyOf": [
2466
- {
2497
+ "reading": {
2498
+ "description": "Configuration related to URL reading, used for example for reading catalog info\nfiles, scaffolder templates, and techdocs content.",
2499
+ "type": "object",
2500
+ "properties": {
2501
+ "allow": {
2502
+ "description": "A list of targets to allow outgoing requests to. Users will be able to make\nrequests on behalf of the backend to the targets that are allowed by this list.",
2467
2503
  "type": "array",
2468
2504
  "items": {
2469
- "type": "string"
2505
+ "type": "object",
2506
+ "properties": {
2507
+ "host": {
2508
+ "description": "A host to allow outgoing requests to, being either a full host or\na subdomain wildcard pattern with a leading `*`. For example `example.com`\nand `*.example.com` are valid values, `prod.*.example.com` is not.\nThe host may also contain a port, for example `example.com:8080`.",
2509
+ "type": "string"
2510
+ },
2511
+ "paths": {
2512
+ "description": "An optional list of paths. In case they are present only targets matching\nany of them will are allowed. You can use trailing slashes to make sure only\nsubdirectories are allowed, for example `/mydir/` will allow targets with\npaths like `/mydir/a` but will block paths like `/mydir2`.",
2513
+ "type": "array",
2514
+ "items": {
2515
+ "type": "string"
2516
+ }
2517
+ }
2518
+ },
2519
+ "required": [
2520
+ "host"
2521
+ ]
2470
2522
  }
2471
- },
2472
- {
2473
- "type": "string"
2474
- }
2475
- ]
2476
- },
2477
- "credentials": {
2478
- "type": "boolean"
2479
- },
2480
- "maxAge": {
2481
- "type": "number"
2482
- },
2483
- "preflightContinue": {
2484
- "type": "boolean"
2485
- },
2486
- "optionsSuccessStatus": {
2487
- "type": "number"
2488
- }
2489
- }
2490
- },
2491
- "csp": {
2492
- "description": "Content Security Policy options.\n\nThe keys are the plain policy ID, e.g. \"upgrade-insecure-requests\". The\nvalues are on the format that the helmet library expects them, as an\narray of strings. There is also the special value false, which means to\nremove the default value that Backstage puts in place for that policy.",
2493
- "type": "object",
2494
- "additionalProperties": {
2495
- "anyOf": [
2496
- {
2497
- "type": "array",
2498
- "items": {
2499
- "type": "string"
2500
2523
  }
2501
- },
2502
- {
2503
- "const": false,
2504
- "type": "boolean"
2505
2524
  }
2506
- ]
2507
- }
2525
+ }
2526
+ },
2527
+ "required": [
2528
+ "baseUrl",
2529
+ "database"
2530
+ ]
2508
2531
  },
2509
- "reading": {
2510
- "description": "Configuration related to URL reading, used for example for reading catalog info\nfiles, scaffolder templates, and techdocs content.",
2532
+ "discovery": {
2533
+ "description": "Options used by the default discovery service.",
2511
2534
  "type": "object",
2512
2535
  "properties": {
2513
- "allow": {
2514
- "description": "A list of targets to allow outgoing requests to. Users will be able to make\nrequests on behalf of the backend to the targets that are allowed by this list.",
2536
+ "endpoints": {
2537
+ "description": "A list of target baseUrls and the associated plugins.",
2515
2538
  "type": "array",
2516
2539
  "items": {
2517
2540
  "type": "object",
2518
2541
  "properties": {
2519
- "host": {
2520
- "description": "A host to allow outgoing requests to, being either a full host or\na subdomain wildcard pattern with a leading `*`. For example `example.com`\nand `*.example.com` are valid values, `prod.*.example.com` is not.\nThe host may also contain a port, for example `example.com:8080`.",
2521
- "type": "string"
2542
+ "target": {
2543
+ "description": "The target base URL to use for the plugin.\n\nCan be either a string or an object with internal and external keys.\nTargets with `{{pluginId}}` or `{{ pluginId }} in the URL will be replaced with the plugin ID.",
2544
+ "anyOf": [
2545
+ {
2546
+ "type": "object",
2547
+ "properties": {
2548
+ "internal": {
2549
+ "type": "string"
2550
+ },
2551
+ "external": {
2552
+ "type": "string"
2553
+ }
2554
+ },
2555
+ "required": [
2556
+ "external",
2557
+ "internal"
2558
+ ]
2559
+ },
2560
+ {
2561
+ "type": "string"
2562
+ }
2563
+ ]
2522
2564
  },
2523
- "paths": {
2524
- "description": "An optional list of paths. In case they are present only targets matching\nany of them will are allowed. You can use trailing slashes to make sure only\nsubdirectories are allowed, for example `/mydir/` will allow targets with\npaths like `/mydir/a` but will block paths like `/mydir2`.",
2565
+ "plugins": {
2566
+ "description": "Array of plugins which use the target base URL.",
2525
2567
  "type": "array",
2526
2568
  "items": {
2527
2569
  "type": "string"
@@ -2529,16 +2571,19 @@
2529
2571
  }
2530
2572
  },
2531
2573
  "required": [
2532
- "host"
2574
+ "plugins",
2575
+ "target"
2533
2576
  ]
2534
2577
  }
2535
2578
  }
2536
- }
2579
+ },
2580
+ "required": [
2581
+ "endpoints"
2582
+ ]
2537
2583
  }
2538
2584
  },
2539
2585
  "required": [
2540
- "app",
2541
- "database"
2586
+ "app"
2542
2587
  ],
2543
2588
  "$schema": "http://json-schema.org/draft-07/schema#"
2544
2589
  }