@backstage/plugin-catalog-backend-module-ldap 0.5.35-next.0 → 0.6.0-next.2

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 CHANGED
@@ -1,5 +1,32 @@
1
1
  # @backstage/plugin-catalog-backend-module-ldap
2
2
 
3
+ ## 0.6.0-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @backstage/backend-plugin-api@0.6.19-next.2
9
+ - @backstage/backend-tasks@0.5.24-next.2
10
+ - @backstage/plugin-catalog-node@1.12.1-next.1
11
+ - @backstage/catalog-model@1.5.0
12
+ - @backstage/config@1.2.0
13
+ - @backstage/errors@1.2.4
14
+ - @backstage/types@1.1.1
15
+ - @backstage/plugin-catalog-common@1.0.23
16
+
17
+ ## 0.6.0-next.1
18
+
19
+ ### Minor Changes
20
+
21
+ - debcc8c: Migrate LDAP catalog module to the new backend system.
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies
26
+ - @backstage/backend-tasks@0.5.24-next.1
27
+ - @backstage/backend-plugin-api@0.6.19-next.1
28
+ - @backstage/plugin-catalog-node@1.12.1-next.0
29
+
3
30
  ## 0.5.35-next.0
4
31
 
5
32
  ### Patch Changes
package/README.md CHANGED
@@ -8,3 +8,7 @@ groups from your Active Directory or another LDAP compatible server.
8
8
 
