catalog: use LoggerService instead of winston Logger in ldap module
Signed-off-by: Elias Rieb <e.rieb@posteo.de>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-ldap': patch
|
||||
---
|
||||
|
||||
Remove dependency to Winston Logger and use Backstage LoggerService instead
|
||||
@@ -12,7 +12,7 @@ import { EntityProviderConnection } from '@backstage/plugin-catalog-node';
|
||||
import { GroupEntity } from '@backstage/catalog-model';
|
||||
import { JsonValue } from '@backstage/types';
|
||||
import { LocationSpec } from '@backstage/plugin-catalog-common';
|
||||
import { Logger } from 'winston';
|
||||
import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
import { SearchEntry } from 'ldapjs';
|
||||
import { SearchOptions } from 'ldapjs';
|
||||
import { TaskRunner } from '@backstage/backend-tasks';
|
||||
@@ -76,10 +76,10 @@ export const LDAP_UUID_ANNOTATION = 'backstage.io/ldap-uuid';
|
||||
|
||||
// @public
|
||||
export class LdapClient {
|
||||
constructor(client: Client, logger: Logger);
|
||||
constructor(client: Client, logger: LoggerService);
|
||||
// (undocumented)
|
||||
static create(
|
||||
logger: Logger,
|
||||
logger: LoggerService,
|
||||
target: string,
|
||||
bind?: BindConfig,
|
||||
tls?: TLSConfig,
|
||||
@@ -99,7 +99,7 @@ export class LdapOrgEntityProvider implements EntityProvider {
|
||||
constructor(options: {
|
||||
id: string;
|
||||
provider: LdapProviderConfig;
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
userTransformer?: UserTransformer;
|
||||
groupTransformer?: GroupTransformer;
|
||||
});
|
||||
@@ -112,14 +112,14 @@ export class LdapOrgEntityProvider implements EntityProvider {
|
||||
): LdapOrgEntityProvider;
|
||||
// (undocumented)
|
||||
getProviderName(): string;
|
||||
read(options?: { logger?: Logger }): Promise<void>;
|
||||
read(options?: { logger?: LoggerService }): Promise<void>;
|
||||
}
|
||||
|
||||
// @public
|
||||
export interface LdapOrgEntityProviderOptions {
|
||||
groupTransformer?: GroupTransformer;
|
||||
id: string;
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
schedule: 'manual' | TaskRunner;
|
||||
target: string;
|
||||
userTransformer?: UserTransformer;
|
||||
@@ -129,7 +129,7 @@ export interface LdapOrgEntityProviderOptions {
|
||||
export class LdapOrgReaderProcessor implements CatalogProcessor {
|
||||
constructor(options: {
|
||||
providers: LdapProviderConfig[];
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
groupTransformer?: GroupTransformer;
|
||||
userTransformer?: UserTransformer;
|
||||
});
|
||||
@@ -137,7 +137,7 @@ export class LdapOrgReaderProcessor implements CatalogProcessor {
|
||||
static fromConfig(
|
||||
configRoot: Config,
|
||||
options: {
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
groupTransformer?: GroupTransformer;
|
||||
userTransformer?: UserTransformer;
|
||||
},
|
||||
@@ -187,7 +187,7 @@ export function readLdapOrg(
|
||||
options: {
|
||||
groupTransformer?: GroupTransformer;
|
||||
userTransformer?: UserTransformer;
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
},
|
||||
): Promise<{
|
||||
users: UserEntity[];
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
"test": "backstage-cli package test"
|
||||
},
|
||||
"dependencies": {
|
||||
"@backstage/backend-plugin-api": "workspace:^",
|
||||
"@backstage/backend-tasks": "workspace:^",
|
||||
"@backstage/catalog-model": "workspace:^",
|
||||
"@backstage/config": "workspace:^",
|
||||
@@ -46,8 +47,7 @@
|
||||
"@types/ldapjs": "^2.2.5",
|
||||
"ldapjs": "^2.3.3",
|
||||
"lodash": "^4.17.21",
|
||||
"uuid": "^9.0.0",
|
||||
"winston": "^3.2.1"
|
||||
"uuid": "^9.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@backstage/cli": "workspace:^",
|
||||
|
||||
@@ -19,7 +19,6 @@ import { readFile } from 'fs/promises';
|
||||
import ldap, { Client, SearchEntry, SearchOptions } from 'ldapjs';
|
||||
import { cloneDeep } from 'lodash';
|
||||
import tlsLib from 'tls';
|
||||
import { Logger } from 'winston';
|
||||
import { BindConfig, TLSConfig } from './config';
|
||||
import { createOptions, errorString } from './util';
|
||||
import {
|
||||
@@ -29,6 +28,7 @@ import {
|
||||
FreeIpaVendor,
|
||||
LdapVendor,
|
||||
} from './vendors';
|
||||
import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
|
||||
/**
|
||||
* Basic wrapper for the `ldapjs` library.
|
||||
@@ -41,7 +41,7 @@ export class LdapClient {
|
||||
private vendor: Promise<LdapVendor> | undefined;
|
||||
|
||||
static async create(
|
||||
logger: Logger,
|
||||
logger: LoggerService,
|
||||
target: string,
|
||||
bind?: BindConfig,
|
||||
tls?: TLSConfig,
|
||||
@@ -89,7 +89,7 @@ export class LdapClient {
|
||||
|
||||
constructor(
|
||||
private readonly client: Client,
|
||||
private readonly logger: Logger,
|
||||
private readonly logger: LoggerService,
|
||||
) {}
|
||||
|
||||
/**
|
||||
|
||||
@@ -31,9 +31,9 @@ import {
|
||||
LDAP_UUID_ANNOTATION,
|
||||
} from './constants';
|
||||
import { LdapVendor } from './vendors';
|
||||
import { Logger } from 'winston';
|
||||
import { GroupTransformer, UserTransformer } from './types';
|
||||
import { mapStringAttr } from './util';
|
||||
import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
|
||||
/**
|
||||
* The default implementation of the transformation from an LDAP entry to a
|
||||
@@ -269,7 +269,7 @@ export async function readLdapOrg(
|
||||
options: {
|
||||
groupTransformer?: GroupTransformer;
|
||||
userTransformer?: UserTransformer;
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
},
|
||||
): Promise<{
|
||||
users: UserEntity[];
|
||||
|
||||
@@ -27,7 +27,6 @@ import {
|
||||
} from '@backstage/plugin-catalog-node';
|
||||
import { merge } from 'lodash';
|
||||
import * as uuid from 'uuid';
|
||||
import { Logger } from 'winston';
|
||||
import {
|
||||
GroupTransformer,
|
||||
LdapClient,
|
||||
@@ -37,6 +36,7 @@ import {
|
||||
readLdapOrg,
|
||||
UserTransformer,
|
||||
} from '../ldap';
|
||||
import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
|
||||
/**
|
||||
* Options for {@link LdapOrgEntityProvider}.
|
||||
@@ -64,7 +64,7 @@ export interface LdapOrgEntityProviderOptions {
|
||||
/**
|
||||
* The logger to use.
|
||||
*/
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
|
||||
/**
|
||||
* The refresh schedule to use.
|
||||
@@ -143,7 +143,7 @@ export class LdapOrgEntityProvider implements EntityProvider {
|
||||
private options: {
|
||||
id: string;
|
||||
provider: LdapProviderConfig;
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
userTransformer?: UserTransformer;
|
||||
groupTransformer?: GroupTransformer;
|
||||
},
|
||||
@@ -164,7 +164,7 @@ export class LdapOrgEntityProvider implements EntityProvider {
|
||||
* Runs one single complete ingestion. This is only necessary if you use
|
||||
* manual scheduling.
|
||||
*/
|
||||
async read(options?: { logger?: Logger }) {
|
||||
async read(options?: { logger?: LoggerService }) {
|
||||
if (!this.connection) {
|
||||
throw new Error('Not initialized');
|
||||
}
|
||||
@@ -237,7 +237,7 @@ export class LdapOrgEntityProvider implements EntityProvider {
|
||||
}
|
||||
|
||||
// Helps wrap the timing and logging behaviors
|
||||
function trackProgress(logger: Logger) {
|
||||
function trackProgress(logger: LoggerService) {
|
||||
let timestamp = Date.now();
|
||||
let summary: string;
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
|
||||
import { Config } from '@backstage/config';
|
||||
import { Logger } from 'winston';
|
||||
import {
|
||||
GroupTransformer,
|
||||
LdapClient,
|
||||
@@ -30,6 +29,7 @@ import {
|
||||
processingResult,
|
||||
} from '@backstage/plugin-catalog-node';
|
||||
import { LocationSpec } from '@backstage/plugin-catalog-common';
|
||||
import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
|
||||
/**
|
||||
* Extracts teams and users out of an LDAP server.
|
||||
@@ -38,14 +38,14 @@ import { LocationSpec } from '@backstage/plugin-catalog-common';
|
||||
*/
|
||||
export class LdapOrgReaderProcessor implements CatalogProcessor {
|
||||
private readonly providers: LdapProviderConfig[];
|
||||
private readonly logger: Logger;
|
||||
private readonly logger: LoggerService;
|
||||
private readonly groupTransformer?: GroupTransformer;
|
||||
private readonly userTransformer?: UserTransformer;
|
||||
|
||||
static fromConfig(
|
||||
configRoot: Config,
|
||||
options: {
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
groupTransformer?: GroupTransformer;
|
||||
userTransformer?: UserTransformer;
|
||||
},
|
||||
@@ -62,7 +62,7 @@ export class LdapOrgReaderProcessor implements CatalogProcessor {
|
||||
|
||||
constructor(options: {
|
||||
providers: LdapProviderConfig[];
|
||||
logger: Logger;
|
||||
logger: LoggerService;
|
||||
groupTransformer?: GroupTransformer;
|
||||
userTransformer?: UserTransformer;
|
||||
}) {
|
||||
|
||||
@@ -5269,6 +5269,7 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@backstage/plugin-catalog-backend-module-ldap@workspace:plugins/catalog-backend-module-ldap"
|
||||
dependencies:
|
||||
"@backstage/backend-plugin-api": "workspace:^"
|
||||
"@backstage/backend-tasks": "workspace:^"
|
||||
"@backstage/catalog-model": "workspace:^"
|
||||
"@backstage/cli": "workspace:^"
|
||||
@@ -5282,7 +5283,6 @@ __metadata:
|
||||
ldapjs: ^2.3.3
|
||||
lodash: ^4.17.21
|
||||
uuid: ^9.0.0
|
||||
winston: ^3.2.1
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
|
||||
Reference in New Issue
Block a user