+ {(links || []).map((link: LinkInfo) => (
+
+ ))}
+
+ );
+};
diff --git a/ui/src/app/shared/models.ts b/ui/src/app/shared/models.ts
index b65e123c04368..37ec6b44ddbcc 100644
--- a/ui/src/app/shared/models.ts
+++ b/ui/src/app/shared/models.ts
@@ -921,3 +921,14 @@ export enum PodPhase {
export interface NotificationChunk {
name: string;
}
+
+export interface LinkInfo {
+ title: string;
+ url: string;
+ description?: string;
+ iconClass?: string;
+}
+
+export interface LinksResponse {
+ items: LinkInfo[];
+}
diff --git a/ui/src/app/shared/services/applications-service.ts b/ui/src/app/shared/services/applications-service.ts
index 006e6c558b97f..c4d244f957726 100644
--- a/ui/src/app/shared/services/applications-service.ts
+++ b/ui/src/app/shared/services/applications-service.ts
@@ -3,6 +3,7 @@ import {Observable} from 'rxjs';
import {map, repeat, retry} from 'rxjs/operators';
import * as models from '../models';
+import {isValidURL} from '../utils';
import requests from './requests';
interface QueryOptions {
@@ -390,6 +391,39 @@ export class ApplicationsService {
.then(() => true);
}
+ public getLinks(applicationName: string): Promise