Version Packages

This commit is contained in:
github-actions[bot]
2022-04-19 14:28:08 +00:00
parent c888455313
commit 3f7acfb96e
459 changed files with 6352 additions and 3402 deletions
+70
View File
@@ -1,5 +1,75 @@
# @backstage/plugin-kubernetes-backend
## 0.5.0
### Minor Changes
- 3d45427666: **BREAKING** Custom cluster suppliers need to cache their getClusters result
To allow custom `KubernetesClustersSupplier` instances to refresh the list of clusters
the `getClusters` method is now called whenever the list of clusters is needed.
Existing `KubernetesClustersSupplier` implementations will need to ensure that `getClusters`
can be called frequently and should return a cached result from `getClusters` instead.
For example, here's a simple example of a custom supplier in `packages/backend/src/plugins/kubernetes.ts`:
```diff
-import { KubernetesBuilder } from '@backstage/plugin-kubernetes-backend';
+import {
+ ClusterDetails,
+ KubernetesBuilder,
+ KubernetesClustersSupplier,
+} from '@backstage/plugin-kubernetes-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
+import { Duration } from 'luxon';
+
+export class CustomClustersSupplier implements KubernetesClustersSupplier {
+ constructor(private clusterDetails: ClusterDetails[] = []) {}
+
+ static create(refreshInterval: Duration) {
+ const clusterSupplier = new CustomClustersSupplier();
+ // setup refresh, e.g. using a copy of https://github.com/backstage/backstage/blob/master/plugins/search-backend-node/src/runPeriodically.ts
+ runPeriodically(
+ () => clusterSupplier.refreshClusters(),
+ refreshInterval.toMillis(),
+ );
+ return clusterSupplier;
+ }
+
+ async refreshClusters(): Promise<void> {
+ this.clusterDetails = []; // fetch from somewhere
+ }
+
+ async getClusters(): Promise<ClusterDetails[]> {
+ return this.clusterDetails;
+ }
+}
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
- const { router } = await KubernetesBuilder.createBuilder({
+ const builder = await KubernetesBuilder.createBuilder({
logger: env.logger,
config: env.config,
- }).build();
+ });
+ builder.setClusterSupplier(
+ CustomClustersSupplier.create(Duration.fromObject({ minutes: 60 })),
+ );
+ const { router } = await builder.build();
```
### Patch Changes
- 753a20c89e: Add kubernetes namespace annotation `backstage.io/kubernetes-namespace` to allow namespaced Kubernetes resources fetches
- Updated dependencies
- @backstage/catalog-model@1.0.1
- @backstage/backend-common@0.13.2
- @backstage/plugin-kubernetes-common@0.2.9
## 0.5.0-next.1
### Minor Changes
+5 -5
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kubernetes-backend",
"description": "A Backstage backend plugin that integrates towards Kubernetes",
"version": "0.5.0-next.1",
"version": "0.5.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,11 +35,11 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
"@backstage/backend-common": "^0.13.2-next.2",
"@backstage/catalog-model": "^1.0.1-next.0",
"@backstage/backend-common": "^0.13.2",
"@backstage/catalog-model": "^1.0.1",
"@backstage/config": "^1.0.0",
"@backstage/errors": "^1.0.0",
"@backstage/plugin-kubernetes-common": "^0.2.9-next.0",
"@backstage/plugin-kubernetes-common": "^0.2.9",
"@google-cloud/container": "^3.0.0",
"@kubernetes/client-node": "^0.16.0",
"@types/express": "^4.17.6",
@@ -60,7 +60,7 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.17.0-next.3",
"@backstage/cli": "^0.17.0",
"@types/aws4": "^1.5.1",
"aws-sdk-mock": "^5.2.1",
"supertest": "^6.1.3"