-
Notifications
You must be signed in to change notification settings - Fork 1
App detail Services tab does not show the external LoadBalancer IP #38
Copy link
Copy link
Open
Labels
area/consoleIssues or PRs related to apps/console — routes, detail pages, marketplace, command paletteIssues or PRs related to apps/console — routes, detail pages, marketplace, command palettekind/bugCategorizes issue or PR as related to a bugCategorizes issue or PR as related to a bugpriority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next releaseMust be staffed and worked on either currently, or very soon, ideally in time for the next release
Metadata
Metadata
Assignees
Labels
area/consoleIssues or PRs related to apps/console — routes, detail pages, marketplace, command paletteIssues or PRs related to apps/console — routes, detail pages, marketplace, command palettekind/bugCategorizes issue or PR as related to a bugCategorizes issue or PR as related to a bugpriority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next releaseMust be staffed and worked on either currently, or very soon, ideally in time for the next release
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
For an application exposed with
external: true(which creates atype: LoadBalancerService), the app detail → Services tab shows the service Type and Cluster IP but not the external IP assigned by MetalLB. There is no way to learn the connection address from the per-app view. The pre-1.4.0 dashboard showed this, so it reads as a regression — reported as a blocker in cozystack/cozystack#2789.Mechanism
apps/console/src/routes/detail/ServicesTab.tsxlists Services withuseK8sList<K8sResource<ServiceSpec>>, whereServiceSpec = { type, clusterIP, ports }— nostatus. The rendered columns are Name / Type / Cluster IP / Ports / Age. The tab never readsstatus.loadBalancer.ingress[].ip, so aLoadBalancerservice shows only its cluster-internal IP.The data is already reachable in the same codebase:
apps/console/src/routes/ExternalIpsPage.tsx(Administration → External IPs) queriesK8sResource<ServiceSpec, ServiceStatus>and rendersstatus.loadBalancer.ingress[0].ip ?? hostname ?? "Pending". So this is a wiring gap in the per-app tab, not missing data.Suggested fix
Add a
ServiceStatustype to the ServicesTab query and surface an "External IP" column (ip / hostname / Pending) forLoadBalancerservices, mirroring what ExternalIpsPage already does.Workaround
Administration → External IPs lists the external IP for the current tenant.
Reference
User report: cozystack/cozystack#2789. The FQDN/connection-string half of that report is tracked separately as it needs design.
Sibling: #39 (FQDN / connection string).