trace_request_path
Trace a URL end to end and name the FIRST broken hop with evidence. Call this FIRST for any 'URL / preview / demo / ingress / hostname does not work', 502/503/504, timeout, 404 from the ingress controller, or certificate error symptom: it walks DNS (resolved addresses or NXDOMAIN, and for a hostname under an Ankra-managed zone which cluster owns it, whether an external-dns publisher is installed, whether it is running and whether its webhook provider has endpoints), TCP connect, the TLS handshake and certificate (issuer, SANs, expiry, verification error), the HTTP answer (status, server, redirect, body snippet), then inside the cluster the Ingress or IngressRoute whose host rule matches (namespace, backend Service and port, TLS secret, load balancer address versus DNS), the cert-manager Certificate and its ACME challenge, the backend Service (type, selector, ports), its ready and not-ready endpoints, and the Pods behind it (phase, ready, restarts, waiting or terminated reason, the last log lines of the first not-ready pod). Every hop records status ok/failed/unknown/skipped, its source (live, or the resource index with its staleness) and elapsed_ms. The verdict names the first failed hop, its cause in one sentence, and the later hop that explains it when there is one - so answer from the verdict without further reads; add at most one or two reads only when a hop is unknown. An unknown hop is a read that did not happen, never a finding. The cluster is derived from the hostname's managed zone, else from an Ingress host match across your readable clusters, else the session's cluster; pass cluster_name or cluster_id to pin it and namespace to narrow the Ingress search. Read-only; the probe dials from the Ankra platform, so private addresses are refused. Whole trace under 15 seconds.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL the user reports as not working: https://host/path, http://host:port/, or a bare hostname (https is assumed). | |
| namespace | No | Namespace to search for the Ingress rule in. Optional; narrows a large cluster. | |
| cluster_id | No | UUID of the cluster to read from; an alternative to cluster_name. | |
| cluster_name | No | Exact name of the cluster to read the Ingress, Service, endpoints and Pods from. Optional: derived from the hostname's managed zone or an Ingress host match when omitted. |