@backstage/plugin-kubernetes-backend 0.16.4 → 0.17.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/dist/index.d.ts CHANGED
@@ -2,14 +2,14 @@ import * as k8sTypes from '@backstage/plugin-kubernetes-node';
2
2
  import { AuthenticationStrategy as AuthenticationStrategy$1, ClusterDetails as ClusterDetails$1, KubernetesCredential as KubernetesCredential$1, AuthMetadata as AuthMetadata$1, KubernetesClustersSupplier as KubernetesClustersSupplier$1, CustomResource as CustomResource$1, KubernetesFetcher as KubernetesFetcher$1, KubernetesObjectsProvider as KubernetesObjectsProvider$1, KubernetesServiceLocator as KubernetesServiceLocator$1 } from '@backstage/plugin-kubernetes-node';
3
3
  import { KubernetesRequestAuth, KubernetesRequestBody } from '@backstage/plugin-kubernetes-common';
4
4
  import { Config } from '@backstage/config';
5
- import { Logger } from 'winston';
6
5
  import { TokenCredential } from '@azure/identity';
6
+ import { LoggerService, PermissionsService, DiscoveryService, HttpAuthService, AuthService, BackstageCredentials } from '@backstage/backend-plugin-api';
7
7
  import { CatalogApi } from '@backstage/catalog-client';
8
8
  import { PermissionEvaluator } from '@backstage/plugin-permission-common';
9
9
  import express from 'express';
10
10
  import { Duration } from 'luxon';
11
- import { DiscoveryService, AuthService, HttpAuthService, BackstageCredentials } from '@backstage/backend-plugin-api';
12
11
  import { RequestHandler } from 'http-proxy-middleware';
12
+ import { Logger } from 'winston';
13
13
  import { PluginEndpointDiscovery } from '@backstage/backend-common';
14
14
 
15
15
  /**
@@ -65,7 +65,7 @@ declare class AzureIdentityStrategy implements AuthenticationStrategy$1 {
65
65
  private readonly tokenCredential;
66
66
  private accessToken;
67
67
  private newTokenPromise;
68
- constructor(logger: Logger, tokenCredential?: TokenCredential);
68
+ constructor(logger: LoggerService, tokenCredential?: TokenCredential);
69
69
  getCredential(): Promise<KubernetesCredential$1>;
70
70
  validateCluster(): Error[];
71
71
  private fetchNewToken;
@@ -154,7 +154,7 @@ type ServiceLocatorMethod = 'multiTenant' | 'singleTenant' | 'catalogRelation' |
154
154
  * @public
155
155
  */