9
9
  See [Backstage documentation](https://backstage.io/docs/integrations/ldap/org) for details on how to install
10
10
  and configure the plugin.
11
+
12
+ ## Legacy backend
13
+
14
+ You can find the legacy documentation at `docs/integrations/ldap/org--old.md`.
package/config.d.ts CHANGED
@@ -19,6 +19,8 @@ import { JsonValue } from '@backstage/types';
19
19
  export interface Config {
20
20
  /**
21
21
  * LdapOrgEntityProvider / LdapOrgReaderProcessor configuration
22
+ *
23
+ * @deprecated This exists for backwards compatibility only and will be removed in the future.
22
24
  */
23
25
  ldap?: {
24
26
  /**
@@ -240,12 +242,237 @@ export interface Config {
240
242
 
241
243
  /**
242
244
  * Configuration options for the catalog plugin.
243
- *
244
- * TODO(freben): Deprecate this entire block
245
245
  */
246
246
  catalog?: {
247
+ /**
248
+ * List of provider-specific options and attributes
249
+ */
250
+ providers?: {
251
+ /**
252
+ * LdapOrg provider key
253
+ */
254
+ ldapOrg: {
255
+ /**
256
+ * Id of the LdapOrg provider
257
+ */
258
+ [id: string]: {
259
+ /**
260
+ * The prefix of the target that this matches on, e.g.
261
+ * "ldaps://ds.example.net", with no trailing slash.
262
+ */
263
+ target: string;
264
+
265
+ /**
266
+ * The settings to use for the bind command. If none are specified,
267
+ * the bind command is not issued.
268
+ */
269
+ bind?: {
270
+ /**
271
+ * The DN of the user to auth as.
272
+ *
273
+ * E.g. "uid=ldap-robot,ou=robots,ou=example,dc=example,dc=net"
274
+ */
275
+ dn: string;
276
+ /**
277
+ * The secret of the user to auth as (its password).
278
+ *
279
+ * @visibility secret
280
+ */
281
+ secret: string;
282
+ };
283
+
284
+ /**
285
+ * TLS settings
286
+ */
287
+ tls?: {
288
+ // Node TLS rejectUnauthorized
289
+ rejectUnauthorized?: boolean;
290
+ };
291
+
292
+ /**
293
+ * The settings that govern the reading and interpretation of users.
294
+ */
295
+ users: {
296
+ /**
297
+ * The DN under which users are stored.
298
+ *
299
+ * E.g. "ou=people,ou=example,dc=example,dc=net"
300
+ */
301
+ dn: string;
302
+ /**
303
+ * The search options to use. The default is scope "one" and
304
+ * attributes "*" and "+".
305
+ *
306
+ * It is common to want to specify a filter, to narrow down the set
307
+ * of matching items.
308
+ */
309
+ options: {
310
+ scope?: 'base' | 'one' | 'sub';
311
+ filter?: string;
312
+ attributes?: string | string[];
313
+ sizeLimit?: number;
314
+ timeLimit?: number;
315
+ derefAliases?: number;
316
+ typesOnly?: boolean;
317
+ paged?:
318
+ | boolean
319
+ | {
320
+ pageSize?: number;
321
+ pagePause?: boolean;
322
+ };
323
+ };
324
+ /**
325
+ * JSON paths (on a.b.c form) and hard coded values to set on those
326
+ * paths.
327
+ *
328
+ * This can be useful for example if you want to hard code a
329
+ * namespace or similar on the generated entities.
330
+ */
331
+ set?: { [key: string]: JsonValue };
332
+ /**
333
+ * Mappings from well known entity fields, to LDAP attribute names
334
+ */
335
+ map?: {
336
+ /**
337
+ * The name of the attribute that holds the relative
338
+ * distinguished name of each entry. Defaults to "uid".
339
+ */
340
+ rdn?: string;
341
+ /**
342
+ * The name of the attribute that shall be used for the value of
343
+ * the metadata.name field of the entity. Defaults to "uid".
344
+ */
345
+ name?: string;
346
+ /**
347
+ * The name of the attribute that shall be used for the value of
348
+ * the metadata.description field of the entity.
349
+ */
350
+ description?: string;
351
+ /**
352
+ * The name of the attribute that shall be used for the value of
353
+ * the spec.profile.displayName field of the entity. Defaults to
354
+ * "cn".
355
+ */
356
+ displayName?: string;
357
+ /**
358
+ * The name of the attribute that shall be used for the value of
359
+ * the spec.profile.email field of the entity. Defaults to
360
+ * "mail".
361
+ */
362
+ email?: string;
363
+ /**
364
+ * The name of the attribute that shall be used for the value of
365
+ * the spec.profile.picture field of the entity.
366
+ */
367
+ picture?: string;
368
+ /**
369
+ * The name of the attribute that shall be used for the values of
370
+ * the spec.memberOf field of the entity. Defaults to "memberOf".
371
+ */
372
+ memberOf?: string;
373
+ };
374
+ };
375
+
376
+ /**
377
+ * The settings that govern the reading and interpretation of groups.
378
+ */
379
+ groups: {
380
+ /**
381
+ * The DN under which groups are stored.
382
+ *
383
+ * E.g. "ou=people,ou=example,dc=example,dc=net"
384
+ */
385
+ dn: string;
386
+ /**
387
+ * The search options to use. The default is scope "one" and
388
+ * attributes "*" and "+".
389
+ *
390
+ * It is common to want to specify a filter, to narrow down the set
391
+ * of matching items.
392
+ */
393
+ options: {
394
+ scope?: 'base' | 'one' | 'sub';
395
+ filter?: string;
396
+ attributes?: string | string[];
397
+ sizeLimit?: number;
398
+ timeLimit?: number;
399
+ derefAliases?: number;
400
+ typesOnly?: boolean;
401
+ paged?:
402
+ | boolean
403
+ | {
404
+ pageSize?: number;
405
+ pagePause?: boolean;
406
+ };
407
+ };
408
+ /**
409
+ * JSON paths (on a.b.c form) and hard coded values to set on those
410
+ * paths.
411
+ *
412
+ * This can be useful for example if you want to hard code a
413
+ * namespace or similar on the generated entities.
414
+ */
415
+ set?: { [key: string]: JsonValue };
416
+ /**
417
+ * Mappings from well known entity fields, to LDAP attribute names
418
+ */
419
+ map?: {
420
+ /**
421
+ * The name of the attribute that holds the relative
422
+ * distinguished name of each entry. Defaults to "cn".
423
+ */
424
+ rdn?: string;
425
+ /**
426
+ * The name of the attribute that shall be used for the value of
427
+ * the metadata.name field of the entity. Defaults to "cn".
428
+ */
429
+ name?: string;
430
+ /**
431
+ * The name of the attribute that shall be used for the value of
432
+ * the metadata.description field of the entity. Defaults to
433
+ * "description".
434
+ */
435
+ description?: string;
436
+ /**
437
+ * The name of the attribute that shall be used for the value of
438
+ * the spec.type field of the entity. Defaults to "groupType".
439
+ */
440
+ type?: string;
441
+ /**
442
+ * The name of the attribute that shall be used for the value of
443
+ * the spec.profile.displayName field of the entity. Defaults to
444
+ * "cn".
445
+ */
446
+ displayName?: string;
447
+ /**
448
+ * The name of the attribute that shall be used for the value of
449
+ * the spec.profile.email field of the entity.
450
+ */
451
+ email?: string;
452
+ /**
453
+ * The name of the attribute that shall be used for the value of
454
+ * the spec.profile.picture field of the entity.
455
+ */
456
+ picture?: string;
457
+ /**
458
+ * The name of the attribute that shall be used for the values of
459
+ * the spec.parent field of the entity. Defaults to "memberOf".
460
+ */
461
+ memberOf?: string;
462
+ /**
463
+ * The name of the attribute that shall be used for the values of
464
+ * the spec.children field of the entity. Defaults to "member".
465
+ */
466
+ members?: string;
467
+ };
468
+ };
469
+ };
470
+ };
471
+ };
247
472
  /**
248
473
  * List of processor-specific options and attributes
474
+ *
475
+ * @deprecated This exists for backwards compatibility only and will be removed in the future.
249
476
  */
250
477
  processors?: {
251
478
  /**