import "./service-details.scss" import React from "react"; import { observer } from "mobx-react"; import { t, Trans } from "@lingui/macro"; import { DrawerItem, DrawerTitle } from "../drawer"; import { Badge } from "../badge"; import { KubeEventDetails } from "../+events/kube-event-details"; import { KubeObjectDetailsProps } from "../kube-object"; import { Service, serviceApi } from "../../api/endpoints"; import { _i18n } from "../../i18n"; import { apiManager } from "../../api/api-manager"; import { KubeObjectMeta } from "../kube-object/kube-object-meta"; interface Props extends KubeObjectDetailsProps { } @observer export class ServiceDetails extends React.Component { render() { const { object: service } = this.props; if (!service) return; const { spec } = service; return (
Selector} labelsOnly> {service.getSelector().map(selector => )} Type}> {spec.type} Session Affinity}> {spec.sessionAffinity} Cluster IP}> {spec.clusterIP} {service.getExternalIps().length > 0 && ( External IPs}> {service.getExternalIps().map(ip =>
{ip}
)}
)} Ports} labelsOnly> {service.getPorts().map(port => )} {spec.type === "LoadBalancer" && spec.loadBalancerIP && ( Load Balancer IP}> {spec.loadBalancerIP} )}
); } } apiManager.registerViews(serviceApi, { Details: ServiceDetails, })