156
156
  interface KubernetesObjectsProviderOptions {
157
- logger: Logger;
157
+ logger: LoggerService;
158
158
  config: Config;
159
159
  fetcher: k8sTypes.KubernetesFetcher;
160
160
  serviceLocator: k8sTypes.KubernetesServiceLocator;
@@ -240,7 +240,7 @@ declare const HEADER_KUBERNETES_AUTH: string;
240
240
  * @public
241
241
  */
242
242
  type KubernetesProxyCreateRequestHandlerOptions = {
243
- permissionApi: PermissionEvaluator;
243
+ permissionApi: PermissionsService;
244
244
  };
245
245
  /**
246
246
  * Options accepted as a parameter by the KubernetesProxy
@@ -248,9 +248,11 @@ type KubernetesProxyCreateRequestHandlerOptions = {
248
248
  * @public
249
249
  */
250
250
  type KubernetesProxyOptions = {
251
- logger: Logger;
251
+ logger: LoggerService;
252
252
  clusterSupplier: KubernetesClustersSupplier;
253
253
  authStrategy: AuthenticationStrategy;
254
+ discovery: DiscoveryService;
255
+ httpAuth?: HttpAuthService;
254
256
  };
255
257
  /**
256
258
  * A proxy that routes requests to the Kubernetes API.
@@ -262,6 +264,7 @@ declare class KubernetesProxy {
262
264
  private readonly logger;
263
265
  private readonly clusterSupplier;
264
266
  private readonly authStrategy;
267
+ private readonly httpAuth;
265
268
  constructor(options: KubernetesProxyOptions);
266
269
  createRequestHandler(options: KubernetesProxyCreateRequestHandlerOptions): RequestHandler;
267
270
  private getMiddleware;
@@ -276,7 +279,7 @@ declare class KubernetesProxy {
276
279
  * @public
277
280
  */
278
281
  interface KubernetesEnvironment {
279
- logger: Logger;
282
+ logger: LoggerService;
280
283
  config: Config;
281
284
  catalogApi: CatalogApi;
282
285
  discovery: DiscoveryService;
@@ -336,7 +339,7 @@ declare class KubernetesBuilder {
336
339
  protected buildSingleTenantServiceLocator(clusterSupplier: KubernetesClustersSupplier$1): KubernetesServiceLocator$1;
337
340
  protected buildCatalogRelationServiceLocator(clusterSupplier: KubernetesClustersSupplier$1): KubernetesServiceLocator$1;
338
341
  protected buildHttpServiceLocator(_clusterSupplier: KubernetesClustersSupplier$1): KubernetesServiceLocator$1;
339
- protected buildProxy(logger: Logger, clusterSupplier: KubernetesClustersSupplier$1): KubernetesProxy;
342
+ protected buildProxy(logger: LoggerService, clusterSupplier: KubernetesClustersSupplier$1, discovery: DiscoveryService, httpAuth: HttpAuthService): KubernetesProxy;
340
343
  protected buildRouter(objectsProvider: KubernetesObjectsProvider$1, clusterSupplier: KubernetesClustersSupplier$1, catalogApi: CatalogApi, proxy: KubernetesProxy, permissionApi: PermissionEvaluator, authService: AuthService, httpAuth: HttpAuthService): express.Router;
341
344
  protected buildAuthStrategyMap(): {
342
345
  [key: string]: AuthenticationStrategy$1;
@@ -350,7 +353,7 @@ declare class KubernetesBuilder {
350
353
  protected getServiceLocator(): KubernetesServiceLocator$1;
351
354
  protected getObjectsProvider(options: KubernetesObjectsProviderOptions): KubernetesObjectsProvider$1;
352
355
  protected getObjectTypesToFetch(): k8sTypes.ObjectToFetch[] | undefined;
353
- protected getProxy(logger: Logger, clusterSupplier: KubernetesClustersSupplier$1): KubernetesProxy;
356
+ protected getProxy(logger: LoggerService, clusterSupplier: KubernetesClustersSupplier$1, discovery: DiscoveryService, httpAuth: HttpAuthService): KubernetesProxy;
354
357
  protected getAuthStrategyMap(): {
355
358
  [key: string]: AuthenticationStrategy$1;
356
359
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/plugin-kubernetes-backend",
3
3
  "description": "A Backstage backend plugin that integrates towards Kubernetes",
4
- "version": "0.16.4",
4
+ "version": "0.17.0",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -49,25 +49,25 @@
49
49
  "@aws-sdk/credential-providers": "^3.350.0",
50
50
  "@aws-sdk/signature-v4": "^3.347.0",
51
51
  "@azure/identity": "^4.0.0",
52
- "@backstage/backend-common": "^0.21.6",
53
- "@backstage/backend-plugin-api": "^0.6.16",
54
- "@backstage/catalog-client": "^1.6.3",
52
+ "@backstage/backend-common": "^0.21.7",
53
+ "@backstage/backend-plugin-api": "^0.6.17",
54
+ "@backstage/catalog-client": "^1.6.4",
55
55
  "@backstage/catalog-model": "^1.4.5",
56
56
  "@backstage/config": "^1.2.0",
57
57
  "@backstage/errors": "^1.2.4",
58
58
  "@backstage/integration-aws-node": "^0.1.12",
59
- "@backstage/plugin-auth-node": "^0.4.11",
60
- "@backstage/plugin-catalog-node": "^1.11.0",
59
+ "@backstage/plugin-auth-node": "^0.4.12",
60
+ "@backstage/plugin-catalog-node": "^1.11.1",
61
61
  "@backstage/plugin-kubernetes-common": "^0.7.5",
62
- "@backstage/plugin-kubernetes-node": "^0.1.10",
62
+ "@backstage/plugin-kubernetes-node": "^0.1.11",
63
63
  "@backstage/plugin-permission-common": "^0.7.13",
64
- "@backstage/plugin-permission-node": "^0.7.27",
64
+ "@backstage/plugin-permission-node": "^0.7.28",
65
65
  "@backstage/types": "^1.1.1",
66
66
  "@google-cloud/container": "^5.0.0",
67
67
  "@jest-mock/express": "^2.0.1",
68
68
  "@kubernetes/client-node": "0.20.0",
69
69
  "@types/express": "^4.17.6",
70
- "@types/http-proxy-middleware": "^0.19.3",
70
+ "@types/http-proxy-middleware": "^1.0.0",
71
71
  "@types/luxon": "^3.0.0",
72
72
  "compression": "^1.7.4",
73
73
  "cors": "^2.8.5",
@@ -85,11 +85,11 @@
85
85
  "yn": "^4.0.0"
86
86
  },
87
87
  "devDependencies": {
88
- "@backstage/backend-app-api": "^0.6.2",
89
- "@backstage/backend-test-utils": "^0.3.6",
90
- "@backstage/cli": "^0.26.2",
91
- "@backstage/plugin-permission-backend": "^0.5.40",
92
- "@backstage/plugin-permission-backend-module-allow-all-policy": "^0.1.13",
88
+ "@backstage/backend-app-api": "^0.7.0",
89
+ "@backstage/backend-test-utils": "^0.3.7",
90
+ "@backstage/cli": "^0.26.3",
91
+ "@backstage/plugin-permission-backend": "^0.5.41",
92
+ "@backstage/plugin-permission-backend-module-allow-all-policy": "^0.1.14",
93
93
  "@types/aws4": "^1.5.1",
94
94
  "msw": "^1.0.0",
95
95
  "supertest": "^6.1.3",