From c0b8d472a04beaa87906659c9501e815824a07ad Mon Sep 17 00:00:00 2001 From: steve richards Date: Fri, 16 Oct 2020 15:13:18 +0100 Subject: [PATCH] Add LoadBalancer information to the Ingress view (#1064) Signed-off-by: Steve Richards --- src/renderer/api/endpoints/ingress.api.ts | 8 ++++++++ src/renderer/components/+network-ingresses/ingresses.tsx | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/renderer/api/endpoints/ingress.api.ts b/src/renderer/api/endpoints/ingress.api.ts index f361c24fd7..8f81f3a05d 100644 --- a/src/renderer/api/endpoints/ingress.api.ts +++ b/src/renderer/api/endpoints/ingress.api.ts @@ -107,6 +107,14 @@ export class Ingress extends KubeObject { } return ports.join(", ") } + + getLoadBalancers() { + const { status: { loadBalancer = { ingress: [] } } } = this; + + return (loadBalancer.ingress ?? []).map(address => ( + address.hostname || address.ip + )) + } } export const ingressApi = new IngressApi({ diff --git a/src/renderer/components/+network-ingresses/ingresses.tsx b/src/renderer/components/+network-ingresses/ingresses.tsx index 1370a62277..f0332e4c0d 100644 --- a/src/renderer/components/+network-ingresses/ingresses.tsx +++ b/src/renderer/components/+network-ingresses/ingresses.tsx @@ -39,12 +39,14 @@ export class Ingresses extends React.Component { renderTableHeader={[ { title: Name, className: "name", sortBy: sortBy.name }, { title: Namespace, className: "namespace", sortBy: sortBy.namespace }, + { title: LoadBalancers, className: "loadbalancers" }, { title: Rules, className: "rules" }, { title: Age, className: "age", sortBy: sortBy.age }, ]} renderTableContents={(ingress: Ingress) => [ ingress.getName(), ingress.getNs(), + ingress.getLoadBalancers().map(lb =>

{lb}

), ingress.getRoutes().map(route =>

{route}

), ingress.getAge(), ]}