From 59a71a78cf645a4c82b5689fa67b2054280374ba Mon Sep 17 00:00:00 2001 From: Panu Horsmalahti Date: Fri, 20 Nov 2020 10:27:32 +0200 Subject: [PATCH] Add helper method to Ingress Signed-off-by: Panu Horsmalahti --- src/renderer/api/endpoints/ingress.api.ts | 16 +++++++++++++++- .../+network-ingresses/ingress-details.tsx | 5 ++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/renderer/api/endpoints/ingress.api.ts b/src/renderer/api/endpoints/ingress.api.ts index 555c0687d5..a476b29efa 100644 --- a/src/renderer/api/endpoints/ingress.api.ts +++ b/src/renderer/api/endpoints/ingress.api.ts @@ -119,6 +119,17 @@ export class Ingress extends KubeObject { return routes; } + getServiceNamePort() { + const { spec } = this; + const serviceName = spec?.defaultBackend?.service.name ?? spec?.backend?.serviceName; + const servicePort = spec?.defaultBackend?.service.port.number ?? spec?.defaultBackend?.service.port.name ?? spec?.backend?.servicePort; + + return { + serviceName, + servicePort + }; + } + getHosts() { const { spec: { rules } } = this; if (!rules) return []; @@ -130,7 +141,10 @@ export class Ingress extends KubeObject { const { spec: { tls, rules, backend, defaultBackend } } = this; const httpPort = 80; const tlsPort = 443; - const servicePort = defaultBackend?.service.port.number ?? defaultBackend?.service.port.name ?? backend?.servicePort; + + // Note: not using the port name (string) + const servicePort = defaultBackend?.service.port.number ?? backend?.servicePort; + if (rules && rules.length > 0) { if (rules.some(rule => rule.hasOwnProperty("http"))) { ports.push(httpPort); diff --git a/src/renderer/components/+network-ingresses/ingress-details.tsx b/src/renderer/components/+network-ingresses/ingress-details.tsx index 7edde634ba..e2d80da651 100644 --- a/src/renderer/components/+network-ingresses/ingress-details.tsx +++ b/src/renderer/components/+network-ingresses/ingress-details.tsx @@ -104,9 +104,8 @@ export class IngressDetails extends React.Component { Duration, ]; - const serviceName = spec?.defaultBackend?.service.name ?? spec?.backend?.serviceName; - const servicePort = spec?.defaultBackend?.service.port.number ?? spec?.defaultBackend?.service.port.name ?? spec?.backend?.servicePort; - + const { serviceName, servicePort } = ingress.getServiceNamePort(); + return (