Skip to content

App detail Services tab: show a connection FQDN with configurable domain suffix #39

@lexfrei

Description

Summary

Before 1.4.0 the dashboard could show an FQDN to connect to a provisioned service, with a configurable domain suffix (via the old kube-service-details factory) — handy when CoreDNS was tuned to expose external IPs under a separate zone. The new cozystack-ui has no equivalent: no hostname or connection string is shown for LoadBalancer services anywhere. Requested as part of cozystack/cozystack#2789.

Current state

apps/console/src/routes/detail/ServicesTab.tsx shows only cluster-internal fields. A repo search for fqdn / svc.cluster.local / domain-suffix handling finds nothing — there is no FQDN/endpoint mechanism in the new UI. IngressesTab.tsx renders spec.rules[].host for Ingress objects, but that does not cover externally-exposed LoadBalancer services.

Design questions

  • Where does the domain suffix come from — a platform-level setting, per-tenant config, or user-supplied? The old behaviour was operator-configurable, so the new one needs a source of truth before implementation.
  • Should the FQDN be derived from the external IP's reverse zone, from a per-service annotation, or composed from a configured suffix + service name?

This is distinct from surfacing the raw LoadBalancer IP (sibling issue), which is a straight wiring fix; the FQDN needs the domain-source decision first.

Reference

User report: cozystack/cozystack#2789.

Sibling: #38 (raw LoadBalancer IP wiring).

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/consoleIssues or PRs related to apps/console — routes, detail pages, marketplace, command palettekind/featureCategorizes issue or PR as related to a new featurepriority/backlogGeneral backlog priority. Lower than priority/important-longterm

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions