Skip to main content

gateway_api_http_route_name

Function gateway_api_http_route_name 

Source
pub fn gateway_api_http_route_name(aplicacao: &str, para: &str) -> String
Expand description

Canonical per-:entrada HTTPRoute metadata.name K8s-name-shaped scalar every caixa-mesh gateway_routes emitter mounts its per-:entrada HTTPRoute under. Composes the parent Aplicacao’s :nome and the :entrada :para destination Servico’s :nome on a canonical - separator (format!("{aplicacao}-{para}")), so the per-(:aplicacao, :entrada.para) HTTPRoute identity axis lives at one composer instead of a verbatim inline format!("{}-{}", caixa.nome, entrada.para) at the [caixa_mesh::gateway_routes] kube_resource_skeleton name: argument.

Peer of cilium_network_policy_name on the sibling per-Aplicacao per-CR K8s-name-shaped-identity-scalar axis: the CNP name composer carries the per-(:de, :para) L4/L7 policy CR name and this composer carries the per-:entrada L7 route CR name; both share the same “aplicacao-prefixed sub-identity” discipline (a per-CR identity scalar keyed off the parent Aplicacao’s :nome joined to the per-CR sub-axis by a canonical - separator) so a future substrate-side per-Aplicacao Gateway API axis extension (GRPCRoute on grpc-shaped :contratos payloads once the sibling [WitTarget] variant lands, TCPRoute on the sibling l4-only tcp-shaped payload axis, per-:entrada HTTPRouteFilter / BackendTLSPolicy overlays the Gateway API v1.x per-route policy extension surface acknowledges) reaches the shared “aplicacao-prefix

  • sub-axis + canonical - separator“ naming discipline through this composer’s peer-shape by construction. Until this lift landed the HTTPRoute metadata.name axis sat as a verbatim inline format!("{}-{}", caixa.nome, entrada.para) at the [caixa_mesh::gateway_routes] emitter (with an in-file test-side probe pinning the expected checkout-cart shape by verbatim literal), and any future name-encoding rebrand on this axis (<aplicacao>-<para><aplicacao>-httproute-<para> for operator-side per-CR-kind disambiguation once the sibling GRPCRoute / TCPRoute lands and their names would otherwise collide, <aplicacao>-<para><aplicacao>.<para> on a DNS-1123-subdomain- safe axis migration, a per-namespace scoping prefix for multi-tenant Aplicacao hosting) would have had to be threaded through both sites in lockstep or the HTTPRoute metadata.name silently split from the operator-side grep-by-name / kubectl get httproute -n tatara-system <aplicacao>-<para> lookup encoding at apply time far from the source caixa.lisp.

The aplicacao prefix scopes the emitted HTTPRoute to its owning Aplicacao (so two Aplicacaos hosting a same-named :entrada :para destination — checkout-cart vs orders-cart — land at distinct HTTPRoute metadata.names with no kubectl apply collision at the shared namespace, mirroring the peer CNP metadata.name collision posture the sibling cilium_network_policy_name composer’s docstring names).