Add LoadBalancer information to the Ingress view (#1064)

Signed-off-by: Steve Richards <srichards@mirantis.com>
This commit is contained in:
steve richards authored and GitHub committed 2020-10-16 17:13:18 +03:00
1 parent bf20a15819
commit c0b8d472a0
2 files changed
+10

No files matched your search

@@ -107,6 +107,14 @@ export class Ingress extends KubeObject {
} }
return ports.join(", ") return ports.join(", ")
} }
getLoadBalancers() {
const { status: { loadBalancer = { ingress: [] } } } = this;
return (loadBalancer.ingress ?? []).map(address => (
address.hostname || address.ip
))
}
} }
export const ingressApi = new IngressApi({ export const ingressApi = new IngressApi({
@@ -39,12 +39,14 @@ export class Ingresses extends React.Component<Props> {
renderTableHeader={[ renderTableHeader={[
{ title: <Trans>Name</Trans>, className: "name", sortBy: sortBy.name }, { title: <Trans>Name</Trans>, className: "name", sortBy: sortBy.name },
{ title: <Trans>Namespace</Trans>, className: "namespace", sortBy: sortBy.namespace }, { title: <Trans>Namespace</Trans>, className: "namespace", sortBy: sortBy.namespace },
{ title: <Trans>LoadBalancers</Trans>, className: "loadbalancers" },
{ title: <Trans>Rules</Trans>, className: "rules" }, { title: <Trans>Rules</Trans>, className: "rules" },
{ title: <Trans>Age</Trans>, className: "age", sortBy: sortBy.age }, { title: <Trans>Age</Trans>, className: "age", sortBy: sortBy.age },
]} ]}
renderTableContents={(ingress: Ingress) => [ renderTableContents={(ingress: Ingress) => [
ingress.getName(), ingress.getName(),
ingress.getNs(), ingress.getNs(),
ingress.getLoadBalancers().map(lb => <p key={lb}>{lb}</p>),
ingress.getRoutes().map(route => <p key={route}>{route}</p>), ingress.getRoutes().map(route => <p key={route}>{route}</p>),
ingress.getAge(), ingress.getAge(),
]} ]}