feat(kubernetes): provide access to the Kubernetes dashboard when viewing a specific resource

Signed-off-by: Morgan Martinet <morgan@mmm-experts.com>
This commit is contained in:
Morgan Martinet
2021-08-10 15:15:45 -04:00
committed by Morgan Martinet
parent 9b5f0dd741
commit 7a0c334707
12 changed files with 254 additions and 31 deletions
@@ -33,6 +33,7 @@ export class ConfigClusterLocator implements KubernetesClustersSupplier {
const clusterDetails = {
name: c.getString('name'),
url: c.getString('url'),
dashboardUrl: c.getOptionalString('dashboardUrl'),
serviceAccountToken: c.getOptionalString('serviceAccountToken'),
skipTLSVerify: c.getOptionalBoolean('skipTLSVerify') ?? false,
authProvider: authProvider,
@@ -114,6 +114,7 @@ export class KubernetesFanOutHandler {
return {
cluster: {
name: clusterDetailsItem.name,
dashboardUrl: clusterDetailsItem.dashboardUrl,
},
resources: result.responses,
errors: result.errors,
@@ -86,6 +86,7 @@ export const makeRouter = (
res.json({
items: clusterDetails.map(cd => ({
name: cd.name,
dashboardUrl: cd.dashboardUrl,
authProvider: cd.authProvider,
})),
});
@@ -80,6 +80,7 @@ export interface ClusterDetails {
authProvider: string;
serviceAccountToken?: string | undefined;
skipTLSVerify?: boolean;
dashboardUrl?: string;
}
export interface GKEClusterDetails extends ClusterDetails {}