diff --git a/src/common/k8s-api/endpoints/service.api.ts b/src/common/k8s-api/endpoints/service.api.ts index 45077a386f..f78d8e6be8 100644 --- a/src/common/k8s-api/endpoints/service.api.ts +++ b/src/common/k8s-api/endpoints/service.api.ts @@ -108,10 +108,6 @@ export class Service extends KubeObject { return this.spec.externalIPs; } - if (this.spec.externalName) { - return [this.spec.externalName]; - } - return []; } diff --git a/src/renderer/components/+network-services/service-details.tsx b/src/renderer/components/+network-services/service-details.tsx index 5948765089..d247e7908c 100644 --- a/src/renderer/components/+network-services/service-details.tsx +++ b/src/renderer/components/+network-services/service-details.tsx @@ -67,6 +67,11 @@ export class ServiceDetails extends React.Component { const { spec } = service; const endpoint = endpointStore.getByName(service.getName(), service.getNs()); + const externalIps = service.getExternalIps(); + + if (externalIps.length === 0 && spec?.externalName) { + externalIps.push(spec.externalName); + } return (
@@ -106,9 +111,9 @@ export class ServiceDetails extends React.Component { {service.getIpFamilyPolicy()} - {service.getExternalIps().length > 0 && ( + {externalIps.length > 0 && ( - {service.getExternalIps().map(ip =>
{ip}
)} + {externalIps.map(ip =>
{ip}
)}
)} diff --git a/src/renderer/components/+network-services/services.tsx b/src/renderer/components/+network-services/services.tsx index fe3b2b40ab..e29cc737cd 100644 --- a/src/renderer/components/+network-services/services.tsx +++ b/src/renderer/components/+network-services/services.tsx @@ -81,18 +81,26 @@ export class Services extends React.Component { { title: "Age", className: "age", sortBy: columnId.age, id: columnId.age }, { title: "Status", className: "status", sortBy: columnId.status, id: columnId.status }, ]} - renderTableContents={service => [ - service.getName(), - , - service.getNs(), - service.getType(), - service.getClusterIp(), - service.getPorts().join(", "), - service.getExternalIps().join(", ") || "-", - service.getSelector().map(label => ), - service.getAge(), - { title: service.getStatus(), className: service.getStatus().toLowerCase() }, - ]} + renderTableContents={service => { + const externalIps = service.getExternalIps(); + + if (externalIps.length === 0 && service.spec?.externalName) { + externalIps.push(service.spec.externalName); + } + + return [ + service.getName(), + , + service.getNs(), + service.getType(), + service.getClusterIp(), + service.getPorts().join(", "), + externalIps.join(", ") || "-", + service.getSelector().map(label => ), + service.getAge(), + { title: service.getStatus(), className: service.getStatus().toLowerCase() }, + ]; + }} /> ); }