refactor code in order to support multiple dashboard link formatters

Signed-off-by: Morgan Martinet <morgan.martinet@montreal.ca>
This commit is contained in:
Morgan Martinet
2021-08-29 19:07:34 -04:00
parent c59294d1e5
commit abf7c46404
29 changed files with 757 additions and 144 deletions
+36
View File
@@ -27,6 +27,8 @@ kubernetes:
authProvider: 'serviceAccount'
skipTLSVerify: false
serviceAccountToken: ${K8S_MINIKUBE_TOKEN}
dashboardUrl: http://127.0.0.1:64713 # url copied from running the command: minikube service kubernetes-dashboard -n kubernetes-dashboard
dashboardApp: standard
- url: http://127.0.0.2:9999
name: aws-cluster-1
authProvider: 'aws'
@@ -98,6 +100,40 @@ kubectl -n <NAMESPACE> get secret $(kubectl -n <NAMESPACE> get sa <SERVICE_ACCOU
| base64 --decode
```
##### `clusters.\*.dashboardUrl` (optional)
Specifies the link to the Kubernetes dashboard managing this cluster.
Note that you need to specify the app used for the dashboard using the
**dashboardApp property**, in order to properly format links to kubernetes
resources.
##### `clusters.\*.dashboardApp` (optional)
Specifies the app that provides the Kubernetes dashboard.
This will be used for formatting links to kubernetes objects inside the
dashboard.
The supported dashboards are: standard, rancher, openshift, gke, aks, eks
Note that it will default to the regular dashboard provided by the Kubernetes
project (standard), that can run in any kubernetes cluster.
Note that you can add your own formatter by registering it to the formatters
dictionary, in the app project.
Example:
```ts
import { clusterLinksFormatters } from '@backstage/plugin-kubernetes';
clusterLinksFormatters.myDashboard = (options) => ...;
```
See also
https://github.com/backstage/backstage/tree/master/plugins/kubernetes/src/utils/clusterLinks/formatters
for real examples.
#### `gke`
This cluster locator is designed to work with Kubernetes clusters running in