Use spec.serviceName as an externalIP if nothing else (#4188)

* Use spec.serviceName as an externalIP if nothing else

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move using externalName to display logic

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2021-11-01 07:23:29 -04:00
1 parent c7e38052fc
commit 4d63ef2878
3 files changed
+34 -17

No files matched your search

@@ -67,6 +67,11 @@ export class ServiceDetails extends React.Component<Props> {
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 (
<div className="ServicesDetails">
@@ -106,9 +111,9 @@ export class ServiceDetails extends React.Component<Props> {
{service.getIpFamilyPolicy()}
</DrawerItem>
{service.getExternalIps().length > 0 && (
{externalIps.length > 0 && (
<DrawerItem name="External IPs">
{service.getExternalIps().map(ip => <div key={ip}>{ip}</div>)}
{externalIps.map(ip => <div key={ip}>{ip}</div>)}
</DrawerItem>
)}
@@ -81,18 +81,26 @@ export class Services extends React.Component<Props> {
{ title: "Age", className: "age", sortBy: columnId.age, id: columnId.age },
{ title: "Status", className: "status", sortBy: columnId.status, id: columnId.status },
]}
renderTableContents={service => [
service.getName(),
<KubeObjectStatusIcon key="icon" object={service} />,
service.getNs(),
service.getType(),
service.getClusterIp(),
service.getPorts().join(", "),
service.getExternalIps().join(", ") || "-",
service.getSelector().map(label => <Badge key={label} label={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(),
<KubeObjectStatusIcon key="icon" object={service} />,
service.getNs(),
service.getType(),
service.getClusterIp(),
service.getPorts().join(", "),
externalIps.join(", ") || "-",
service.getSelector().map(label => <Badge key={label} label={label} />),
service.getAge(),
{ title: service.getStatus(), className: service.getStatus().toLowerCase() },
];
}}
/>
);
}